From 561919e5bdf978248e273a79f2dcbb519a33a4e0 Mon Sep 17 00:00:00 2001 From: Jordan Rose Date: Mon, 27 Aug 2012 18:39:22 +0000 Subject: [analyzer] Don't inline constructors for objects allocated with operator new. Because the CXXNewExpr appears after the CXXConstructExpr in the CFG, we don't actually have the correct region to construct into at the time we decide whether or not to inline. The long-term fix (discussed in PR12014) might be to introduce a new CFG node (CFGAllocator) that appears before the constructor. Tracking the short-term fix in . llvm-svn: 162689 --- clang/docs/analyzer/IPA.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'clang/docs/analyzer') diff --git a/clang/docs/analyzer/IPA.txt b/clang/docs/analyzer/IPA.txt index 5c722c7a0ea..071727f055f 100644 --- a/clang/docs/analyzer/IPA.txt +++ b/clang/docs/analyzer/IPA.txt @@ -103,7 +103,8 @@ some cases, however, where the analyzer chooses not to inline: See "C++ Caveats" below. - In C++, ExprEngine does not inline custom implementations of operator 'new' - or operator 'delete'. See "C++ Caveats" below. + or operator 'delete', nor does it inline the constructors and destructors + associated with these. See "C++ Caveats" below. - Calls resulting in "dynamic dispatch" are specially handled. See more below. -- cgit v1.2.3