Oracle Solaris Studio 12.2:C++ 用户指南

A.2.16 -errwarn[= t]

使用 -errwarn 会导致 C++ 编译器在出现给定的警告消息时以失败状态退出。

A.2.16.1 值

t 是一个以逗号分隔的列表,它包含以下项中的一项或多项:tagno% tag%all%none。顺序很重要,例如如果出现除 tag 之外的任何警告,%all,no%tag 会使 cc 以致命状态退出。

下表详细列出了 -errwarn 值:

表 A–3 -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