[Bug middle-end/17396] New: ICE in tree-int-cst at -O0

steven at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Sep 10 13:55:00 GMT 2004


An ICE from Ruby, on at least ia64 and amd64, with and without optimization:  
  
struct sigcontext  
{  
  unsigned long int sc_gr;  
};  
  
#define N (((char *) &((struct sigcontext *) 0)->sc_gr) - (char *) 0)  
  
struct tag  
{  
  unsigned long _pad[N];  
};  
  
static struct tag *prot_tag;  
  
void  
error_print (void)  
{  
  struct tag _tag;  
  prot_tag = &_tag;  
}  
  
The interesting thing is that this ICEs in tree_low_cst, which  
is supposed to extract an integer from an INTEGER_CST tree, but  
the tree that we give it is not an INTEGER_CST at all:  
  
(gdb) p debug_generic_expr (t)  
(long unsigned int<D4>) &0B->sc_gr<D1465> * 8  
$3 = void

-- 
           Summary: ICE in tree-int-cst at -O0
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: steven at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


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



More information about the Gcc-bugs mailing list