summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/pr42716.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr42716.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr42716.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr42716.c b/gcc/testsuite/gcc.c-torture/compile/pr42716.c
new file mode 100644
index 000000000..e52df0f4a
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr42716.c
@@ -0,0 +1,18 @@
+static short foo (long long si1, short si2)
+{
+ return si1 > 0 && si2 > 0 || si1 < 0
+ && si2 < 0 && si1 < 1 - si2 ? : si1 + si2;
+}
+
+int g_13;
+unsigned g_17;
+
+int safe (int, int);
+
+void bar (short p_51, short * p_52)
+{
+ int *const l_55 = &g_13;
+ if (safe (*p_52, g_13 != foo (*p_52 & *l_55 == g_13 && g_17 >= 1, 0)))
+ {
+ }
+}