This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: SRA problem with uninitialzed fields
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: pinskia at physics dot uc dot edu
- Cc: dewar at gnat dot com, gcc at gcc dot gnu dot org, rth at redhat dot com
- Date: Fri, 24 Sep 04 10:48:51 EDT
- Subject: Re: SRA problem with uninitialzed fields
This looks like a bug in the expanders than the SRA as the <unnamed
type> is the right type in the sense it say it is only a certain
number of bits in this case 2.
Indeed I stopped when I looked at the .vars since I "knew" we didn't do
that sort of masking. But now I see that we actually do that masking
operation whenever TYPE_PRECISION is less than the size of the mode, if it's
required by the language (the default is false, but set true for C/C++/Objc).
I'd guess that logic was added for precisely this case and the generated
code omits the comparison since it's always known to be true.
I clearly have to turn that flag on for Ada and then revisit some of the
discussions I had this morning in this light.
Thanks!