diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b0908303b4..77c746816df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,7 +67,7 @@ set(LDC_VERSION "1.13.0") # May be overridden by git hash tag set(DMDFE_MAJOR_VERSION 2) set(DMDFE_MINOR_VERSION 0) set(DMDFE_PATCH_VERSION 83) -set(DMDFE_FIX_LEVEL 0) # Comment out if not used +set(DMDFE_FIX_LEVEL 1) # Comment out if not used set(DMD_VERSION ${DMDFE_MAJOR_VERSION}.${DMDFE_MINOR_VERSION}${DMDFE_PATCH_VERSION}) if(DEFINED DMDFE_FIX_LEVEL) diff --git a/dmd/func.d b/dmd/func.d index db1398b5e15..7677c66ed6f 100644 --- a/dmd/func.d +++ b/dmd/func.d @@ -2906,7 +2906,8 @@ FuncDeclaration resolveFuncCall(const ref Loc loc, Scope* sc, Dsymbol s, { assert(fd); - if (fd.checkDisabled(loc, sc)) + // remove when deprecation period of class allocators and deallocators is over + if (fd.isNewDeclaration() && fd.checkDisabled(loc, sc)) return null; bool hasOverloads = fd.overnext !is null; diff --git a/gen/statements.cpp b/gen/statements.cpp index a164dd840a5..3173dea09f0 100644 --- a/gen/statements.cpp +++ b/gen/statements.cpp @@ -250,19 +250,19 @@ class ToIRVisitor : public Visitor { // emit dwarf stop point irs->DBuilder.EmitStopPoint(stmt->loc); - emitCoverageLinecountInc(stmt->loc); + if (auto e = stmt->exp) { + if (e->hasCode()) + emitCoverageLinecountInc(stmt->loc); - if (stmt->exp) { - elem *e; + DValue *elem; // a cast(void) around the expression is allowed, but doesn't require any // code - if (stmt->exp->op == TOKcast && stmt->exp->type == Type::tvoid) { - CastExp *cexp = static_cast(stmt->exp); - e = toElemDtor(cexp->e1); + if (e->op == TOKcast && e->type == Type::tvoid) { + elem = toElemDtor(static_cast(e)->e1); } else { - e = toElemDtor(stmt->exp); + elem = toElemDtor(e); } - delete e; + delete elem; } } diff --git a/runtime/phobos b/runtime/phobos index 81facea0ab9..59fc794f065 160000 --- a/runtime/phobos +++ b/runtime/phobos @@ -1 +1 @@ -Subproject commit 81facea0ab9d7a3c666013ed187d4ec858f7ee06 +Subproject commit 59fc794f065088522ae73d623d86449e08662742 diff --git a/tests/d2/dmd-testsuite b/tests/d2/dmd-testsuite index 826787b4ff0..7547305ae48 160000 --- a/tests/d2/dmd-testsuite +++ b/tests/d2/dmd-testsuite @@ -1 +1 @@ -Subproject commit 826787b4ff0dedb400c6eb1b923a74100006b8d1 +Subproject commit 7547305ae48fc87024c5f1104eba9c7670c78b5d