Remove CXXConstructExpr::getFoundDecl(); it turned out to not be useful.
llvm-svn: 272357
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 1ab3fb2..36d0f34 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -11495,8 +11495,6 @@
ConstructKind, ParenRange);
}
-/// BuildCXXConstructExpr - Creates a complete call to a constructor,
-/// including handling of its default argument expressions.
ExprResult
Sema::BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType,
NamedDecl *FoundDecl,
@@ -11509,9 +11507,28 @@
bool RequiresZeroInit,
unsigned ConstructKind,
SourceRange ParenRange) {
+ return BuildCXXConstructExpr(
+ ConstructLoc, DeclInitType, Constructor, Elidable, ExprArgs,
+ HadMultipleCandidates, IsListInitialization, IsStdInitListInitialization,
+ RequiresZeroInit, ConstructKind, ParenRange);
+}
+
+/// BuildCXXConstructExpr - Creates a complete call to a constructor,
+/// including handling of its default argument expressions.
+ExprResult
+Sema::BuildCXXConstructExpr(SourceLocation ConstructLoc, QualType DeclInitType,
+ CXXConstructorDecl *Constructor,
+ bool Elidable,
+ MultiExprArg ExprArgs,
+ bool HadMultipleCandidates,
+ bool IsListInitialization,
+ bool IsStdInitListInitialization,
+ bool RequiresZeroInit,
+ unsigned ConstructKind,
+ SourceRange ParenRange) {
MarkFunctionReferenced(ConstructLoc, Constructor);
return CXXConstructExpr::Create(
- Context, DeclInitType, ConstructLoc, FoundDecl, Constructor, Elidable,
+ Context, DeclInitType, ConstructLoc, Constructor, Elidable,
ExprArgs, HadMultipleCandidates, IsListInitialization,
IsStdInitListInitialization, RequiresZeroInit,
static_cast<CXXConstructExpr::ConstructionKind>(ConstructKind),
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index c162007..a35069d 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -5742,7 +5742,7 @@
: Kind.getParenRange();
CurInit = new (S.Context) CXXTemporaryObjectExpr(
- S.Context, Step.Function.FoundDecl, Constructor, TSInfo,
+ S.Context, Constructor, TSInfo,
ConstructorArgs, ParenOrBraceRange, HadMultipleCandidates,
IsListInitialization, IsStdInitListInitialization,
ConstructorInitRequiresZeroInit);
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h
index 38c4fd6..bba9019 100644
--- a/clang/lib/Sema/TreeTransform.h
+++ b/clang/lib/Sema/TreeTransform.h
@@ -2660,7 +2660,6 @@
/// Subclasses may override this routine to provide different behavior.
ExprResult RebuildCXXConstructExpr(QualType T,
SourceLocation Loc,
- NamedDecl *Found,
CXXConstructorDecl *Constructor,
bool IsElidable,
MultiExprArg Args,
@@ -2675,7 +2674,7 @@
ConvertedArgs))
return ExprError();
- return getSema().BuildCXXConstructExpr(Loc, T, Found, Constructor,
+ return getSema().BuildCXXConstructExpr(Loc, T, Constructor,
IsElidable,
ConvertedArgs,
HadMultipleCandidates,
@@ -9944,11 +9943,6 @@
if (T.isNull())
return ExprError();
- NamedDecl *FoundDecl = cast_or_null<NamedDecl>(
- getDerived().TransformDecl(E->getLocStart(), E->getFoundDecl()));
- if (!FoundDecl)
- return ExprError();
-
CXXConstructorDecl *Constructor
= cast_or_null<CXXConstructorDecl>(
getDerived().TransformDecl(E->getLocStart(),
@@ -9964,7 +9958,6 @@
if (!getDerived().AlwaysRebuild() &&
T == E->getType() &&
- FoundDecl == E->getFoundDecl() &&
Constructor == E->getConstructor() &&
!ArgumentChanged) {
// Mark the constructor as referenced.
@@ -9974,7 +9967,7 @@
}
return getDerived().RebuildCXXConstructExpr(T, /*FIXME:*/E->getLocStart(),
- FoundDecl, Constructor,
+ Constructor,
E->isElidable(), Args,
E->hadMultipleCandidates(),
E->isListInitialization(),