brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 5faed14 Raw
51 lines · c
1// RUN: not %clang_cc1 -fsyntax-only %s 2>&1 | FileCheck %s2 3#define a b4#define b c5#define c(x) d(x)6#define d(x) x*17 8#define e f9#define f g10#define g(x) h(x)11#define h(x) x12 13void PR16799(void) {14  const char str[] = "string";15  a(str);16  // CHECK: :15:3: error: invalid operands to binary expression17  // CHECK:       ('const char[7]' and 'int')18  // CHECK:   a(str);19  // CHECK:   ^~~~~~20  // CHECK: :3:11: note: expanded from macro 'a'21  // CHECK: #define a b22  // CHECK:           ^23  // CHECK: :4:11: note: expanded from macro 'b'24  // CHECK: #define b c25  // CHECK:           ^26  // CHECK: :5:14: note: expanded from macro 'c'27  // CHECK: #define c(x) d(x)28  // CHECK:              ^~~~29  // CHECK: :6:15: note: expanded from macro 'd'30  // CHECK: #define d(x) x*131  // CHECK:              ~^~32 33  e(str);34  // CHECK: :33:5: warning: expression result unused35  // CHECK:   e(str);36  // CHECK:     ^~~37  // CHECK: :8:11: note: expanded from macro 'e'38  // CHECK: #define e f39  // CHECK:           ^40  // CHECK: :9:11: note: expanded from macro 'f'41  // CHECK: #define f g42  // CHECK:           ^43  // CHECK: :10:16: note: expanded from macro 'g'44  // CHECK: #define g(x) h(x)45  // CHECK:                ^46  // CHECK: :11:14: note: expanded from macro 'h'47  // CHECK: #define h(x) x48  // CHECK:              ^49}50// CHECK: 1 warning and 1 error generated.51