summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-12-22 02:46:13 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-12-22 02:46:13 +0000
commit5f101b95c6fc1c38895440011e3bbae638590f48 (patch)
treeffa63cd23e29a747f2cead86cb9adf6d6c9f4eb7 /clang/lib/Sema
parenta553d4ac951b338cbea75e2e5b7162a3b17c41c7 (diff)
downloadbcm5719-llvm-5f101b95c6fc1c38895440011e3bbae638590f48.tar.gz
bcm5719-llvm-5f101b95c6fc1c38895440011e3bbae638590f48.zip
Switch default arguments over to InitializationSequence.
llvm-svn: 91883
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 13b65e3000b..dfb35328105 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -128,8 +128,12 @@ Sema::SetParamDefaultArgument(ParmVarDecl *Param, ExprArg DefaultArg,
InitializedEntity Entity = InitializedEntity::InitializeParameter(Param);
InitializationKind Kind = InitializationKind::CreateCopy(Param->getLocation(),
EqualLoc);
- if (CheckInitializerTypes(Arg, ParamType, Entity, Kind))
+ InitializationSequence InitSeq(*this, Entity, Kind, &Arg, 1);
+ OwningExprResult Result = InitSeq.Perform(*this, Entity, Kind,
+ MultiExprArg(*this, (void**)&Arg, 1));
+ if (Result.isInvalid())
return true;
+ Arg = Result.takeAs<Expr>();
Arg = MaybeCreateCXXExprWithTemporaries(Arg);
OpenPOWER on IntegriCloud