Ted Kremenek | cf2362b | 2012-01-25 06:07:15 +0000 | [diff] [blame] | 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. |