1// RUN: %clang_cc1 %s -E -Wdisabled-macro-expansion -verify 2 3#define p p 4 5#define a b 6#define b a 7 8#define f(a) a 9 10#define g(b) a 11 12#define h(x) i(x) 13#define i(y) i(y) 14 15#define c(x) x(0) 16 17#define y(x) y 18#define z(x) (z)(x) 19 20p // no warning 21 22a // expected-warning {{recursive macro}} 23 24f(2) 25 26g(3) // expected-warning {{recursive macro}} 27 28h(0) // expected-warning {{recursive macro}} 29 30c(c) // expected-warning {{recursive macro}} 31 32y(5) // expected-warning {{recursive macro}} 33 34z(z) // ok 35 36