11f5207b7SJohn Levon #define ABC abc
21f5207b7SJohn Levon #undef ABC
31f5207b7SJohn Levon 
41f5207b7SJohn Levon #define	DEF def
51f5207b7SJohn Levon #undef DEF
61f5207b7SJohn Levon #define DEF xyz
71f5207b7SJohn Levon 
81f5207b7SJohn Levon #define NYDEF ydef
9*c85f09ccSJohn Levon 
10*c85f09ccSJohn Levon #define STRING(x) #x
11*c85f09ccSJohn Levon #define CONCAT(x,y) x ## y
12*c85f09ccSJohn Levon 
13*c85f09ccSJohn Levon #define unlocks(...) annotate(unlock_func(__VA_ARGS__))
14*c85f09ccSJohn Levon #define apply(x,...) x(__VA_ARGS__)
15*c85f09ccSJohn Levon 
main(int argc,char * argv[])16*c85f09ccSJohn Levon int main(int argc, char *argv[])
17*c85f09ccSJohn Levon {
18*c85f09ccSJohn Levon 	return 0;
19*c85f09ccSJohn Levon }
201f5207b7SJohn Levon /*
211f5207b7SJohn Levon  * check-name: dump-macros
221f5207b7SJohn Levon  * check-command: sparse -E -dD -DIJK=ijk -UNDEF -UNYDEF $file
231f5207b7SJohn Levon  *
241f5207b7SJohn Levon  * check-output-ignore
25*c85f09ccSJohn Levon check-output-pattern(1): #define __CHECKER__ 1
261f5207b7SJohn Levon check-output-contains: #define IJK ijk
271f5207b7SJohn Levon check-output-contains: #define DEF xyz
281f5207b7SJohn Levon check-output-contains: #define NYDEF ydef
29*c85f09ccSJohn Levon check-output-contains: #define STRING(x) #x
30*c85f09ccSJohn Levon check-output-contains: #define CONCAT(x,y) x ## y
31*c85f09ccSJohn Levon check-output-contains: #define unlocks(...) annotate(unlock_func(__VA_ARGS__))
32*c85f09ccSJohn Levon check-output-contains: #define apply(x,...) x(__VA_ARGS__)
33*c85f09ccSJohn Levon check-output-contains: int main(int argc, char \\*argv\\[\\])
341f5207b7SJohn Levon  */
35