summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-04-27 20:36:09 +0000
committerDouglas Gregor <dgregor@apple.com>2010-04-27 20:36:09 +0000
commit199db36b79e6dca6c2420989b91ba1b1e90e0461 (patch)
treebd3fd470010614514faa77109f891eea95ac2ce5 /clang/lib/Sema/SemaInit.cpp
parente6d0073fa91e430d0d72deda69d7e3b933817bf2 (diff)
downloadbcm5719-llvm-199db36b79e6dca6c2420989b91ba1b1e90e0461.tar.gz
bcm5719-llvm-199db36b79e6dca6c2420989b91ba1b1e90e0461.zip
When explicitly building a temporary object (CXXTemporaryObjectExpr),
keep track of whether we need to zero-initialize storage prior to calling its constructor. Previously, we were only tracking this when implicitly constructing the object (a CXXConstructExpr). Fixes Boost's value-initialization tests, which means that the Boost.Config library now passes all of its tests. llvm-svn: 102461
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r--clang/lib/Sema/SemaInit.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index 1caa94bf81c..4678822413d 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -3745,7 +3745,8 @@ InitializationSequence::Perform(Sema &S,
Kind.getLocation(),
Exprs,
NumExprs,
- Kind.getParenRange().getEnd()));
+ Kind.getParenRange().getEnd(),
+ ConstructorInitRequiresZeroInit));
} else
CurInit = S.BuildCXXConstructExpr(Loc, Entity.getType(),
Constructor,
OpenPOWER on IntegriCloud