summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn/skip-2.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/warn/skip-2.C')
-rw-r--r--gcc/testsuite/g++.dg/warn/skip-2.C37
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/warn/skip-2.C b/gcc/testsuite/g++.dg/warn/skip-2.C
new file mode 100644
index 000000000..28f9049a9
--- /dev/null
+++ b/gcc/testsuite/g++.dg/warn/skip-2.C
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// { dg-options "-Wall" }
+
+extern int f2(int);
+extern void f3();
+void
+f1(int i)
+{
+ if (1 == 1 || f2(i >> -10))
+ f3();
+ if (1 == 1 || f2(i >> 128))
+ f3();
+ if (1 == 1 || f2(i << -10))
+ f3();
+ if (1 == 1 || f2(i << 128))
+ f3();
+ if (1 == 1 || i < 0xffffffff)
+ f3();
+ if (1 == 1 || i >= -0x80000000)
+ f3();
+ if (1 == 0 && f2(i >> -10))
+ f3();
+ if (1 == 0 && f2(i >> 128))
+ f3();
+ if (1 == 0 && f2(i << -10))
+ f3();
+ if (1 == 0 && f2(i << 128))
+ f3();
+ if (1 == 0 && i < 0xffffffff)
+ f3();
+ if (1 == 0 && i >= -0x80000000)
+ f3();
+ if (1 == 1 && f2(i >> -10)) /* { dg-warning "shift count is negative" } */
+ f3();
+ if (1 == 0 || f2(i << -10)) /* { dg-warning "shift count is negative" } */
+ f3();
+}