diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cdcb4d1eadf..1751a3d6638 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-11-30 Tom Tromey + + PR preprocessor/32868: + * gcc.dg/cpp/pr32868.c: New file. + 2007-11-30 Jerry DeLisle PR fortran/34248 diff --git a/gcc/testsuite/gcc.dg/cpp/pr32868.c b/gcc/testsuite/gcc.dg/cpp/pr32868.c new file mode 100644 index 00000000000..ea896214c30 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/pr32868.c @@ -0,0 +1,6 @@ +/* PR preprocessor/32868. It is ok to redefine __STDC_FORMAT_MACROS. */ + +/* { dg-do preprocess } */ + +#define __STDC_FORMAT_MACROS 1 +#define __STDC_FORMAT_MACROS 1 diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index bac5e860389..3701c8000a6 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,9 @@ +2007-11-30 Tom Tromey + + PR preprocessor/32868: + * macro.c (_cpp_create_definition): Special case + __STDC_FORMAT_MACROS. + 2007-11-16 Michael Matz * files.c (search_path_head): Fix check for absolute paths. diff --git a/libcpp/macro.c b/libcpp/macro.c index f3a4420ae40..754e2f77b90 100644 --- a/libcpp/macro.c +++ b/libcpp/macro.c @@ -1695,7 +1695,8 @@ _cpp_create_definition (cpp_reader *pfile, cpp_hashnode *node) /* Enter definition in hash table. */ node->type = NT_MACRO; node->value.macro = macro; - if (! ustrncmp (NODE_NAME (node), DSC ("__STDC_"))) + if (! ustrncmp (NODE_NAME (node), DSC ("__STDC_")) + && ustrcmp (NODE_NAME (node), (const uchar *) "__STDC_FORMAT_MACROS")) node->flags |= NODE_WARN; return ok;