I am including a file from a third-party library that raises an error that can be downgraded to a warning with -fpermissive
. But because I do not want to "pollute" my compilation log with these warnings, I want to completely disable this messages.
So far, I set the -fpermissive
option with a diagnostic pragma when including the file; something like:
#pragma GCC diagnostic push
#pragma GCC diagnostic warning "-fpermissive"
#include <third-party-file.h>
#pragma GCC diagnostic pop
Since gcc usually provide both a "positive" and "negative" version of the -f
flags, I thought about ignoring the "no-permissive" feature:
#pragma GCC diagnostic ignored "-fno-permissive"
#include <third-party-file.h>
But there does not seem to be a "negative" version of the -fpermissive
flag (I am using gcc 4.6.3; but even the version 4.7.0 does not have it).
Any chance I can mimic this behavior? Thanks!
It's maybe a bit late for this, but one of these ought to do what you wanted:
#pragma GCC diagnostic ignored "-fpermissive"
or
#pragma GCC diagnostic ignored "-pedantic"
"ignored" is how you squelch a diagnostic entirely, and the inverse of -fpermissive
is -pedantic
, for historical reasons.