web-dev-qa-db-fra.com

Comment demander à GCC de s'arrêter après 5 erreurs?

Est-il possible de demander à GNU c ++ de s'arrêter après la détection de 5 erreurs? Vous ne trouvez pas cela dans la documentation.

71
yegor256

L'option de ligne de commande -fmax-errors=N ordonne au compilateur d'abandonner après [~ # ~] n [~ # ~] erreurs. Cette option est présente dans GCC 4.6 et versions ultérieures.

L'option de ligne de commande -Wfatal-errors ordonne au compilateur d'abandonner après une erreur. Cette option est présente dans GCC 4.0 et versions ultérieures.

Dans les deux cas, les avertissements ne comptent pas dans la limite, sauf si vous spécifiez également -Werror.

79
zwol

Vous pouvez utiliser l'option gcc:

-fmax-errors=5

dans ce but.

41
user1993934

J'accueillerais également une telle option. Pour l'instant, j'utilise la solution de contournement suivante pour obtenir les cinq premières erreurs:

<make> 2>&1|grep error|head -5
4
Tomasz Romanowski

Je dois vous demander pourquoi vous voudriez faire cela. Parfois, l'erreur qui existe dans le code n'est pas la première ou même trouvée dans les cinq premières erreurs. Parfois, c'est au-delà de cela et n'est reconnaissable qu'une fois que vous faites défiler la liste. Une meilleure méthode pourrait être de décomposer votre code et de le placer dans des bibliothèques plus petites si vous êtes gêné par les temps de compilation. Ou si vous êtes préoccupé par les choses qui défilent sur l'écran d'une ligne de commande, en utilisant l'opérateur '>>' pour diriger les messages dans un fichier.

2
wheaties