According to the standard
#define str(x) #x
#define str(x) %:x
violates a constraint, but GCC accepts it. Amusingly, Comeau shares the same
bug.
A similar bug exists with the paste operator.
--
Summary: Gcc doesn't complain about non-benign macro definitions
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: preprocessor
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: neil at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20078