blob: 189a72dd9c2d956d8f85d49caafa08e9b7daacf7 [file] [log] [blame]
/* C99 6.10.8 para 4: None of [the predefined macro names] shall be
the subject of a #define or an #undef preprocessing directive. */
/* { dg-do preprocess } */
#undef __DATE__ /* { dg-warning "-:undefining \"__DATE__\"" } */
#undef __TIME__ /* { dg-warning "-:undefining \"__TIME__\"" } */
#undef __FILE__ /* { dg-warning "-:undefining \"__FILE__\"" } */
#undef __LINE__ /* { dg-warning "undefining \"__LINE__\"" } */
#undef __STDC__ /* { dg-warning "undefining \"__STDC__\"" } */
/* These should be protected from #undef, but aren't, because they
are set with normal #define commands - and on top of that, some
of them are library properties, outside our control. To consider:
warn about undefining/redefining any identifier beginning with
__STDC_ .
__STDC_HOSTED__
__STDC_VERSION__
__STDC_IEC_559__
__STDC_IEC_559_COMPLEX__
__STDC_ISO_10646__
*/