diff options
| author | Kristof Umann <kristof.umann@ericsson.com> | 2019-05-23 22:52:09 +0000 |
|---|---|---|
| committer | Kristof Umann <kristof.umann@ericsson.com> | 2019-05-23 22:52:09 +0000 |
| commit | ac95c86511342b5d42c2915f681fe1c15ab8aac9 (patch) | |
| tree | 3f373235e2eafb15b82ad6f932151d39f34f9c3d /clang/utils/TableGen | |
| parent | 342571e8d6eb1afb151ae1103431798e3d24054f (diff) | |
| download | bcm5719-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.cpp | 18 |
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"; |

