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]

[Bug middle-end/17036] [3.5 Regression] ICE: (A >> N) & 1 ? (1 << N) : 0 where A of type unsigned int


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-08-15 17:05 -------
Confirmed
: Search converges between 2004-06-20-trunk (#469) and 2004-06-22-trunk (#470).
Reduced to:
int main( int argc, char **arg )
{
 int R , N = 4;
 unsigned int A = 2;
 signed int B = 2;
 ((B >> N) & 1) ? 1 : 0;
 ((A >> N) & 1) ? 1 : 0;
 return 0;
}


Looks like someone forgets to check to make sure that the N is really a constant.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bonzini at gnu dot org
           Severity|normal                      |critical
             Status|UNCONFIRMED                 |NEW
          Component|c                           |middle-end
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |3.5.0
      Known to work|                            |3.4.0
   Last reconfirmed|0000-00-00 00:00:00         |2004-08-15 17:05:37
               date|                            |
            Summary|ICE: (A >> N) & 1 ? (1 << N)|[3.5 Regression] ICE: (A >>
                   |: 0 where A of type unsigned|N) & 1 ? (1 << N) : 0 where
                   |int                         |A of type unsigned int
   Target Milestone|---                         |3.5.0


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


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