URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [20020411-1.c] - Rev 298
Compare with Previous | Blame | View Log
/* PR c/6223 This testcase ICEd in internal check because a constant was not truncated for its mode. */ /* { dg-do compile } */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */ #if __INT_MAX__ > 32767 typedef struct { unsigned a : 16; unsigned b : 16; unsigned c : 5; unsigned d : 2; unsigned e : 1; unsigned f : 4; unsigned g : 1; unsigned h : 1; unsigned i : 1; unsigned j : 1; } T; inline void foo (T *x, unsigned int y) { if ((x->j = (y >= 0x100000))) y >>= 12; x->a = y; x->f = (y >> 16); } void __attribute__((noinline)) bar (T *x) { } void baz (unsigned int x, unsigned char y) { T t; foo (&t, x - 1); t.e = 1; t.c = y; t.g = 0; t.h = 0; t.i = (y & 0x40) != 0; if (x == 1) foo (&t, 1); bar (&t); } #endif /* __INT_MAX__ */