77_push_pop_macro.c 636 B

12345678910111213141516171819202122232425262728293031
  1. #include <stdio.h>
  2. int main()
  3. {
  4. /* must not affect how #pragma ppop_macro works */
  5. #define pop_macro foobar1
  6. /* must not affect how #pragma push_macro works */
  7. #define push_macro foobar2
  8. #undef abort
  9. #define abort "111"
  10. printf("abort = %s\n", abort);
  11. #pragma push_macro("abort")
  12. #undef abort
  13. #define abort "222"
  14. printf("abort = %s\n", abort);
  15. #pragma push_macro("abort")
  16. #undef abort
  17. #define abort "333"
  18. printf("abort = %s\n", abort);
  19. #pragma pop_macro("abort")
  20. printf("abort = %s\n", abort);
  21. #pragma pop_macro("abort")
  22. printf("abort = %s\n", abort);
  23. }