From: Tom de Vries Date: Fri, 13 Apr 2012 14:53:16 +0000 (+0000) Subject: pr52734.c: New test. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f164e49a3fff54c54055b3be88db64f2ee411a26;p=gcc.git pr52734.c: New test. 2012-04-13 Tom de Vries * gcc.dg/pr52734.c: New test. From-SVN: r186419 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f93259258af..b39e623f89f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2012-04-13 Tom de Vries + + * gcc.dg/pr52734.c: New test. + 2012-04-13 Richard Guenther PR tree-optimization/52969 diff --git a/gcc/testsuite/gcc.dg/pr52734.c b/gcc/testsuite/gcc.dg/pr52734.c new file mode 100644 index 00000000000..a6894954e71 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr52734.c @@ -0,0 +1,35 @@ +/* { dg-do run } */ +/* { dg-options "-O2" } */ + +int bbb = 0; + +int __attribute__((noinline,noclone)) aaa(void) +{ + ++bbb; + return 0; +} + +int __attribute__((noinline,noclone)) ccc(void) +{ + int ddd; + /* bbb == 0 */ + if (aaa()) + return bbb; + + /* bbb == 1 */ + ddd = bbb; + /* bbb == ddd == 1 */ + if (aaa ()) + return 0; + /* bbb == 2, ddd == 1 */ + + return ddd; +} + +int main(void) +{ + if (ccc() != 1) + __builtin_abort(); + return 0; +} +