summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/dmd/files/2.059-issue-7922.patch')
-rw-r--r--dev-lang/dmd/files/2.059-issue-7922.patch162
1 files changed, 0 insertions, 162 deletions
diff --git a/dev-lang/dmd/files/2.059-issue-7922.patch b/dev-lang/dmd/files/2.059-issue-7922.patch
deleted file mode 100644
index 0d5004d7d..000000000
--- a/dev-lang/dmd/files/2.059-issue-7922.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-diff -Nurp a/src/dmd/declaration.c b/src/dmd/declaration.c
---- a/src/dmd/declaration.c 2012-04-17 12:02:10.231883129 +0200
-+++ b/src/dmd/declaration.c 2012-04-17 12:37:45.585187488 +0200
-@@ -1361,11 +1361,17 @@ Lnomatch:
- e->op = TOKblit;
- }
- e->type = t;
-- (*pinit) = new CommaExp(loc, e, (*pinit));
-
-- /* Replace __ctmp being constructed with e1
-+ /* Replace __ctmp being constructed with e1.
-+ * We need to copy constructor call expression,
-+ * because it may be used in other place.
- */
-- dve->e1 = e1;
-+ DotVarExp *dvx = (DotVarExp *)dve->copy();
-+ dvx->e1 = e1;
-+ CallExp *cx = (CallExp *)ce->copy();
-+ cx->e1 = dvx;
-+
-+ (*pinit) = new CommaExp(loc, e, cx);
- (*pinit) = (*pinit)->semantic(sc);
- goto Ldtor;
- }
-diff -Nurp a/src/dmd/opover.c b/src/dmd/opover.c
---- a/src/dmd/opover.c 2012-04-17 12:02:10.226883191 +0200
-+++ b/src/dmd/opover.c 2012-04-17 12:37:45.585187488 +0200
-@@ -354,9 +354,11 @@ Expression *UnaExp::op_overload(Scope *s
- /* Rewrite op(e1) as:
- * op(e1.aliasthis)
- */
-- UnaExp *e = (UnaExp *)syntaxCopy();
-- e->e1 = new DotIdExp(loc, e->e1, ad->aliasthis->ident);
-- return e->trySemantic(sc);
-+ Expression *e1 = new DotIdExp(loc, this->e1, ad->aliasthis->ident);
-+ Expression *e = copy();
-+ ((UnaExp *)e)->e1 = e1;
-+ e = e->trySemantic(sc);
-+ return e;
- }
- #endif
- }
-@@ -411,9 +413,11 @@ Expression *ArrayExp::op_overload(Scope
- /* Rewrite op(e1) as:
- * op(e1.aliasthis)
- */
-- UnaExp *e = (UnaExp *)syntaxCopy();
-- e->e1 = new DotIdExp(loc, e->e1, ad->aliasthis->ident);
-- return e->trySemantic(sc);
-+ Expression *e1 = new DotIdExp(loc, this->e1, ad->aliasthis->ident);
-+ Expression *e = copy();
-+ ((UnaExp *)e)->e1 = e1;
-+ e = e->trySemantic(sc);
-+ return e;
- }
- }
- return NULL;
-@@ -456,9 +460,11 @@ Expression *CastExp::op_overload(Scope *
- /* Rewrite op(e1) as:
- * op(e1.aliasthis)
- */
-- UnaExp *e = (UnaExp *)syntaxCopy();
-- e->e1 = new DotIdExp(loc, e->e1, ad->aliasthis->ident);
-- return e->trySemantic(sc);
-+ Expression *e1 = new DotIdExp(loc, this->e1, ad->aliasthis->ident);
-+ Expression *e = copy();
-+ ((UnaExp *)e)->e1 = e1;
-+ e = e->trySemantic(sc);
-+ return e;
- }
- }
- return NULL;
-@@ -714,9 +720,11 @@ L1:
- /* Rewrite (e1 op e2) as:
- * (e1.aliasthis op e2)
- */
-- BinExp *e = (BinExp *)syntaxCopy();
-- e->e1 = new DotIdExp(loc, e->e1, ad1->aliasthis->ident);
-- return e->trySemantic(sc);
-+ Expression *e1 = new DotIdExp(loc, this->e1, ad1->aliasthis->ident);
-+ Expression *e = copy();
-+ ((BinExp *)e)->e1 = e1;
-+ e = e->trySemantic(sc);
-+ return e;
- }
-
- // Try alias this on second operand
-@@ -729,9 +737,11 @@ L1:
- /* Rewrite (e1 op e2) as:
- * (e1 op e2.aliasthis)
- */
-- BinExp *e = (BinExp *)syntaxCopy();
-- e->e2 = new DotIdExp(loc, e->e2, ad2->aliasthis->ident);
-- return e->trySemantic(sc);
-+ Expression *e2 = new DotIdExp(loc, this->e2, ad2->aliasthis->ident);
-+ Expression *e = copy();
-+ ((BinExp *)e)->e2 = e2;
-+ e = e->trySemantic(sc);
-+ return e;
- }
- #endif
- return NULL;
-@@ -883,9 +893,11 @@ Expression *BinExp::compare_overload(Sco
- /* Rewrite (e1 op e2) as:
- * (e1.aliasthis op e2)
- */
-- BinExp *e = (BinExp *)syntaxCopy();
-- e->e1 = new DotIdExp(loc, e->e1, ad1->aliasthis->ident);
-- return e->trySemantic(sc);
-+ Expression *e1 = new DotIdExp(loc, this->e1, ad1->aliasthis->ident);
-+ Expression *e = copy();
-+ ((BinExp *)e)->e1 = e1;
-+ e = e->trySemantic(sc);
-+ return e;
- }
-
- // Try alias this on second operand
-@@ -894,9 +906,11 @@ Expression *BinExp::compare_overload(Sco
- /* Rewrite (e1 op e2) as:
- * (e1 op e2.aliasthis)
- */
-- BinExp *e = (BinExp *)syntaxCopy();
-- e->e2 = new DotIdExp(loc, e->e2, ad2->aliasthis->ident);
-- return e->trySemantic(sc);
-+ Expression *e2 = new DotIdExp(loc, this->e2, ad2->aliasthis->ident);
-+ Expression *e = copy();
-+ ((BinExp *)e)->e2 = e2;
-+ e = e->trySemantic(sc);
-+ return e;
- }
-
- return NULL;
-@@ -1131,9 +1145,11 @@ L1:
- /* Rewrite (e1 op e2) as:
- * (e1.aliasthis op e2)
- */
-- BinExp *e = (BinExp *)syntaxCopy();
-- e->e1 = new DotIdExp(loc, e->e1, ad1->aliasthis->ident);
-- return e->trySemantic(sc);
-+ Expression *e1 = new DotIdExp(loc, this->e1, ad1->aliasthis->ident);
-+ Expression *e = copy();
-+ ((BinExp *)e)->e1 = e1;
-+ e = e->trySemantic(sc);
-+ return e;
- }
-
- // Try alias this on second operand
-@@ -1143,9 +1159,11 @@ L1:
- /* Rewrite (e1 op e2) as:
- * (e1 op e2.aliasthis)
- */
-- BinExp *e = (BinExp *)syntaxCopy();
-- e->e2 = new DotIdExp(loc, e->e2, ad2->aliasthis->ident);
-- return e->trySemantic(sc);
-+ Expression *e2 = new DotIdExp(loc, this->e2, ad2->aliasthis->ident);
-+ Expression *e = copy();
-+ ((BinExp *)e)->e2 = e2;
-+ e = e->trySemantic(sc);
-+ return e;
- }
- #endif
- return NULL;