diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/gcc.dg/pr20126.c')
-rw-r--r-- | gcc-4.8.1/gcc/testsuite/gcc.dg/pr20126.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/gcc.dg/pr20126.c b/gcc-4.8.1/gcc/testsuite/gcc.dg/pr20126.c deleted file mode 100644 index 257832ab1..000000000 --- a/gcc-4.8.1/gcc/testsuite/gcc.dg/pr20126.c +++ /dev/null @@ -1,50 +0,0 @@ -/* dg-do run */ -/* dg-options "-O2" */ - -/* PR target/20126 was not really target-specific, but rather a loop's - failure to take into account the possibility that a DEST_ADDR giv - replacement might fail, such as when you attempt to replace a REG - with a PLUS in one of the register_operands of cmpstrqi_rex_1. */ - -extern void abort (void); - -typedef struct { int a; char b[3]; } S; -S c = { 2, "aa" }, d = { 2, "aa" }; - -void * -bar (const void *x, int y, int z) -{ - return (void *) 0; -} - -int -foo (S *x, S *y) -{ - const char *e, *f, *g; - int h; - - h = y->a; - f = y->b; - e = x->b; - - if (h == 1) - return bar (e, *f, x->a) != 0; - - g = e + x->a - h; - while (e <= g) - { - const char *t = e + 1; - if (__builtin_memcmp (e, f, h) == 0) - return 1; - e = t; - } - return 0; -} - -int -main (void) -{ - if (foo (&c, &d) != 1) - abort (); - return 0; -} |