summaryrefslogtreecommitdiffstats
path: root/clang/utils/TableGen
diff options
context:
space:
mode:
authorKristof Umann <kristof.umann@ericsson.com>2019-05-23 22:52:09 +0000
committerKristof Umann <kristof.umann@ericsson.com>2019-05-23 22:52:09 +0000
commitac95c86511342b5d42c2915f681fe1c15ab8aac9 (patch)
tree3f373235e2eafb15b82ad6f932151d39f34f9c3d /clang/utils/TableGen
parent342571e8d6eb1afb151ae1103431798e3d24054f (diff)
downloadbcm5719-llvm-ac95c86511342b5d42c2915f681fe1c15ab8aac9.tar.gz
bcm5719-llvm-ac95c86511342b5d42c2915f681fe1c15ab8aac9.zip
[analyzer] List checker/plugin options in 3 categories: released, alpha, developer
Same patch as D62093, but for checker/plugin options, the only difference being that options for alpha checkers are implicitly marked as alpha. Differential Revision: https://reviews.llvm.org/D62093 llvm-svn: 361566
Diffstat (limited to 'clang/utils/TableGen')
-rw-r--r--clang/utils/TableGen/ClangSACheckersEmitter.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/utils/TableGen/ClangSACheckersEmitter.cpp b/clang/utils/TableGen/ClangSACheckersEmitter.cpp
index 7c1827ec2e4..7dd0895b76d 100644
--- a/clang/utils/TableGen/ClangSACheckersEmitter.cpp
+++ b/clang/utils/TableGen/ClangSACheckersEmitter.cpp
@@ -110,6 +110,22 @@ static std::string getCheckerOptionType(const Record &R) {
return "";
}
+static std::string getDevelopmentStage(const Record &R) {
+ if (BitsInit *BI = R.getValueAsBitsInit("DevelopmentStage")) {
+ switch(getValueFromBitsInit(BI, R)) {
+ case 0:
+ return "alpha";
+ case 1:
+ return "released";
+ }
+ }
+
+ PrintFatalError(R.getLoc(),
+ "unable to parse command line option type for "
+ + getCheckerFullName(&R));
+ return "";
+}
+
static bool isHidden(const Record *R) {
if (R->getValueAsBit("Hidden"))
return true;
@@ -149,6 +165,8 @@ static void printOption(llvm::raw_ostream &OS, StringRef FullName,
OS.write_escaped(getStringValue(R, "Desc")) << "\", ";
OS << '\"';
OS.write_escaped(getStringValue(R, "DefaultVal")) << "\", ";
+ OS << '\"';
+ OS << getDevelopmentStage(R) << "\", ";
if (!R.getValueAsBit("Hidden"))
OS << "false";
OpenPOWER on IntegriCloud