Gcc/10.2.0/gcc/Push 002fPop-Macro-Pragmas
From Get docs
Next: Function Specific Option Pragmas, Previous: Visibility Pragmas, Up: Pragmas [Contents][Index]
6.62.15 Push/Pop Macro Pragmas
For compatibility with Microsoft Windows compilers, GCC supports
‘#pragma push_macro("macro_name")
’
and ‘#pragma pop_macro("macro_name")
’.
#pragma push_macro("macro_name")
This pragma saves the value of the macro named as
macro_name
to the top of the stack for this macro.#pragma pop_macro("macro_name")
This pragma sets the value of the macro named as
macro_name
to the value on top of the stack for this macro. If the stack formacro_name
is empty, the value of the macro remains unchanged.
For example:
#define X 1 #pragma push_macro("X") #undef X #define X -1 #pragma pop_macro("X") int x [X];
In this example, the definition of X as 1 is saved by #pragma push_macro
and restored by #pragma pop_macro
.