aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-02-21 10:32:10 +0100
committerRichard Biener <rguenther@suse.de>2023-02-21 10:33:16 +0100
commitecc863e85efe259c799515de0c38c2297b0e3bd7 (patch)
treec0e5699e83eef259ad9fbf6ca4d2889adf419505 /gcc
parente79b9db15e410c4652438ffbbc44b6aa04e1ba61 (diff)
downloadgcc-ecc863e85efe259c799515de0c38c2297b0e3bd7.zip
gcc-ecc863e85efe259c799515de0c38c2297b0e3bd7.tar.gz
gcc-ecc863e85efe259c799515de0c38c2297b0e3bd7.tar.bz2
tree-optimization/108868 - new testcase
New testcase for the fixed bug. PR tree-optimization/108868 * gcc.dg/pr108868.c: New testcase.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.dg/pr108868.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr108868.c b/gcc/testsuite/gcc.dg/pr108868.c
new file mode 100644
index 0000000..b6f1a79
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr108868.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-optimized" } */
+
+int x;
+int vfork (void) __attribute__((__leaf__, __returns_twice__));
+int fork (void);
+void bar (int, int, int *);
+
+void
+foo (void)
+{
+ int b = 0;
+ int r = x ? vfork () : fork ();
+ bar (r, x, &b);
+}
+
+/* { dg-final { scan-tree-dump "ABNORMAL_DISPATCHER" "optimized" } } */