jeudi 29 octobre 2015

How to selectively disable -Werror using #pragma with gcc

In my quest to a warning free application, I have started to use -Werror to tell gcc to treat all the warnings as errors.

This is indeed very helpful as sometimes I missed one or two (serious) warnings in a large build output. Unfortunately my project uses sqlite3 that contains many warnings that, as stated in the sqlite web site, cannot be eliminated (they don't want to remove).

I was wondering if there's a way to use some #pragma I can place in the sqlite3.c file to tell gcc to stop treating warnings as error only for that file.

I tried with:

#pragma GCC diagnostic ignored "-Werror"

with no success I have also tried to list one by one the warnings that cause problems with:

#pragma GCC diagnostic ignored "-Wextra"
#pragma GCC diagnostic ignored "-Wfloat-equal"
#pragma GCC diagnostic ignored "-Wundef"
...

...unfortunately there are some warnings that cannot be turned off entirely (i.e. initialization discards qualifiers from pointer target type).

Any idea/suggestions?

Aucun commentaire:

Enregistrer un commentaire