diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-12-22 02:46:13 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-12-22 02:46:13 +0000 |
commit | 5f101b95c6fc1c38895440011e3bbae638590f48 (patch) | |
tree | ffa63cd23e29a747f2cead86cb9adf6d6c9f4eb7 /clang/lib/Sema | |
parent | a553d4ac951b338cbea75e2e5b7162a3b17c41c7 (diff) | |
download | bcm5719-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.cpp | 6 |
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); |