summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/conversion.c
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-01-06 22:07:33 +0000
committerJohn McCall <rjmccall@apple.com>2010-01-06 22:07:33 +0000
commit2ce81adbb3457d70ce2713ba9e59dd2bf08fb48c (patch)
tree5524b42d24712c16e4121a023bcbfaad623ccc4d /clang/test/Sema/conversion.c
parentdfdda291e0da47ee002564c9d78c3fc8e0c15dc0 (diff)
downloadbcm5719-llvm-2ce81adbb3457d70ce2713ba9e59dd2bf08fb48c.tar.gz
bcm5719-llvm-2ce81adbb3457d70ce2713ba9e59dd2bf08fb48c.zip
Derive tighter ranges for & and >> in the conversion-checking code.
llvm-svn: 92862
Diffstat (limited to 'clang/test/Sema/conversion.c')
-rw-r--r--clang/test/Sema/conversion.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/Sema/conversion.c b/clang/test/Sema/conversion.c
index 44b1224b52a..298bf756421 100644
--- a/clang/test/Sema/conversion.c
+++ b/clang/test/Sema/conversion.c
@@ -261,3 +261,13 @@ void test18() {
x = (U.a ? 0 : 1);
x = (U.b ? 0 : 1);
}
+
+// None of these should warn.
+unsigned char test19(unsigned long u64) {
+ unsigned char x1 = u64 & 0xff;
+ unsigned char x2 = u64 >> 56;
+
+ unsigned char mask = 0xee;
+ unsigned char x3 = u64 & mask;
+ return x1 + x2 + x3;
+}
OpenPOWER on IntegriCloud