From 33c7df5854ecb31e2d645ab672ad3987b591ebfd Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 24 Feb 2022 22:03:38 -0300 Subject: [PATCH] Add testcase from PR103845 This problem was already fixed as part of PR104263: the abnormal edge that remained from before inlining didn't make sense after inlining. So this patch adds only the testcase. for gcc/testsuite/ChangeLog PR tree-optimization/103845 PR tree-optimization/104263 * gcc.dg/pr103845.c: New. --- gcc/testsuite/gcc.dg/pr103845.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/pr103845.c diff --git a/gcc/testsuite/gcc.dg/pr103845.c b/gcc/testsuite/gcc.dg/pr103845.c new file mode 100644 index 000000000000..45ab518d07c9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr103845.c @@ -0,0 +1,29 @@ +/* { dg-do compile } */ +/* { dg-options "-O1 -fharden-compares -fno-ipa-pure-const" } */ + +int +baz (void); + +__attribute__ ((returns_twice)) void +bar (void) +{ +} + +int +quux (int y, int z) +{ + return (y || z >= 0) ? y : z; +} + +int +foo (int x) +{ + int a = 0, b = x == a; + + bar (); + + if (!!baz () < quux (b, a)) + ++x; + + return x; +} -- 2.47.3