Skip to content

Commit

Permalink
Merge v2.086.0-rc.2
Browse files Browse the repository at this point in the history
  • Loading branch information
kinke committed May 4, 2019
1 parent b4d7c09 commit e4a5e59
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 9 deletions.
4 changes: 4 additions & 0 deletions dmd/compiler.d
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,10 @@ else
assert(type.size() == 8); // 64-bit target `real`
goto case Tfloat64;

case Tfloat80:
assert(type.size() == 8); // 64-bit target `real`
goto case Tfloat64;

default:
assert(0, "Unsupported target type");
}
Expand Down
8 changes: 4 additions & 4 deletions dmd/dinterpret.d
Original file line number Diff line number Diff line change
Expand Up @@ -5631,7 +5631,7 @@ public:
/* Set dollar to the length of the array
*/
uinteger_t dollar;
if (e1.op == TOK.variable && e1.type.toBasetype().ty == Tsarray)
if ((e1.op == TOK.variable || e1.op == TOK.dotVariable) && e1.type.toBasetype().ty == Tsarray)
dollar = e1.type.toBasetype().isTypeSArray().dim.toInteger();
else
{
Expand Down Expand Up @@ -6563,15 +6563,15 @@ private Expression scrubReturnValue(const ref Loc loc, Expression e)
return true;
}

if (auto sle = e.isStructLiteralExp())
return isEntirelyVoid(sle.elements);

if (checkArrayType && e.type.ty != Tsarray)
return false;

if (auto ale = e.isArrayLiteralExp())
return isEntirelyVoid(ale.elements);

if (auto sle = e.isStructLiteralExp())
return isEntirelyVoid(sle.elements);

return false;
}

Expand Down
2 changes: 2 additions & 0 deletions dmd/expressionsem.d
Original file line number Diff line number Diff line change
Expand Up @@ -3642,6 +3642,8 @@ private extern (C++) final class ExpressionSemanticVisitor : Visitor
if (!e.cd.errors && sc.intypeof && !sc.parent.inNonRoot())
{
ScopeDsymbol sds = sc.tinst ? cast(ScopeDsymbol)sc.tinst : sc._module;
if (!sds.members)
sds.members = new Dsymbols();
sds.members.push(e.cd);
}

Expand Down
11 changes: 9 additions & 2 deletions dmd/statementsem.d
Original file line number Diff line number Diff line change
Expand Up @@ -3464,8 +3464,15 @@ version (IN_LLVM)
}
if (e0)
{
result = new CompoundStatement(rs.loc, new ExpStatement(rs.loc, e0), rs);
return;
if (e0.op == TOK.declaration || e0.op == TOK.comma)
{
rs.exp = Expression.combine(e0, rs.exp);
}
else
{
result = new CompoundStatement(rs.loc, new ExpStatement(rs.loc, e0), rs);
return;
}
}
result = rs;
}
Expand Down
1 change: 1 addition & 0 deletions dmd/typesem.d
Original file line number Diff line number Diff line change
Expand Up @@ -1655,6 +1655,7 @@ extern(C++) Type typeSemantic(Type t, Loc loc, Scope* sc)
mtype.sym = (cast(DotTemplateExp)e).td;
break;
case TOK.dSymbol:
case TOK.template_:
mtype.sym = (cast(DsymbolExp)e).s;
break;
case TOK.scope_:
Expand Down
2 changes: 1 addition & 1 deletion runtime/druntime
Submodule druntime updated 1 files
+5 −1 src/core/memory.d
2 changes: 1 addition & 1 deletion runtime/phobos
Submodule phobos updated 1 files
+2 −2 std/range/package.d
2 changes: 1 addition & 1 deletion tests/d2/dmd-testsuite

0 comments on commit e4a5e59

Please sign in to comment.