Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Suppress -Wunknown-pragmas warning in GCC

I try to ignore warnings coming from some 3rd party header files like this:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunknown-pragmas"
#pragma GCC diagnostic ignored "-Wreorder"

#include <some_3rd_party_header.h>

#pragma GCC diagnostic pop

This approach seems to work in general, but not for the unknown pragma warnings (I still get them).

Why does it work for other warnings but not for this one? Can anyone confirm this behaviour?

I'm using g++ (version 4.7.1) with -Wall and -std=c++0x under Debian.

like image 787
Robert Hegner Avatar asked Sep 04 '25 01:09

Robert Hegner


1 Answers

I've run into this annoyance, too. According to the GCC manpage -Wall turns on -Wunknown-pragmas for you, so just manually disable it using -Wno-unknown-pragmas after -Wall.

There is a GCC feature request to make this work using #pragma GCC diagnostic:

  • C++ preprocessor ignores #pragma GCC diagnostic
like image 103
Nik Reiman Avatar answered Sep 07 '25 16:09

Nik Reiman