SRA problem with uninitialzed fields

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Fri Sep 24 16:55:00 GMT 2004


    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!



More information about the Gcc mailing list