On 18 June 2013 17:14, Anthony Foiani wrote: > > > I'm aware that I can disable that warning for the single file, or even > for a single region in the file using pragmas, but I would like to > understand why g++ isn't applying the "system header" rule to that > macro. It's because the expansion of the macro is in your code, not in a system header. There are some open bug reports on similar subjects e.g.http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7263#c8