http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55602
--- Comment #2 from Jeff Guo <guojiufu at gmail dot com> 2012-12-10 11:57:57 UTC --- -pedantic-errors is helpful if the redefined macros not guarded by "#pragma GCC system_header" --a.h -- #pragma GCC system_header #define A 1 #define A 2 -----a.c---- #include "a.h" int main(){ return A; } ----------------