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