1 // { dg-do preprocess }
2 // { dg-options "-std=gnu99 -fdiagnostics-show-option -Werror=builtin-macro-redefined" }
3 /* { dg-message "some warnings being treated as errors" "" {target "*-*-*"} 0 } */
4 #ifndef __TIME__
5 #error "__TIME__ builtin is not defined"
6 // { dg-bogus "__TIME__ builtin is not defined" "no-time" { target *-*-* } 5 }
7 #endif
8 
9 #define __TIME__ "X"  // { dg-error "\"__TIME__\" redefined .-Werror=builtin-macro-redefined." }
10 
11 #define __TIME__ "Y"  // { dg-bogus "-Wbuiltin-macro-redefined" }
12                       // { dg-warning "\"__TIME__\" redefined" "not-builtin-1" { target *-*-* } 11 }
13                       // { dg-message "previous definition" "previous-1" { target *-*-* } 9 }
14 
15 #define X "X"
16 #define X "Y"         // { dg-bogus "-Wbuiltin-macro-redefined" }
17                       // { dg-warning "\"X\" redefined" "not-builtin-2" { target *-*-* } 16 }
18                       // { dg-message "previous definition" "previous-2" { target *-*-* } 15 }
19