blob: e138f59d608c9a1af917e353442c358c697f1bd2 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only %s > %t 2>&1
Chris Lattner037fb7f2009-05-05 22:03:18 +00002
3#define M1(x) x
4
Daniel Dunbar4fcfde42009-11-08 01:45:36 +00005// RUN: grep ":6:12: note: instantiated from:" %t
Chris Lattner037fb7f2009-05-05 22:03:18 +00006#define M2 1;
7
8void foo() {
Daniel Dunbar4fcfde42009-11-08 01:45:36 +00009 // RUN: grep ":10:2: warning: expression result unused" %t
Chris Lattner037fb7f2009-05-05 22:03:18 +000010 M1(
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000011 // RUN: grep ":12:5: note: instantiated from:" %t
Chris Lattner037fb7f2009-05-05 22:03:18 +000012 M2)
13}
14
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000015// RUN: grep ":16:11: note: instantiated from:" %t
Chris Lattner037fb7f2009-05-05 22:03:18 +000016#define A 1
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000017// RUN: grep ":18:11: note: instantiated from:" %t
Chris Lattner037fb7f2009-05-05 22:03:18 +000018#define B A
Daniel Dunbar4fcfde42009-11-08 01:45:36 +000019// RUN: grep ":20:11: note: instantiated from:" %t
Chris Lattner037fb7f2009-05-05 22:03:18 +000020#define C B
21
22void bar() {
23 // RUN: grep ":24:3: warning: expression result unused" %t
24 C;
25}
26
Chris Lattnera5c6c582010-02-12 19:31:35 +000027
28// rdar://7597492
29#define sprintf(str, A, B) \
30__builtin___sprintf_chk (str, 0, 42, A, B)
31
32void baz(char *Msg) {
33 sprintf(Msg, " sizeof FoooLib : =%3u\n", 12LL);
34}
35