Dans gcc, comment couper l'avertissement -fpermissive?
Je suis notamment un fichier à partir d'une bibliothèque tierce, qui génère une erreur qui peut être rétrogradé à un avertissement avec -fpermissive
. Mais parce que je ne veux pas "polluer" mon journal de compilation avec ces mises en garde, je veux désactiver complètement de ce message.
Jusqu'à présent, j'ai mis le -fpermissive
option avec un diagnostic pragma quand, y compris le fichier; quelque chose comme:
#pragma GCC diagnostic push
#pragma GCC diagnostic warning "-fpermissive"
#include <third-party-file.h>
#pragma GCC diagnostic pop
Depuis gcc généralement de fournir à la fois un "positif" et "négatif" de l' -f
drapeaux, j'ai pensé à la ignorant la "non-permissive":
#pragma GCC diagnostic ignored "-fno-permissive"
#include <third-party-file.h>
Mais il ne semble pas être un "négatif" de l' -fpermissive
drapeau (je suis en utilisant gcc 4.6.3; mais même la version 4.7.0 ne pas l'avoir).
Ai-je une chance permet d'imiter ce comportement? Merci!
source d'informationauteur piwi
Vous devez vous connecter pour publier un commentaire.
C'est peut-être un peu tard pour cela, mais l'une d'elles devrait faire ce que tu voulais:
ou
"ignoré" est de savoir comment vous squelch un diagnostic entièrement, et à l'inverse de
-fpermissive
est-pedantic
pour des raisons historiques.tldr: Vous ne pouvez pas désactiver la fpermissive sortie après GCC 4.7.
En train de poster cela ici, donc il a plus de visibilité: malheureusement, zwol réponse (quoique bien intentionnée, et potentiellement utiles pour les personnes avec les anciennes versions de GCC) ne fonctionne pas pour les versions plus récentes de GCC. De GCC 4.8 et au-delà, vous ne pouvez pas désactiver la fpermissive de sortie. o11c dans son commentaire de l'OP utilement fournit un bug qui suit cette:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81787
Noter que c'est dans l'état "RÉSOLU non VALIDE", de sorte que l'incapacité de le désactiver est le comportement attendu et il n'y a pas de plans pour le changer.