2013-07-09 21 views
3

Clang has several kinds of diagnostics,其中三种主要类型是错误,警告和注释。是否有一个Clang诊断只是一个音符?

注通常伴随一定的警告和错误,如重复定义:

error: conflicting types for 'square' 
static double square(double x) { 
      ^
note: previous declaration is here 
static int square(int x); 
     ^

我想知道的是,它锵有任何诊断,尤其是对的Objective-C或C,但我会解决对于C++来说,如果我必须 - 只包含便笺,没有相关的错误或警告?

回答

4

http://clang.llvm.org/docs/InternalsManual.html#the-diagnostic-kinds-td-files说:

这些严重性由 诊断子系统映射到一个较小的集(诊断::级别 枚举,{忽略,注意,警告,错误,致命})的输出电平基于各种配置选项。 Clang 内部支持完全精细的映射机制,允许您将几乎任何诊断映射到您想要的输出级别。 无法映射的唯一诊断是NOTE,它总是 遵循以前发出的诊断和错误的严重性 ,它们只能映射到致命(例如,不可能将错误 变成警告) 。

因此不幸的是没有;如果没有黑客Clang本身,你无法做到这一点。注意仅用于链接到其他诊断。我会用LLVM跟踪器提交一个错误;这绝对是有用的功能。

+1

出于好奇,你认为他们有什么用处? – rodrigo

相关问题