From bf465206b7012a9049821c68236093969d7767da Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Fri, 21 Aug 2020 01:52:28 +0200 Subject: [PATCH] d: Adjust backport of PR96250 for front-end implementation. gcc/d/ChangeLog: 2020-08-21 Iain Buclaw PR d/96250 * dmd/expressionsem.c (ExpressionSemanticVisitor::visit(TypeExp)): Fix cast from Expression to VarExp. --- gcc/d/dmd/expressionsem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/d/dmd/expressionsem.c b/gcc/d/dmd/expressionsem.c index 562c2a60426c..559c656e6540 100644 --- a/gcc/d/dmd/expressionsem.c +++ b/gcc/d/dmd/expressionsem.c @@ -815,7 +815,7 @@ public: // `(Type)` is actually `(var)` so if `(var)` is a member requiring `this` // then rewrite as `(this.var)` in case it would be followed by a DotVar // to fix https://issues.dlang.org/show_bug.cgi?id=9490 - VarExp *ve = e->isVarExp(); + VarExp *ve = (e->op == TOKvar) ? (VarExp *)e : NULL; if (ve && ve->var && exp->parens && !ve->var->isStatic() && !(sc->stc & STCstatic) && sc->func && sc->func->needThis() && ve->var->toParent2()->isAggregateDeclaration()) { -- 2.47.2