https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91973 --- Comment #2 from qinzhao at gcc dot gnu.org --- (In reply to Joseph S. Myers from comment #1) > This is not a bug in GCC, it's how the preprocessor is defined to work. So, this is an user error? is there any C language rules on this? why icc works on this?