diff options
author | Anna Zaks <ganna@apple.com> | 2012-09-10 22:56:41 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2012-09-10 22:56:41 +0000 |
commit | 57330eed3fbe530cb05996e4a346cc5fc217c0d9 (patch) | |
tree | 2559abcdffadb7bce36fd6470d26df923f145ef7 /lib/StaticAnalyzer/Core/AnalyzerOptions.cpp | |
parent | 8a198a078e22665deb0a442eb6ba187a230f733a (diff) |
[analyzer] Add an option to enable/disable objc inlining.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163562 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Core/AnalyzerOptions.cpp')
-rw-r--r-- | lib/StaticAnalyzer/Core/AnalyzerOptions.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp b/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp index 5cbbb8d462..9e029c7e29 100644 --- a/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp +++ b/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp @@ -82,6 +82,14 @@ bool AnalyzerOptions::mayInlineTemplateFunctions() const { return *InlineTemplateFunctions; } +bool AnalyzerOptions::mayInlineObjCMethod() const { + if (!ObjCInliningMode.hasValue()) + const_cast<llvm::Optional<bool> &>(ObjCInliningMode) = + getBooleanOption("objc-inlining", /*Default=*/true); + + return *ObjCInliningMode; +} + int AnalyzerOptions::getOptionAsInteger(StringRef Name, int DefaultVal) const { std::string OptStr = Config.lookup(Name); if (OptStr.empty()) @@ -97,9 +105,8 @@ int AnalyzerOptions::getOptionAsInteger(StringRef Name, int DefaultVal) const { unsigned AnalyzerOptions::getAlwaysInlineSize() const { if (!AlwaysInlineSize.hasValue()) { unsigned DefaultSize = 3; - Optional<unsigned> &MutableOption = - const_cast<Optional<unsigned> &>(AlwaysInlineSize); - MutableOption = getOptionAsInteger("ipa-always-inline-size", DefaultSize); + const_cast<Optional<unsigned> &>(AlwaysInlineSize) = + getOptionAsInteger("ipa-always-inline-size", DefaultSize); } return AlwaysInlineSize.getValue(); |