diff options
-rw-r--r-- | test/Sema/conversion.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/Sema/conversion.c b/test/Sema/conversion.c index 5f20c47ba4..7441a09c06 100644 --- a/test/Sema/conversion.c +++ b/test/Sema/conversion.c @@ -1,5 +1,7 @@ // RUN: %clang_cc1 -fsyntax-only -verify -Wconversion -triple x86_64-apple-darwin %s -Wno-unreachable-code +#include <limits.h> + #define BIG 0x7f7f7f7f7f7f7f7fL void test0(char c, short s, int i, long l, long long ll) { @@ -271,3 +273,9 @@ unsigned char test19(unsigned long u64) { unsigned char x3 = u64 & mask; return x1 + x2 + x3; } + +// <rdar://problem/7631400> +void test_7631400(void) { + // This should show up despite the caret being inside a macro substitution + char s = LONG_MAX; // expected-warning {{implicit cast loses integer precision: 'long' to 'char'}} +} |