blob: f0d6b090991b3c1cde2ad1cf129436484f54095d [file] [log] [blame]
// #pragma push_macro/pop_macro
#define INCLUDE_A
#pragma push_macro("INCLUDE_A")
#undef INCLUDE_A
#pragma pop_macro("INCLUDE_A")
#ifdef INCLUDE_A
#include "a.h"
#endif
// #pragma push_macro/pop_macro with argument macro expansion
#define INCLUDE_B
#define MACRO_NAME "INCLUDE_B"
#pragma push_macro(MACRO_NAME)
#undef INCLUDE_B
#pragma pop_macro(MACRO_NAME)
#ifdef INCLUDE_B
#include "b.h"
#endif
// #pragma include_alias (MS specific)
// When compiling without MS Extensions, the pragma is not recognized,
// and the file c_alias.h is included instead of c.h
#pragma include_alias("c_alias.h", "c.h")
#include "c_alias.h"