【问题标题】:Is there a Clang diagnostic that is only a note?是否存在仅作为注释的 Clang 诊断?
【发布时间】:2013-07-09 22:24:50
【问题描述】:

Clang has several kinds of diagnostics,其中三种主要是错误、警告和注释。

注释通常伴随某些警告和错误,例如重复定义:

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

我想知道的是,Clang 是否有任何诊断功能——尤其是针​​对 Objective-C 或 C,但如果必须的话,我会选择 C++——包括一个注释,没有相关的错误或警告?

【问题讨论】:

    标签: clang diagnostics


    【解决方案1】:

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

    这些严重性被映射到一个较小的集合(Diagnostic::Level enum, {Ignored, Note, Warning, Error, Fatal}) 的输出级别由 基于各种配置选项的诊断子系统。铛 内部支持完全细粒度的映射机制,允许 您可以将几乎所有诊断映射到所需的输出级别。 唯一不能映射的诊断是 NOTEs,它总是 遵循先前发出的诊断和错误的严重性, 只能映射到 Fatal (不可能转错 例如警告)。

    很遗憾,没有;如果不破解 Clang 本身,您将无法做到这一点。注释仅用于链接到其他诊断。我会向 LLVM 跟踪器提交一个错误;这绝对是有用的功能。

    【讨论】:

    • 只是出于好奇,您认为它们有什么用处?
    猜你喜欢
    • 2020-07-11
    • 2023-03-28
    • 2015-04-06
    • 2023-03-13
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2023-03-25
    • 2016-02-04
    相关资源
    最近更新 更多