]> granicus.if.org Git - clang/commitdiff
Test case for warnings with carets inside macro instantiations.
authorJohn McCall <rjmccall@apple.com>
Thu, 11 Feb 2010 18:52:49 +0000 (18:52 +0000)
committerJohn McCall <rjmccall@apple.com>
Thu, 11 Feb 2010 18:52:49 +0000 (18:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95893 91177308-0d34-0410-b5e6-96231b3b80d8

test/Sema/conversion.c

index 5f20c47ba4c99614a41aee9c2e1c0cc0ac8a4883..7441a09c064e5aaed469576c8526c6943e777caf 100644 (file)
@@ -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'}}
+}