aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-02-03 16:38:03 +0000
committerAnders Carlsson <andersca@mac.com>2010-02-03 16:38:03 +0000
commita64a869312066ff6119d1d7ae03f88ce499e3f82 (patch)
tree5ff2531884f675da36cc3d8f41779a9d36cee6ba /lib/Sema/SemaInit.cpp
parentef6e0f3218b64d8ea3b8b57ee657fec8da228a43 (diff)
Revert the new reference binding code; I came up with a way simpler solution for the reference binding bug that is preventing self-hosting.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95223 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaInit.cpp')
-rw-r--r--lib/Sema/SemaInit.cpp19
1 files changed, 2 insertions, 17 deletions
diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp
index 7c52df5f7c..1f1e76c999 100644
--- a/lib/Sema/SemaInit.cpp
+++ b/lib/Sema/SemaInit.cpp
@@ -3304,31 +3304,16 @@ InitializationSequence::Perform(Sema &S,
// Check exception specifications
if (S.CheckExceptionSpecCompatibility(CurInitExpr, DestType))
return S.ExprError();
-
- // FIXME: We should do this for all types.
- if (DestType->isAnyComplexType()) {
- CurInit =
- S.Owned(CXXBindReferenceExpr::Create(S.Context,
- CurInit.takeAs<Expr>(),
- /*ExtendsLifetime=*/false,
- /*RequiresTemporaryCopy=*/false));
- }
break;
case SK_BindReferenceToTemporary:
+ // Reference binding does not have any corresponding ASTs.
+
// Check exception specifications
if (S.CheckExceptionSpecCompatibility(CurInitExpr, DestType))
return S.ExprError();
- // FIXME: We should do this for all types.
- if (DestType->isAnyComplexType()) {
- CurInit =
- S.Owned(CXXBindReferenceExpr::Create(S.Context,
- CurInit.takeAs<Expr>(),
- /*ExtendsLifetime=*/false,
- /*RequiresTemporaryCopy=*/true));
- }
break;
case SK_UserConversion: {