1 // RUN: %clang_cc1 -E %s | grep 'noexp: foo y' 2 // RUN: %clang_cc1 -E %s | grep 'expand: abc' 3 // RUN: %clang_cc1 -E %s | grep 'noexp2: foo nonexp' 4 // RUN: %clang_cc1 -E %s | grep 'expand2: abc' 5 6 #define A foo 7 #define foo() abc 8 #define X A y 9 10 // This should not expand to abc, because the foo macro isn't followed by (. 11 noexp: X 12 13 14 // This should expand to abc. 15 #undef X 16 #define X A () 17 expand: X 18 19 20 // This should be 'foo nonexp' 21 noexp2: A nonexp 22 23 // This should expand 24 expand2: A ( 25 ) 26 27 28