aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/statementsem.d
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2023-11-12 14:21:43 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2023-11-21 15:07:47 +0100
commit1250858ac9c1426da06116823bd3e1fca64c7d56 (patch)
treedc9a47116061b7711436b7e5851db51417b0ef44 /gcc/d/dmd/statementsem.d
parent8faae311a60a552ed3d506de28c50c77fa49b229 (diff)
downloadgcc-1250858ac9c1426da06116823bd3e1fca64c7d56.zip
gcc-1250858ac9c1426da06116823bd3e1fca64c7d56.tar.gz
gcc-1250858ac9c1426da06116823bd3e1fca64c7d56.tar.bz2
d: Merge upstream dmd ff57fec515, druntime ff57fec515, phobos 17bafda79.
D front-end changes: - Import dmd v2.106.0-rc.1. - New'ing multi-dimensional arrays are now are converted to a single template call `_d_newarraymTX'. D runtime changes: - Import druntime v2.106.0-rc.1. Phobos changes: - Import phobos v2.106.0-rc.1. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd ff57fec515. * dmd/VERSION: Bump version to v2.106.0-rc.1. * expr.cc (ExprVisitor::visit (CatAssignExp *)): Update for new front-end interface. (ExprVisitor::visit (NewExp *)): Likewise. * runtime.def (NEWARRAYMTX): Remove. (NEWARRAYMITX): Remove. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime ff57fec515. * src/MERGE: Merge upstream phobos 17bafda79. gcc/testsuite/ChangeLog: * gdc.dg/asm1.d: Adjust expected diagnostic.
Diffstat (limited to 'gcc/d/dmd/statementsem.d')
-rw-r--r--gcc/d/dmd/statementsem.d4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/d/dmd/statementsem.d b/gcc/d/dmd/statementsem.d
index f8b2c26..3873adc 100644
--- a/gcc/d/dmd/statementsem.d
+++ b/gcc/d/dmd/statementsem.d
@@ -3801,7 +3801,7 @@ private extern(D) Expression applyOpApply(ForeachStatement fs, Expression flde,
{
version (none)
{
- if (global.params.useDIP1000 == FeatureState.enabled)
+ if (sc2.useDIP1000 == FeatureState.enabled)
{
message(loc, "To enforce `@safe`, the compiler allocates a closure unless `opApply()` uses `scope`");
}
@@ -3809,7 +3809,7 @@ private extern(D) Expression applyOpApply(ForeachStatement fs, Expression flde,
}
else
{
- if (global.params.useDIP1000 == FeatureState.enabled)
+ if (sc2.useDIP1000 == FeatureState.enabled)
++(cast(FuncExp)flde).fd.tookAddressOf; // allocate a closure unless the opApply() uses 'scope'
}
assert(tab.ty == Tstruct || tab.ty == Tclass);