1f08c3bdfSopenharmony_ci#define ABC abc
2f08c3bdfSopenharmony_ci#undef ABC
3f08c3bdfSopenharmony_ci
4f08c3bdfSopenharmony_ci#define	DEF def
5f08c3bdfSopenharmony_ci#undef DEF
6f08c3bdfSopenharmony_ci#define DEF xyz
7f08c3bdfSopenharmony_ci
8f08c3bdfSopenharmony_ci#define NYDEF ydef
9f08c3bdfSopenharmony_ci
10f08c3bdfSopenharmony_ci#define STRING(x) #x
11f08c3bdfSopenharmony_ci#define CONCAT(x,y) x ## y
12f08c3bdfSopenharmony_ci
13f08c3bdfSopenharmony_ci#define unlocks(...) annotate(unlock_func(__VA_ARGS__))
14f08c3bdfSopenharmony_ci#define apply(x,...) x(__VA_ARGS__)
15f08c3bdfSopenharmony_ci
16f08c3bdfSopenharmony_ciint main(int argc, char *argv[])
17f08c3bdfSopenharmony_ci{
18f08c3bdfSopenharmony_ci	return 0;
19f08c3bdfSopenharmony_ci}
20f08c3bdfSopenharmony_ci/*
21f08c3bdfSopenharmony_ci * check-name: dump-macros
22f08c3bdfSopenharmony_ci * check-command: sparse -E -dD -DIJK=ijk -UNDEF -UNYDEF $file
23f08c3bdfSopenharmony_ci *
24f08c3bdfSopenharmony_ci * check-output-ignore
25f08c3bdfSopenharmony_cicheck-output-pattern(1): #define __CHECKER__ 1
26f08c3bdfSopenharmony_cicheck-output-contains: #define IJK ijk
27f08c3bdfSopenharmony_cicheck-output-contains: #define DEF xyz
28f08c3bdfSopenharmony_cicheck-output-contains: #define NYDEF ydef
29f08c3bdfSopenharmony_cicheck-output-contains: #define STRING(x) #x
30f08c3bdfSopenharmony_cicheck-output-contains: #define CONCAT(x,y) x ## y
31f08c3bdfSopenharmony_cicheck-output-contains: #define unlocks(...) annotate(unlock_func(__VA_ARGS__))
32f08c3bdfSopenharmony_cicheck-output-contains: #define apply(x,...) x(__VA_ARGS__)
33f08c3bdfSopenharmony_cicheck-output-contains: int main(int argc, char \\*argv\\[\\])
34f08c3bdfSopenharmony_ci */
35