------- Additional Comments From mmitchel at gcc dot gnu dot org 2005-09-06 15:29 ------- The problem behind both diagnostics fact that the C++ front-end pre-lexes the entire source file. As a result, the lexing routines, which depends on the setting of pedantic to determine whether or not to issue errors, are called when pedantic is set, even though we are within an __extension__ block. Because the parsing of __extension__ blocks is complex, we need to either (a) eliminate the up-front lexing, or (b) defer issuing diagnostics until we are actually in position to know the correct value of pedantic.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23139