brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 0eb7bbb Raw
67 lines · c
1// RUN: not %clang -fsyntax-only -fno-diagnostics-show-line-numbers -fmacro-backtrace-limit=0 %s 2>&1 | FileCheck %s2 3#define FOO 1+"hi" 4#define BAR FOO5#define BAZ BAR6#define QUZ BAZ7#define TAZ QUZ8#define ABA TAZ9#define BAB ABA10#define ZAZ BAB11#define WAZ ZAZ12#define DROOL WAZ13#define FOOL DROOL14 15FOOL;16 17// CHECK: :15:1: error: expected identifier or '('18// CHECK: FOOL19// CHECK: ^20// CHECK: :13:14: note: expanded from macro 'FOOL'21// CHECK: #define FOOL DROOL22// CHECK:              ^23// CHECK: :12:15: note: expanded from macro 'DROOL'24// CHECK: #define DROOL WAZ25// CHECK:               ^26// CHECK: :11:13: note: expanded from macro 'WAZ'27// CHECK: #define WAZ ZAZ28// CHECK:             ^29// CHECK: :10:13: note: expanded from macro 'ZAZ'30// CHECK: #define ZAZ BAB31// CHECK:             ^32// CHECK: :9:13: note: expanded from macro 'BAB'33// CHECK: #define BAB ABA34// CHECK:             ^35// CHECK: :8:13: note: expanded from macro 'ABA'36// CHECK: #define ABA TAZ37// CHECK:             ^38// CHECK: :7:13: note: expanded from macro 'TAZ'39// CHECK: #define TAZ QUZ40// CHECK:             ^41// CHECK: :6:13: note: expanded from macro 'QUZ'42// CHECK: #define QUZ BAZ43// CHECK:             ^44// CHECK: :5:13: note: expanded from macro 'BAZ'45// CHECK: #define BAZ BAR46// CHECK:             ^47// CHECK: :4:13: note: expanded from macro 'BAR'48// CHECK: #define BAR FOO49// CHECK:             ^50// CHECK: :3:13: note: expanded from macro 'FOO'51// CHECK: #define FOO 1+"hi" 52// CHECK:             ^53 54#define ADD(a, b) a ## #b55ADD(L, foo)56// CHECK:    error: expected identifier or '('57// CHECK:    ADD(L, foo)58// CHECK: {{^\^}}59// CHECK:    note: expanded from macro 'ADD'60// CHECK:    #define ADD(a, b) a ## #b61// CHECK: {{^                  \^}}62// CHECK:    note: expanded from here63// CHECK:    L"foo"64// CHECK: {{^\^}}65 66// CHECK: 2 errors generated.67