// RUN: %clang_cc1 -fsyntax-only %s > %t 2>&1 #define M1(x) x // RUN: grep ":6:12: note: instantiated from:" %t #define M2 1; void foo() { // RUN: grep ":10:2: warning: expression result unused" %t M1( // RUN: grep ":12:5: note: instantiated from:" %t M2) } // RUN: grep ":16:11: note: instantiated from:" %t #define A 1 // RUN: grep ":18:11: note: instantiated from:" %t #define B A // RUN: grep ":20:11: note: instantiated from:" %t #define C B void bar() { // RUN: grep ":24:3: warning: expression result unused" %t C; } // rdar://7597492 #define sprintf(str, A, B) \ __builtin___sprintf_chk (str, 0, 42, A, B) void baz(char *Msg) { sprintf(Msg, " sizeof FoooLib : =%3u\n", 12LL); }