From f164e49a3fff54c54055b3be88db64f2ee411a26 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Fri, 13 Apr 2012 14:53:16 +0000 Subject: [PATCH] pr52734.c: New test. 2012-04-13 Tom de Vries * gcc.dg/pr52734.c: New test. From-SVN: r186419 --- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/pr52734.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/pr52734.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f932592..b39e623 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 0000000..a689495 --- /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; +} + -- 2.7.4