Red Hat Bugzilla – Bug 61066
cpp version 2.96 does not warn on macro redefinition
Last modified: 2008-05-01 11:38:01 EDT
Description of Problem:
All C preprocessors prior to 2.96 that I've ever used will warn
whenever a cpp macro is redefined to a "non-trivial" different value.
Not 2.96 . The 2.96 cpp does not produce a warning for this
unless you set the -pedantic option.
This is inconsistent with the cpp documentation which explicitly says
that cpp macro redefines produce a warning period.
Version-Release number of selected component (if applicable):
# cpp -dumpversion
The cpp in the i386 C toolchain that came with RedHat 6.0
does not have this problem.
Steps to Reproduce:
1. Create a file containing the two lines:
#define FOO 1
#define FOO 2
2. compile it on redhat 7.2 "cc -c t.c" -- no warnings
3. compile it on an older redhat release like 6.2, viola warnings.
(cpp -dumpversion on that system says "egcs-2.91.66").
Tested and warns fine on gcc 3.2