summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMalcolm Parsons <malcolm.parsons@gmail.com>2016-11-17 21:00:09 +0000
committerMalcolm Parsons <malcolm.parsons@gmail.com>2016-11-17 21:00:09 +0000
commit6764ec08f42058b32c7160c350a2a3029192b8be (patch)
treecbe604d0539de082b95d486e8981c6b02ede5e2b /lib
parent5b8679eae47a8f9b40692a7ceda1f480f9780efe (diff)
downloadclang-6764ec08f42058b32c7160c350a2a3029192b8be.tar.gz
Fixes for r287241. Use placement new. Apply clang-format.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@287258 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Parse/ParseDeclCXX.cpp3
-rw-r--r--lib/Sema/DeclSpec.cpp8
-rw-r--r--lib/Sema/SemaDeclCXX.cpp3
3 files changed, 6 insertions, 8 deletions
diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp
index 7a932ab4f8..e353c79f4c 100644
--- a/lib/Parse/ParseDeclCXX.cpp
+++ b/lib/Parse/ParseDeclCXX.cpp
@@ -2039,7 +2039,8 @@ void Parser::HandleMemberFunctionDeclDelays(Declarator& DeclaratorInfo,
LateMethod->DefaultArgs.reserve(FTI.NumParams);
for (unsigned ParamIdx = 0; ParamIdx < FTI.NumParams; ++ParamIdx)
LateMethod->DefaultArgs.push_back(LateParsedDefaultArgument(
- FTI.Params[ParamIdx].Param, std::move(FTI.Params[ParamIdx].DefaultArgTokens)));
+ FTI.Params[ParamIdx].Param,
+ std::move(FTI.Params[ParamIdx].DefaultArgTokens)));
}
}
diff --git a/lib/Sema/DeclSpec.cpp b/lib/Sema/DeclSpec.cpp
index 0f88ed3642..4107977533 100644
--- a/lib/Sema/DeclSpec.cpp
+++ b/lib/Sema/DeclSpec.cpp
@@ -223,15 +223,11 @@ DeclaratorChunk DeclaratorChunk::getFunction(bool hasProto,
if (!TheDeclarator.InlineStorageUsed &&
NumParams <= llvm::array_lengthof(TheDeclarator.InlineParams)) {
I.Fun.Params = TheDeclarator.InlineParams;
- // Zero the memory block so that unique pointers are initialized
- // properly.
- memset(I.Fun.Params, 0, sizeof(Params[0]) * NumParams);
+ new (I.Fun.Params) ParamInfo[NumParams];
I.Fun.DeleteParams = false;
TheDeclarator.InlineStorageUsed = true;
} else {
- // Call the version of new that zeroes memory so that unique pointers
- // are initialized properly.
- I.Fun.Params = new DeclaratorChunk::ParamInfo[NumParams]();
+ I.Fun.Params = new DeclaratorChunk::ParamInfo[NumParams];
I.Fun.DeleteParams = true;
}
for (unsigned i = 0; i < NumParams; i++)
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp
index 06c6af1a19..d41748f5e3 100644
--- a/lib/Sema/SemaDeclCXX.cpp
+++ b/lib/Sema/SemaDeclCXX.cpp
@@ -395,7 +395,8 @@ void Sema::CheckExtraCXXDefaultArguments(Declarator &D) {
++argIdx) {
ParmVarDecl *Param = cast<ParmVarDecl>(chunk.Fun.Params[argIdx].Param);
if (Param->hasUnparsedDefaultArg()) {
- std::unique_ptr<CachedTokens> Toks = std::move(chunk.Fun.Params[argIdx].DefaultArgTokens);
+ std::unique_ptr<CachedTokens> Toks =
+ std::move(chunk.Fun.Params[argIdx].DefaultArgTokens);
SourceRange SR;
if (Toks->size() > 1)
SR = SourceRange((*Toks)[1].getLocation(),