summaryrefslogtreecommitdiffstats
path: root/test/Sema/shift.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/Sema/shift.c')
-rw-r--r--test/Sema/shift.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/Sema/shift.c b/test/Sema/shift.c
index df6b114..28407be 100644
--- a/test/Sema/shift.c
+++ b/test/Sema/shift.c
@@ -56,3 +56,13 @@ void test() {
#define ashift 8
enum { b = (a << ashift) };
+// Don't warn for negative shifts in code that is unreachable.
+void test_pr5544() {
+ (void) (((1) > 63 && (1) < 128 ? (((unsigned long long) 1)<<((1)-64)) : (unsigned long long) 0)); // no-warning
+}
+
+void test_shift_too_much(char x) {
+ if (0)
+ (void) (x >> 80); // no-warning
+ (void) (x >> 80); // expected-warning {{shift count >= width of type}}
+}
OpenPOWER on IntegriCloud