// RUN: not %clang -cc1 -fsyntax-only %s 2>&1 | FileCheck %s

#define a b
#define b c
#define c(x) d(x)
#define d(x) x*1

#define e f
#define f g
#define g(x) h(x)
#define h(x) x

void PR16799() {
  const char str[] = "string";
  a(str);
  // CHECK: :15:3: error: invalid operands to binary expression
  // CHECK:       ('const char [7]' and 'int')
  // CHECK:   a(str);
  // CHECK:   ^~~~~~
  // CHECK: :3:11: note: expanded from macro 'a'
  // CHECK: #define a b
  // CHECK:           ^
  // CHECK: :4:11: note: expanded from macro 'b'
  // CHECK: #define b c
  // CHECK:           ^
  // CHECK: :5:14: note: expanded from macro 'c'
  // CHECK: #define c(x) d(x)
  // CHECK:              ^~~~
  // CHECK: :6:15: note: expanded from macro 'd'
  // CHECK: #define d(x) x*1
  // CHECK:              ~^~

  e(str);
  // CHECK: :33:5: warning: expression result unused
  // CHECK:   e(str);
  // CHECK:     ^~~
  // CHECK: :8:11: note: expanded from macro 'e'
  // CHECK: #define e f
  // CHECK:           ^
  // CHECK: :9:11: note: expanded from macro 'f'
  // CHECK: #define f g
  // CHECK:           ^
  // CHECK: :10:16: note: expanded from macro 'g'
  // CHECK: #define g(x) h(x)
  // CHECK:                ^
  // CHECK: :11:14: note: expanded from macro 'h'
  // CHECK: #define h(x) x
  // CHECK:              ^
}
// CHECK: 1 warning and 1 error generated.
