diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/gcc.dg/pr36902.c')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/gcc.dg/pr36902.c | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/gcc.dg/pr36902.c b/gcc-4.8.1/gcc/testsuite/gcc.dg/pr36902.c deleted file mode 100644 index a065124ae..000000000 --- a/gcc-4.8.1/gcc/testsuite/gcc.dg/pr36902.c +++ /dev/null @@ -1,61 +0,0 @@ -/* PR middle-end/36902 Array bound warning with dead code after optimization */ -/* { dg-do compile } */ -/* { dg-options "-O2 -Warray-bounds -Wall -Wextra" } */ -typedef unsigned char __u8; -typedef unsigned short __u16; - -static inline unsigned char * -foo(unsigned char * to, const unsigned char * from, int n) -{ - switch ( n ) - { - case 3: - *to = *from; - break; - case 5: - to[4] = from [4]; - break; - } - return to; -} - -struct { - int size_of_select; - unsigned char pcr_select[4]; -} sel; - -int bar(void) -{ - static unsigned char buf[64]; - - sel.size_of_select = 3; - foo(buf, sel.pcr_select, sel.size_of_select); - - return 1; -} - - -static inline unsigned char * -foo2(unsigned char * to, const unsigned char * from, int n) -{ - switch ( n ) - { - case 3: - *to = *from; - break; - case 5: - to[4] = from [4]; /* { dg-warning "array subscript is above array bounds" "" { xfail *-*-* } } */ - break; - } - return to; -} - -int baz(void) -{ - static unsigned char buf[64]; - - sel.size_of_select = 5; - foo2(buf, sel.pcr_select, sel.size_of_select); - - return 1; -} |