I know this is invalid, but: 
- it produces a warning, not an error; 
- reliable compilers never crash, do they? 
 
Testcase: 
-------------------------- 
void f(void) 
{ 
        register int x asm("eax"); 
        g(&x); 
} 
-------------------------- 
objdir/gcc/xgcc -Bobjdir/gcc -c f.c 
f.c: In function ‘f’: 
f.c:5: warning: address of register variable ‘x’ requested 
f.c:5: warning: address of register variable ‘x’ requested 
f.c:5: internal compiler error: in expand_expr_addr_expr_1, at expr.c:5975 
Please submit a full bug report, 
with preprocessed source if appropriate. 
See <URL:http://gcc.gnu.org/bugs.html> for instructions. 
 
Sources checked out as of today morning (about 6 hours ago).

-- 
           Summary: ICE on taking register variable address
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: alex dot neyman at auriga dot ru
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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

Reply via email to