summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr28121.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2006-06-22 19:54:45 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2006-06-22 17:54:45 +0000
commit0ef902968099b4ddb1c272eec3c4db8870f25c0d (patch)
treee2a239d938daea1acc289a43961031d9d0933e6b /gcc/testsuite/gcc.dg/pr28121.c
parenta8fe5a30f21979b1c444c31668bf3aef157aefa3 (diff)
downloadgcc-0ef902968099b4ddb1c272eec3c4db8870f25c0d.tar.gz
re PR rtl-optimization/28121 (verify_flow_info failed (wrong amount of branch edges after unconditional jump 2))
PR rtl-optimization/28121 * cfgexpand.c (tree_expand_cfg): Clean EDGE_EXECUTABLE flag from the entry edge. * gcc.dg/pr28121.c: New test. From-SVN: r114898
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr28121.c')
-rw-r--r--gcc/testsuite/gcc.dg/pr28121.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr28121.c b/gcc/testsuite/gcc.dg/pr28121.c
new file mode 100644
index 00000000000..5cbf8f89e94
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr28121.c
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+short
+GetCmd ()
+{
+ int c, c1;
+ for (c = 255; c == 255;)
+ {
+ c = GetMouseButton ();
+ if (c >= 0)
+ {
+ c = ParsePos (c, -1, 0);
+ c1 = ParsePos (c1, c, 1);
+ if (c == c1 && (c >= 0 || c == -10))
+ {
+ return c;
+ }
+ if (c >= 0 && c1 == -12)
+ {
+ return ((((((10) + 1) + 1)) + 1) << 7) | c;
+ }
+ c = 255;
+ }
+ }
+}
+