# HG changeset patch # User Christian Kamm # Date 1232284480 -3600 # Node ID e74e2e53ba3b2c03f25a95092495f2cb874dc457 # Parent 063ba84a965f94b26c0c5c644826e62ec239f728 Remove optimizer syntax copies where they weren't proven to be necessary. Copying without calling semantic() leads to issues for more complicated expressions. diff -r 063ba84a965f -r e74e2e53ba3b dmd/optimize.c --- a/dmd/optimize.c Sun Jan 18 13:18:31 2009 +0100 +++ b/dmd/optimize.c Sun Jan 18 14:14:40 2009 +0100 @@ -365,7 +365,6 @@ if (e1->op == TOKnull && (type->ty == Tpointer || type->ty == Tclass)) { - e1 = e1->syntaxCopy(); e1->type = type; return e1; } @@ -381,7 +380,6 @@ cdto = type->isClassHandle(); if (cdto->isBaseOf(cdfrom, &offset) && offset == 0) { - e1 = e1->syntaxCopy(); e1->type = type; return e1; } @@ -396,7 +394,6 @@ if (type->size() == e1->type->size() && type->toBasetype()->ty != Tsarray) { - e1 = e1->syntaxCopy(); e1->type = type; return e1; }