2010-08-15 3 views
10

Comment générer une erreur pour une instruction de retour manquante sous GCC?Erreur sur l'instruction de retour manquante

cpfsfuse.c:184: warning: no return statement in function returning non-void 

Je suis en mesure de retourner des erreurs de déclaration de fonction implicite (-Werror-implicit-function-declaration), et je suis au courant d'un interrupteur -Werror=, mais je ne peux pas trouver un avertissement approprié pour promouvoir le statut d'erreur.

Comment puis-je y parvenir?

Répondre

17

Vous devriez pouvoir utiliser l'option -fdiagnostics-show-option pour afficher l'indicateur correct pour le commutateur Werror=. Tiré de this blog:

% gcc -x c -Wall -Wextra -fdiagnostics-show-option -c -o /dev/null - <<EOF 
int foo() { 
} 
EOF 
<stdin> In function ‘foo’: 
<stdin>:2: warning: control reaches end of non-void function [-Wreturn-type] 

En fait, il semble que le drapeau return-type peut être celui que vous voulez.

+1

Brillant monsieur! –