Test case for warnings with carets inside macro instantiations.

llvm-svn: 95893
This commit is contained in:
John McCall 2010-02-11 18:52:49 +00:00
parent 3964059a16
commit 739908faf6
1 changed files with 8 additions and 0 deletions

View 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'}}
}