diff options
author | Tobias Grosser <tobias@grosser.es> | 2014-02-28 09:11:08 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2014-02-28 09:11:08 +0000 |
commit | 741602461d2079c682916bce6701c39acb08bbd3 (patch) | |
tree | e83731354fa81b3ece9f6f772f98ca5e2cc6ee87 /clang/tools | |
parent | e8d4c9a2c726e4847f791ec9c4d8593608699751 (diff) | |
download | bcm5719-llvm-741602461d2079c682916bce6701c39acb08bbd3.tar.gz bcm5719-llvm-741602461d2079c682916bce6701c39acb08bbd3.zip |
Add 'remark' diagnostic type in 'clang'
A 'remark' is information that is not an error or a warning, but rather some
additional information provided to the user. In contrast to a 'note' a 'remark'
is an independent diagnostic, whereas a 'note' always depends on another
diagnostic.
A typical use case for remark nodes is information provided to the user, e.g.
information provided by the vectorizer about loops that have been vectorized.
This patch provides the initial implementation of 'remarks'. It includes the
actual definiton of the remark nodes, their printing as well as basic parameter
handling. We are reusing the existing diagnostic parameters which means a remark
can be enabled with normal '-Wdiagnostic-name' flags and can be upgraded to
an error using '-Werror=diagnostic-name'. '-Werror' alone does not upgrade
remarks.
This patch is by intention minimal in terms of parameter handling. More
experience and more discussions will most likely lead to further enhancements
in the parameter handling.
llvm-svn: 202475
Diffstat (limited to 'clang/tools')
-rw-r--r-- | clang/tools/c-index-test/c-index-test.c | 1 | ||||
-rw-r--r-- | clang/tools/diagtool/ShowEnabledWarnings.cpp | 1 | ||||
-rw-r--r-- | clang/tools/libclang/CIndexDiagnostic.cpp | 1 | ||||
-rw-r--r-- | clang/tools/libclang/CXStoredDiagnostic.cpp | 1 |
4 files changed, 4 insertions, 0 deletions
diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c index defc9168193..22c0d976234 100644 --- a/clang/tools/c-index-test/c-index-test.c +++ b/clang/tools/c-index-test/c-index-test.c @@ -3736,6 +3736,7 @@ static const char *getDiagnosticCodeStr(enum CXLoadDiag_Error error) { static const char *getSeverityString(enum CXDiagnosticSeverity severity) { switch (severity) { case CXDiagnostic_Note: return "note"; + case CXDiagnostic_Remark: return "remark"; case CXDiagnostic_Error: return "error"; case CXDiagnostic_Fatal: return "fatal"; case CXDiagnostic_Ignored: return "ignored"; diff --git a/clang/tools/diagtool/ShowEnabledWarnings.cpp b/clang/tools/diagtool/ShowEnabledWarnings.cpp index bcc7520c1bd..51213a41fc5 100644 --- a/clang/tools/diagtool/ShowEnabledWarnings.cpp +++ b/clang/tools/diagtool/ShowEnabledWarnings.cpp @@ -44,6 +44,7 @@ static char getCharForLevel(DiagnosticsEngine::Level Level) { switch (Level) { case DiagnosticsEngine::Ignored: return ' '; case DiagnosticsEngine::Note: return '-'; + case DiagnosticsEngine::Remark: return 'R'; case DiagnosticsEngine::Warning: return 'W'; case DiagnosticsEngine::Error: return 'E'; case DiagnosticsEngine::Fatal: return 'F'; diff --git a/clang/tools/libclang/CIndexDiagnostic.cpp b/clang/tools/libclang/CIndexDiagnostic.cpp index d3450d5dece..a5440b4dfb6 100644 --- a/clang/tools/libclang/CIndexDiagnostic.cpp +++ b/clang/tools/libclang/CIndexDiagnostic.cpp @@ -305,6 +305,7 @@ CXString clang_formatDiagnostic(CXDiagnostic Diagnostic, unsigned Options) { switch (Severity) { case CXDiagnostic_Ignored: llvm_unreachable("impossible"); case CXDiagnostic_Note: Out << "note: "; break; + case CXDiagnostic_Remark: Out << "remark: "; break; case CXDiagnostic_Warning: Out << "warning: "; break; case CXDiagnostic_Error: Out << "error: "; break; case CXDiagnostic_Fatal: Out << "fatal error: "; break; diff --git a/clang/tools/libclang/CXStoredDiagnostic.cpp b/clang/tools/libclang/CXStoredDiagnostic.cpp index 9731616c6b5..45ce39b60d0 100644 --- a/clang/tools/libclang/CXStoredDiagnostic.cpp +++ b/clang/tools/libclang/CXStoredDiagnostic.cpp @@ -31,6 +31,7 @@ CXDiagnosticSeverity CXStoredDiagnostic::getSeverity() const { switch (Diag.getLevel()) { case DiagnosticsEngine::Ignored: return CXDiagnostic_Ignored; case DiagnosticsEngine::Note: return CXDiagnostic_Note; + case DiagnosticsEngine::Remark: return CXDiagnostic_Remark; case DiagnosticsEngine::Warning: return CXDiagnostic_Warning; case DiagnosticsEngine::Error: return CXDiagnostic_Error; case DiagnosticsEngine::Fatal: return CXDiagnostic_Fatal; |