diff options
Diffstat (limited to 'clang/test/Misc/diag-macro-backtrace.c')
-rw-r--r-- | clang/test/Misc/diag-macro-backtrace.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/clang/test/Misc/diag-macro-backtrace.c b/clang/test/Misc/diag-macro-backtrace.c new file mode 100644 index 0000000..ea40cbe --- /dev/null +++ b/clang/test/Misc/diag-macro-backtrace.c @@ -0,0 +1,53 @@ +// RUN: %clang -fsyntax-only -fmacro-backtrace-limit=0 %s 2>&1 | FileCheck %s + +#define FOO 1+"hi" +#define BAR FOO +#define BAZ BAR +#define QUZ BAZ +#define TAZ QUZ +#define ABA TAZ +#define BAB ABA +#define ZAZ BAB +#define WAZ ZAZ +#define DROOL WAZ +#define FOOL DROOL + +FOOL + +// CHECK: :15:1: error: expected identifier or '(' +// CHECK: FOOL +// CHECK: ^ +// CHECK: :13:14: note: expanded from macro 'FOOL' +// CHECK: #define FOOL DROOL +// CHECK: ^ +// CHECK: :12:15: note: expanded from macro 'DROOL' +// CHECK: #define DROOL WAZ +// CHECK: ^ +// CHECK: :11:13: note: expanded from macro 'WAZ' +// CHECK: #define WAZ ZAZ +// CHECK: ^ +// CHECK: :10:13: note: expanded from macro 'ZAZ' +// CHECK: #define ZAZ BAB +// CHECK: ^ +// CHECK: :9:13: note: expanded from macro 'BAB' +// CHECK: #define BAB ABA +// CHECK: ^ +// CHECK: :8:13: note: expanded from macro 'ABA' +// CHECK: #define ABA TAZ +// CHECK: ^ +// CHECK: :7:13: note: expanded from macro 'TAZ' +// CHECK: #define TAZ QUZ +// CHECK: ^ +// CHECK: :6:13: note: expanded from macro 'QUZ' +// CHECK: #define QUZ BAZ +// CHECK: ^ +// CHECK: :5:13: note: expanded from macro 'BAZ' +// CHECK: #define BAZ BAR +// CHECK: ^ +// CHECK: :4:13: note: expanded from macro 'BAR' +// CHECK: #define BAR FOO +// CHECK: ^ +// CHECK: :3:13: note: expanded from macro 'FOO' +// CHECK: #define FOO 1+"hi" +// CHECK: ^ +// CHECK: 1 error generated. |