// RUN: %clang_cc1 -E %s | grep 'noexp: foo y' | |
// RUN: %clang_cc1 -E %s | grep 'expand: abc' | |
// RUN: %clang_cc1 -E %s | grep 'noexp2: foo nonexp' | |
// RUN: %clang_cc1 -E %s | grep 'expand2: abc' | |
#define A foo | |
#define foo() abc | |
#define X A y | |
// This should not expand to abc, because the foo macro isn't followed by (. | |
noexp: X | |
// This should expand to abc. | |
#undef X | |
#define X A () | |
expand: X | |
// This should be 'foo nonexp' | |
noexp2: A nonexp | |
// This should expand | |
expand2: A ( | |
) | |