diff options
-rw-r--r-- | docs/analyzer/IPA.txt | 7 | ||||
-rw-r--r-- | lib/StaticAnalyzer/Core/AnalyzerOptions.cpp | 2 | ||||
-rw-r--r-- | test/Analysis/analyzer-config.cpp | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/docs/analyzer/IPA.txt b/docs/analyzer/IPA.txt index ac75ee1bf2..4cffcb7454 100644 --- a/docs/analyzer/IPA.txt +++ b/docs/analyzer/IPA.txt @@ -46,9 +46,10 @@ Each of these modes implies that all the previous member function kinds will be inlined as well; it doesn't make sense to inline destructors without inlining constructors, for example. -The default c++-inlining mode is 'methods', meaning only regular member -functions and overloaded operators will be inlined. Note that no C++ member -functions will be inlined under -analyzer-config ipa=none or +The default c++-inlining mode is 'constructors', meaning that member functions, +overloaded operators, and some constructors will be inlined. If a type has a +non-trivial destructor, however, its constructor will not be inlined. Note that +no C++ member functions will be inlined under -analyzer-config ipa=none or -analyzer-config ipa=basic-inlining. ### c++-template-inlining ### diff --git a/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp b/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp index 2d6246e510..5198f4973a 100644 --- a/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp +++ b/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp @@ -74,7 +74,7 @@ AnalyzerOptions::mayInlineCXXMemberFunction(CXXInlineableMemberKind K) { static const char *ModeKey = "c++-inlining"; StringRef ModeStr(Config.GetOrCreateValue(ModeKey, - "methods").getValue()); + "constructors").getValue()); CXXInlineableMemberKind &MutableMode = const_cast<CXXInlineableMemberKind &>(CXXMemberInliningMode); diff --git a/test/Analysis/analyzer-config.cpp b/test/Analysis/analyzer-config.cpp index 52700176b2..59587f6e11 100644 --- a/test/Analysis/analyzer-config.cpp +++ b/test/Analysis/analyzer-config.cpp @@ -11,7 +11,7 @@ public: }; // CHECK: [config] -// CHECK-NEXT: c++-inlining = methods +// CHECK-NEXT: c++-inlining = constructors // CHECK-NEXT: c++-stdlib-inlining = true // CHECK-NEXT: c++-template-inlining = true // CHECK-NEXT: cfg-temporary-dtors = false |