diff options
| -rw-r--r-- | clang/include/clang/Sema/Sema.h | 2 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiate.cpp | 7 | ||||
| -rw-r--r-- | clang/lib/Sema/TreeTransform.h | 4 |
3 files changed, 7 insertions, 6 deletions
diff --git a/clang/include/clang/Sema/Sema.h b/clang/include/clang/Sema/Sema.h index 8b2235d5bd1..19858938c9c 100644 --- a/clang/include/clang/Sema/Sema.h +++ b/clang/include/clang/Sema/Sema.h @@ -7008,7 +7008,7 @@ public: /// \param Outputs Will receive all of the substituted arguments. /// /// \returns true if an error occurred, false otherwise. - bool SubstExprs(Expr **Exprs, unsigned NumExprs, bool IsCall, + bool SubstExprs(ArrayRef<Expr *> Exprs, bool IsCall, const MultiLevelTemplateArgumentList &TemplateArgs, SmallVectorImpl<Expr *> &Outputs); diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index f34cb830575..fb7fc109d2e 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -2664,16 +2664,17 @@ ExprResult Sema::SubstInitializer(Expr *Init, return Instantiator.TransformInitializer(Init, CXXDirectInit); } -bool Sema::SubstExprs(Expr **Exprs, unsigned NumExprs, bool IsCall, +bool Sema::SubstExprs(ArrayRef<Expr *> Exprs, bool IsCall, const MultiLevelTemplateArgumentList &TemplateArgs, SmallVectorImpl<Expr *> &Outputs) { - if (NumExprs == 0) + if (Exprs.empty()) return false; TemplateInstantiator Instantiator(*this, TemplateArgs, SourceLocation(), DeclarationName()); - return Instantiator.TransformExprs(Exprs, NumExprs, IsCall, Outputs); + return Instantiator.TransformExprs(Exprs.data(), Exprs.size(), + IsCall, Outputs); } NestedNameSpecifierLoc diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index d7dcadd0aa7..e9f656826de 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -391,7 +391,7 @@ public: /// due to transformation. /// /// \returns true if an error occurred, false otherwise. - bool TransformExprs(Expr **Inputs, unsigned NumInputs, bool IsCall, + bool TransformExprs(Expr *const *Inputs, unsigned NumInputs, bool IsCall, SmallVectorImpl<Expr *> &Outputs, bool *ArgChanged = nullptr); @@ -3200,7 +3200,7 @@ ExprResult TreeTransform<Derived>::TransformInitializer(Expr *Init, } template<typename Derived> -bool TreeTransform<Derived>::TransformExprs(Expr **Inputs, +bool TreeTransform<Derived>::TransformExprs(Expr *const *Inputs, unsigned NumInputs, bool IsCall, SmallVectorImpl<Expr *> &Outputs, |

