blob: e3f74cd459cfc29270da4e02f06137abba238601 [file] [log] [blame]
/* PR preprocessor/92296 */
/* { dg-do preprocess } */
/* { dg-options "-Wno-builtin-macro-redefined" } */
#pragma push_macro("__TIMESTAMP__")
#undef __TIMESTAMP__
#define __TIMESTAMP__ "Thu Oct 31 12:00:00 2019"
timestamp1 = __TIMESTAMP__
#pragma pop_macro("__TIMESTAMP__")
timestamp2 = __TIMESTAMP__
#pragma push_macro("__TIME__")
#undef __TIME__
#define __TIME__ "12:00:00"
time1 = __TIME__
#pragma pop_macro("__TIME__")
time2 = __TIME__
#pragma push_macro("__DATE__")
#undef __DATE__
#define __DATE__ "Oct 31 2019"
date1 = __DATE__
#pragma pop_macro("__DATE__")
date2 = __DATE__
#pragma push_macro("__FILE__")
#undef __FILE__
#define __FILE__ "pr92296-3.c"
file1 = __FILE__ /* { dg-final { scan-file pr92296-2.i "file1 = \"pr92296-3.c\"" } } */
#pragma pop_macro("__FILE__")
file2 = __FILE__ /* { dg-final { scan-file-not pr92296-2.i "file2 = \"pr92296-3.c\"" } } */
#pragma push_macro("__BASE_FILE__")
#undef __BASE_FILE__
#define __BASE_FILE__ "pr92296-4.c"
filebase1 = __BASE_FILE__ /* { dg-final { scan-file pr92296-2.i "filebase1 = \"pr92296-4.c\"" } } */
#pragma pop_macro("__BASE_FILE__")
filebase2 = __BASE_FILE__ /* { dg-final { scan-file-not pr92296-2.i "filebase2 = \"pr92296-4.c\"" } } */
#pragma push_macro("__LINE__")
#undef __LINE__ /* { dg-warning "undefining" } */
#define __LINE__ 142
line1 = __LINE__ /* { dg-final { scan-file pr92296-2.i "line1 = 142" } } */
#pragma pop_macro("__LINE__")
line2 = __LINE__ /* { dg-final { scan-file pr92296-2.i "line2 = 45" } } */
#pragma push_macro("__INCLUDE_LEVEL__")
#undef __INCLUDE_LEVEL__ /* { dg-warning "undefining" } */
#define __INCLUDE_LEVEL__ 42
includelevel1 = __INCLUDE_LEVEL__ /* { dg-final { scan-file pr92296-2.i "includelevel1 = 42" } } */
#pragma pop_macro("__INCLUDE_LEVEL__")
includelevel2 = __INCLUDE_LEVEL__ /* { dg-final { scan-file pr92296-2.i "includelevel2 = 0" } } */
#pragma push_macro("__COUNTER__")
#undef __COUNTER__ /* { dg-warning "undefining" } */
#define __COUNTER__ 172
counter1 = __COUNTER__ /* { dg-final { scan-file pr92296-2.i "counter1 = 172" } } */
#pragma pop_macro("__COUNTER__")
counter2 = __COUNTER__ /* { dg-final { scan-file-not pr92296-2.i "counter2 = 172" } } */
#pragma push_macro("__has_attribute")
#undef __has_attribute /* { dg-warning "undefining" } */
#define __has_attribute(x) 0
hasattr1 = __has_attribute(noreturn) /* { dg-final { scan-file pr92296-2.i "hasattr1 = 0" } } */
#pragma pop_macro("__has_attribute")
hasattr2 = __has_attribute(noreturn) /* { dg-final { scan-file-not pr92296-2.i "hasattr2 = 0" } } */
#pragma push_macro("__has_cpp_attribute")
#undef __has_cpp_attribute /* { dg-warning "undefining" } */
#define __has_cpp_attribute(x) 0
hasattrcpp1 = __has_cpp_attribute(noreturn) /* { dg-final { scan-file pr92296-2.i "hasattrcpp1 = 0" } } */
#pragma pop_macro("__has_cpp_attribute")
hasattrcpp2 = __has_cpp_attribute(noreturn) /* { dg-final { scan-file-not pr92296-2.i "hasattrcpp2 = 0" } } */
#pragma push_macro("__has_builtin")
#undef __has_builtin /* { dg-warning "undefining" } */
#define __has_builtin(x) 0
hasbuiltin1 = __has_builtin(__builtin_expect) /* { dg-final { scan-file pr92296-2.i "hasbuiltin1 = 0" } } */
#pragma pop_macro("__has_builtin")
hasbuiltin2 = __has_builtin(__builtin_expect) /* { dg-final { scan-file pr92296-2.i "hasbuiltin2 = 1" } } */