Avoid char[] array in tree_def

Jan Hubicka hubicka@ucw.cz
Thu Oct 29 16:59:26 GMT 2020


> On Thu, Oct 29, 2020 at 05:00:40PM +0100, Jan Hubicka wrote:
> > > 
> > > That's ugly and will for sure defeat warning / access code
> > > when we access this as char[], no?  I mean, we could
> > > as well use 'int str[1];' here?
> > 
> > Well, we always get char pointer via macro that is IMO OK, but I am also
> > not very much in love with this.
> 
> Do we treat signed char [...]; as typeless storage too, or just
> what the C++ standard requires (i.e. char, unsigned char and std::byte
> where the last one is enum type with unsigned char underlying type)?
struct a {signed char b[10];int d;} c;
void
test ()
{
  c.d=1;
}

still leads to alias set 0 access, so perhaps this can be improved.
Where the standard specifies this? (also coincidentally I have no idea
where C++ sets typeless storage to 1 :)

Honza
> 
> 	Jakub
> 


More information about the Gcc-patches mailing list