From: Hans-Peter Nilsson Date: Thu, 20 May 2010 06:52:25 +0000 (+0000) Subject: re PR target/44202 (Missing compare after add) X-Git-Tag: releases/gcc-4.3.5~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1409414283a3234bb4f70f6c7f137f66d12869d4;p=thirdparty%2Fgcc.git re PR target/44202 (Missing compare after add) PR target/44202 * gcc.c-torture/execute/pr44202-1.c: New test. From-SVN: r159617 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d5955128b94a..b7488c6d7c98 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-05-20 Hans-Peter Nilsson + + PR target/44202 + * gcc.c-torture/execute/pr44202-1.c: New test. + 2010-05-19 Jason Merrill PR c++/44193 diff --git a/gcc/testsuite/gcc.c-torture/execute/pr44202-1.c b/gcc/testsuite/gcc.c-torture/execute/pr44202-1.c new file mode 100644 index 000000000000..37e84f2fc377 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr44202-1.c @@ -0,0 +1,30 @@ +extern __attribute__ ((__noreturn__)) void exit(int); +extern __attribute__ ((__noreturn__)) void abort(void); +__attribute__ ((__noinline__)) +int +add512(int a, int *b) +{ + int c = a + 512; + if (c != 0) + *b = a; + return c; +} + +__attribute__ ((__noinline__)) +int +add513(int a, int *b) +{ + int c = a + 513; + if (c == 0) + *b = a; + return c; +} + +int main(void) +{ + int b0 = -1; + int b1 = -1; + if (add512(-512, &b0) != 0 || b0 != -1 || add513(-513, &b1) != 0 || b1 != -513) + abort (); + exit (0); +}