From c68bd46083d86464113b032f900387e92ddb4955 Mon Sep 17 00:00:00 2001 From: vries Date: Fri, 13 Apr 2012 16:45:16 +0000 Subject: [PATCH] 2012-04-13 Tom de Vries Backport from mainline r186419. 2012-04-13 Tom de Vries * gcc.dg/pr52734.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@186425 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/gcc.dg/pr52734.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/pr52734.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0559adc69c2..21a6c95adcf 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2012-04-13 Tom de Vries + + Backport from mainline r186419. + + 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; +} + -- 2.11.0