Sun Studio 12:C 用户指南

B.2.15 -errwarn[= t]

使用 -errwarn 选项会使 C 编译器以给定警告消息的故障状态退出。

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

由于编译器错误检查的改善和功能的增加,C 编译器生成的警告消息也会因发行版本而异。使用 -errwarn=%all 进行编译而不会产生错误的代码,在编译器下一个发行版本中编译时也可能出现错误。

只有来自 C 编译器前端在使用 -errtags 选项时会显示标记的警告消息可以使用 -errwarn 选项进行指定,从而使 C 编译器以失败状态退出。

下表详细列出了 -errwarn 值:

表 B–4 -errwarn 标志

标志 

含义 

tag

在此 tag 指定的消息作为警告消息发出时导致 cc 以致命状态退出。如果未出现 tag,则没有影响。

no%tag

tag 指定的消息仅作为警告消息发出时防止 cc 以致命状态退出。如果未发出 tag 指定的消息,则不会产生任何影响。为了避免在发出警告消息时导致 cc 以致命状态退出,可使用该选项来还原以前用该选项和 tag%all 指定的警告消息。

%all

在发出任何警告消息时导致编译器以致命状态退出。%all 可以后跟 no%tag,以避免该行为的特定警告消息。

%none

在发出任何警告消息时防止警告消息导致编译器以致命状态退出。 

缺省值为 -errwarn=%none。如果单独指定 -errwarn,它与 -errwarn=%all 等效。