diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-04-27 20:36:09 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-04-27 20:36:09 +0000 |
commit | 199db36b79e6dca6c2420989b91ba1b1e90e0461 (patch) | |
tree | bd3fd470010614514faa77109f891eea95ac2ce5 /clang/lib/Sema/SemaInit.cpp | |
parent | e6d0073fa91e430d0d72deda69d7e3b933817bf2 (diff) | |
download | bcm5719-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.cpp | 3 |
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, |