diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pragma-push_macro-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pragma-push_macro-1.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pragma-push_macro-1.c b/gcc/testsuite/gcc.dg/pragma-push_macro-1.c new file mode 100644 index 000000000..ac5d059b5 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pragma-push_macro-1.c @@ -0,0 +1,26 @@ +/* Prove that HANDLE_PRAGMA_PUSH_POP_MACRO handling works somewhat. */ + +/* { dg-do link { target *-*-mingw* } } */ + +#define TEXT1 "ABC" +#define TEXT2 "DEF" + +int main() +{ + if (__builtin_strcmp (TEXT1 TEXT2, "ABCDEF") != 0) + link_error (); + +#pragma push_macro("TEXT1") +#undef TEXT1 +#define TEXT1 "XYZ" + + if (__builtin_strcmp (TEXT1 TEXT2, "XYZDEF") != 0) + link_error (); + +#pragma pop_macro("TEXT1") + + if (__builtin_strcmp (TEXT1 TEXT2, "ABCDEF") != 0) + link_error (); + + return 0; +} |