使用 -errwarn 会导致 C++ 编译器在出现给定的警告消息时以失败状态退出。
t 是一个逗号分隔列表,它包含以下项中的一项或多项:tag、no%tag、%all、%none。顺序很重要,例如,如果出现除 tag 之外的任何警告,%all,no%tag 会使 cc 以致命状态退出。
下表详细列出了 -errwarn 值:
表 A–4 -errwarn 值
值 |
含义 |
---|---|
tag |
如果该 tag 指定的消息以警告消息的形式出现,就会使 CC 以致命状态退出。如果未出现 tag,则没有影响。 |
no%tag |
防止 CC 在由 tag 指定的消息只以警告消息形式出现时以致命状态退出。如果未发出 tag 指定的消息,则不会产生任何影响。为了避免在发出警告消息时导致 cc 以致命状态退出,可使用该选项来还原以前用该选项和 tag 或 %all 指定的警告消息。 |
%all |
使 CC 在出现任何警告消息时以致命状态退出。%all 可以后跟 no%tag,以避免该行为的特定警告消息。 |
%none |
防止 CC 在出现任何警告消息时以致命状态退出。 |
缺省值为 -errwarn=%none。如果单独指定 -errwarn,它与 -errwarn=%all 等效。
使用 -errwarn 选项只能对来自 C++ 编译器前端且在使用了 -errtags 选项时会显示标记的警告消息进行指定,从而使编译器以失败状态退出。
由于编译器错误检查的改善和功能的增加,C++ 编译器生成的警告消息也会因发行版本而异。使用 -errwarn=%all 进行编译而不会产生错误的代码,在编译器下一个发行版本中编译时也可能出现错误。
-erroff、-errtags 和 -xwe