diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2022-09-27 10:43:32 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2022-09-27 10:50:18 +0200 |
commit | c8dfa79c9948ce09a7b4071f8059294b1972aef6 (patch) | |
tree | cb93655417a5475c6baac88691fc92621b3fa7ce /gcc/d/dmd/canthrow.d | |
parent | be4a6551ed37c1e7dbdfb9400fc2e2b5d40c5be2 (diff) | |
download | gcc-c8dfa79c9948ce09a7b4071f8059294b1972aef6.zip gcc-c8dfa79c9948ce09a7b4071f8059294b1972aef6.tar.gz gcc-c8dfa79c9948ce09a7b4071f8059294b1972aef6.tar.bz2 |
d: Merge upstream dmd d579c467c1, phobos 88aa69b14.
D front-end changes:
- Throwing from contracts of `nothrow' functions has been
deprecated, as this breaks the guarantees of `nothrow'.
- Added language support for initializing the interior pointer of
associative arrays using `new' keyword.
Phobos changes:
- The std.digest.digest module has been removed.
- The std.xml module has been removed.
gcc/d/ChangeLog:
* dmd/MERGE: Merge upstream dmd d579c467c1.
* decl.cc (layout_struct_initializer): Update for new front-end
interface.
* expr.cc (ExprVisitor::visit (AssignExp *)): Remove lowering of array
assignments.
(ExprVisitor::visit (NewExp *)): Add new lowering of new'ing
associative arrays to an _aaNew() library call.
* runtime.def (ARRAYSETASSIGN): Remove.
(AANEW): Define.
libphobos/ChangeLog:
* libdruntime/MERGE: Merge upstream druntime d579c467c1.
* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Remove
rt/arrayassign.d.
* libdruntime/Makefile.in: Regenerate.
* src/MERGE: Merge upstream phobos 88aa69b14.
* src/Makefile.am (PHOBOS_DSOURCES): Remove std/digest/digest.d,
std/xml.d.
* src/Makefile.in: Regenerate.
Diffstat (limited to 'gcc/d/dmd/canthrow.d')
-rw-r--r-- | gcc/d/dmd/canthrow.d | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/gcc/d/dmd/canthrow.d b/gcc/d/dmd/canthrow.d index 088ca61..09e3833 100644 --- a/gcc/d/dmd/canthrow.d +++ b/gcc/d/dmd/canthrow.d @@ -111,13 +111,9 @@ extern (C++) /* CT */ BE canThrow(Expression e, FuncDeclaration func, bool mustN auto ts = tbNext.baseElemOf().isTypeStruct(); if (ts) { - import dmd.id : Id; - auto sd = ts.sym; const id = ce.f.ident; - if (sd.postblit && - (id == Id._d_arrayctor || id == Id._d_arraysetctor || - id == Id._d_arrayassign_l || id == Id._d_arrayassign_r)) + if (sd.postblit && isArrayConstructionOrAssign(id)) { checkFuncThrows(ce, sd.postblit); return; |