Clang Project

clang_source_code/test/Preprocessor/macro_fn_lparen_scan.c
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 (.
11noexp: X
12
13
14// This should expand to abc.
15#undef X
16#define X A ()
17expand: X
18
19
20// This should be 'foo nonexp'
21noexp2: A nonexp
22
23// This should expand
24expand2: A (
25)
26
27
28