• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang -fsyntax-only -fmacro-backtrace-limit=0 %s 2>&1 | FileCheck %s
2 
3 #define FOO 1+"hi"
4 #define BAR FOO
5 #define BAZ BAR
6 #define QUZ BAZ
7 #define TAZ QUZ
8 #define ABA TAZ
9 #define BAB ABA
10 #define ZAZ BAB
11 #define WAZ ZAZ
12 #define DROOL WAZ
13 #define FOOL DROOL
14 
15 FOOL
16 
17 // CHECK: :15:1: error: expected identifier or '('
18 // CHECK: FOOL
19 // CHECK: ^
20 // CHECK: :13:14: note: expanded from macro 'FOOL'
21 // CHECK: #define FOOL DROOL
22 // CHECK:              ^
23 // CHECK: :12:15: note: expanded from macro 'DROOL'
24 // CHECK: #define DROOL WAZ
25 // CHECK:               ^
26 // CHECK: :11:13: note: expanded from macro 'WAZ'
27 // CHECK: #define WAZ ZAZ
28 // CHECK:             ^
29 // CHECK: :10:13: note: expanded from macro 'ZAZ'
30 // CHECK: #define ZAZ BAB
31 // CHECK:             ^
32 // CHECK: :9:13: note: expanded from macro 'BAB'
33 // CHECK: #define BAB ABA
34 // CHECK:             ^
35 // CHECK: :8:13: note: expanded from macro 'ABA'
36 // CHECK: #define ABA TAZ
37 // CHECK:             ^
38 // CHECK: :7:13: note: expanded from macro 'TAZ'
39 // CHECK: #define TAZ QUZ
40 // CHECK:             ^
41 // CHECK: :6:13: note: expanded from macro 'QUZ'
42 // CHECK: #define QUZ BAZ
43 // CHECK:             ^
44 // CHECK: :5:13: note: expanded from macro 'BAZ'
45 // CHECK: #define BAZ BAR
46 // CHECK:             ^
47 // CHECK: :4:13: note: expanded from macro 'BAR'
48 // CHECK: #define BAR FOO
49 // CHECK:             ^
50 // CHECK: :3:13: note: expanded from macro 'FOO'
51 // CHECK: #define FOO 1+"hi"
52 // CHECK:             ^
53 // CHECK: 1 error generated.
54