[Bug middle-end/33887] [4.2/4.3 Regression] Reference to bitfield gets wrong value when optimizing

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Dec 8 20:07:00 GMT 2007



------- Comment #5 from pinskia at gcc dot gnu dot org  2007-12-08 20:07 -------
  <unnamed-unsigned:24> D.2020;

<bb 2>:
  sv.f1 = 0;
  sv.f2 = 16777215;
  fn (16777215, 16777215);
  D.2020 = sv.f2 + 1;
  sv.f2 = D.2020;
  fn ((int) D.2020, 0);


So this is a middle-end issue of not doing an AND and then a sign extend.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
          Component|c++                         |middle-end
     Ever Confirmed|0                           |1
           Keywords|                            |wrong-code
   Last reconfirmed|0000-00-00 00:00:00         |2007-12-08 20:07:32
               date|                            |
            Summary|Reference to bitfield gets  |[4.2/4.3 Regression]
                   |wrong value when optimizing |Reference to bitfield gets
                   |                            |wrong value when optimizing
   Target Milestone|---                         |4.2.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33887



More information about the Gcc-bugs mailing list