https://gcc.gnu.org/g:ea9ca5b61117e57899e848def9124ea9f40aca49

commit r17-3262-gea9ca5b61117e57899e848def9124ea9f40aca49
Author: Andrea Pinski <[email protected]>
Date:   Thu Aug 13 09:53:50 2026 -0700

    testsuite: Add a returns_twice testcase for PR126815 [PR126815]
    
    This adds a returns_twice testcase that shows the ICE (already fixed)
    and show that adding a stmt before the call does not work either.
    
    Pushed as obvious after a quick test on x86_64-linux-gnu to make sure it 
passes.
    
            PR tree-optimization/126815
    
    gcc/testsuite/ChangeLog:
    
            * gcc.dg/torture/returns-twice-1.c: New test.
    
    Signed-off-by: Andrea Pinski <[email protected]>

Diff:
---
 gcc/testsuite/gcc.dg/torture/returns-twice-1.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gcc/testsuite/gcc.dg/torture/returns-twice-1.c 
b/gcc/testsuite/gcc.dg/torture/returns-twice-1.c
new file mode 100644
index 000000000000..fbd9faa0bce6
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/returns-twice-1.c
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+/* PR tree-optimization/126815 */
+int f (int) __attribute__((returns_twice));
+void sink1 (int) __attribute__((leaf));
+void sink (int);
+
+void h (int a, int b, int c)
+{
+  int t;
+  if (c){
+    sink (1);
+    t = f (a);
+  }
+  else
+    t = b;
+  if (t == 42)
+    __builtin_unreachable ();
+  sink1 (a);
+}

Reply via email to