This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: optimization/7799: [3.2/3.3 regression] Loop bug with optimization flag -Os in gcc


> 6.2.5.19:
>         ... An array type describes a contiguously allocated nonempty set of
>         objects with a particular member object type, called the element
>         type. ...
>
> So an array can not wrap around address 0.

It can't wrap around there, but if pointers are signed, it might straddle 0
nonetheless.  This requires, of course, for an aligned start address
that the address 0 is not the same as NULL, which AFAICR is something gcc
doesn't currently support.

OTOH, if the start address is not aligned to a multiple of the types size,
you can have the array straddle address 0 without it ever being a valid
address.  Well, that is if character pointers have a different
representation ;-)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]