summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/DiagnosticIDs.cpp
diff options
context:
space:
mode:
authorYuka Takahashi <yukatkh@gmail.com>2017-07-16 15:07:20 +0000
committerYuka Takahashi <yukatkh@gmail.com>2017-07-16 15:07:20 +0000
commit64918d0b258f5e7258c808c6fd1adb8e1dd066a7 (patch)
treecc2485f4ae6f9a1683d94649e4eab14eb6bba418 /clang/lib/Basic/DiagnosticIDs.cpp
parentdad2aef03755cbca49631660d975968183b2f219 (diff)
downloadbcm5719-llvm-64918d0b258f5e7258c808c6fd1adb8e1dd066a7.tar.gz
bcm5719-llvm-64918d0b258f5e7258c808c6fd1adb8e1dd066a7.zip
[Bash-autocompletion] Add support for -W<warning> and -Wno<warning>
Summary: `-W[tab]` will autocomplete warnings defined in this link: https://clang.llvm.org/docs/DiagnosticsReference.html#wweak-vtables Differential Revision: https://reviews.llvm.org/D35447 llvm-svn: 308139
Diffstat (limited to 'clang/lib/Basic/DiagnosticIDs.cpp')
-rw-r--r--clang/lib/Basic/DiagnosticIDs.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Basic/DiagnosticIDs.cpp b/clang/lib/Basic/DiagnosticIDs.cpp
index ce493c1e5ca..932b3f1934c 100644
--- a/clang/lib/Basic/DiagnosticIDs.cpp
+++ b/clang/lib/Basic/DiagnosticIDs.cpp
@@ -510,6 +510,18 @@ StringRef DiagnosticIDs::getWarningOptionForDiag(unsigned DiagID) {
return StringRef();
}
+std::vector<std::string> DiagnosticIDs::getDiagnosticFlags() {
+ std::vector<std::string> Res;
+ for (size_t I = 1; DiagGroupNames[I] != '\0';) {
+ std::string Diag(DiagGroupNames + I + 1, DiagGroupNames[I]);
+ I += DiagGroupNames[I] + 1;
+ Res.push_back("-W" + Diag);
+ Res.push_back("-Wno" + Diag);
+ }
+
+ return Res;
+}
+
/// Return \c true if any diagnostics were found in this group, even if they
/// were filtered out due to having the wrong flavor.
static bool getDiagnosticsInGroup(diag::Flavor Flavor,
OpenPOWER on IntegriCloud