Hi, This patch merges the D front-end implementation with upstream dmd cb49e99f8, as well as the D runtime libraries with druntime 55528bd1, and phobos 1a3e80ec2, synchronizing with the release of 2.099.0-beta1.
D front-end changes:
- Import dmd v2.099.0-beta.1.
- It's now an error to use `alias this' for partial assignment.
- The `delete' keyword has been removed from the language.
- Using `this' and `super' as types has been removed from the
language, the parser no longer specially handles this wrong code
with an informative error.
D Runtime changes:
- Import druntime v2.099.0-beta.1.
Phobos changes:
- Import phobos v2.099.0-beta.1.
Bootstrapped and regression tested on x86_64-linux-gnu/-m32/-mx32, and
committed to mainline.
Regards,
Iain.
---
gcc/d/ChangeLog:
* dmd/MERGE: Merge upstream dmd cb49e99f8.
* dmd/VERSION: Update version to v2.099.0-beta.1.
* decl.cc (layout_class_initializer): Update call to NewExp::create.
* expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of
deleting arrays and pointers.
(ExprVisitor::visit (DotVarExp *)): Convert complex types to the
front-end library type representing them.
(ExprVisitor::visit (StringExp *)): Use getCodeUnit instead of charAt
to get the value of each index in a string expression.
* runtime.def (DELMEMORY): Remove.
(DELARRAYT): Remove.
* types.cc (TypeVisitor::visit (TypeEnum *)): Handle anonymous enums.
libphobos/ChangeLog:
* libdruntime/MERGE: Merge upstream druntime 55528bd1.
* src/MERGE: Merge upstream phobos 1a3e80ec2.
* testsuite/libphobos.hash/test_hash.d: Update.
* testsuite/libphobos.betterc/test19933.d: New test.
---
gcc/d/decl.cc | 2 +-
gcc/d/dmd/MERGE | 2 +-
gcc/d/dmd/VERSION | 2 +-
gcc/d/dmd/apply.d | 4 +-
gcc/d/dmd/canthrow.d | 12 +-
gcc/d/dmd/clone.d | 37 +-
gcc/d/dmd/constfold.d | 6 +-
gcc/d/dmd/cparse.d | 27 +-
gcc/d/dmd/ctfeexpr.d | 2 +-
gcc/d/dmd/dcast.d | 4267 ++++++++---------
gcc/d/dmd/declaration.d | 5 +-
gcc/d/dmd/declaration.h | 1 -
gcc/d/dmd/dinterpret.d | 106 +-
gcc/d/dmd/dmangle.d | 3 +-
gcc/d/dmd/dmodule.d | 78 +-
gcc/d/dmd/dscope.d | 2 +-
gcc/d/dmd/dsymbol.d | 11 +-
gcc/d/dmd/dsymbol.h | 2 +
gcc/d/dmd/dsymbolsem.d | 184 +-
gcc/d/dmd/dtemplate.d | 52 +-
gcc/d/dmd/dtoh.d | 24 +-
gcc/d/dmd/escape.d | 2 +-
gcc/d/dmd/expression.d | 115 +-
gcc/d/dmd/expression.h | 17 +-
gcc/d/dmd/expressionsem.d | 304 +-
gcc/d/dmd/func.d | 3 +-
gcc/d/dmd/hdrgen.d | 70 +-
gcc/d/dmd/iasmgcc.d | 2 +-
gcc/d/dmd/id.d | 4 -
gcc/d/dmd/importc.d | 47 +
gcc/d/dmd/initsem.d | 4 +
gcc/d/dmd/lexer.d | 444 +-
gcc/d/dmd/mtype.d | 45 +-
gcc/d/dmd/nogc.d | 42 +-
gcc/d/dmd/opover.d | 342 +-
gcc/d/dmd/optimize.d | 7 -
gcc/d/dmd/parse.d | 794 +--
gcc/d/dmd/printast.d | 10 +
gcc/d/dmd/semantic2.d | 2 +-
gcc/d/dmd/semantic3.d | 22 +-
gcc/d/dmd/statementsem.d | 206 +-
gcc/d/dmd/staticassert.d | 5 +
gcc/d/dmd/staticassert.h | 1 +
gcc/d/dmd/tokens.d | 120 +-
gcc/d/dmd/tokens.h | 13 +-
gcc/d/dmd/transitivevisitor.d | 4 -
gcc/d/dmd/typesem.d | 80 +-
gcc/d/expr.cc | 46 +-
gcc/d/runtime.def | 7 -
gcc/d/types.cc | 14 +-
gcc/testsuite/gdc.dg/special1.d | 12 +
gcc/testsuite/gdc.test/compilable/99bottles.d | 212 +-
gcc/testsuite/gdc.test/compilable/b18242.d | 6 +-
gcc/testsuite/gdc.test/compilable/b19294.d | 10 +-
gcc/testsuite/gdc.test/compilable/b20938.d | 6 +-
gcc/testsuite/gdc.test/compilable/b21285.d | 10 +-
.../gdc.test/compilable/commontype.d | 9 +-
gcc/testsuite/gdc.test/compilable/ddoc10.d | 2 +-
gcc/testsuite/gdc.test/compilable/ddoc11.d | 2 +-
gcc/testsuite/gdc.test/compilable/ddoc14.d | 2 +-
gcc/testsuite/gdc.test/compilable/ddoc3.d | 2 +-
gcc/testsuite/gdc.test/compilable/ddoc5.d | 4 +-
gcc/testsuite/gdc.test/compilable/ddoc5446.d | 22 +-
gcc/testsuite/gdc.test/compilable/ddoc9155.d | 10 +-
.../gdc.test/compilable/debugInference.d | 6 +-
gcc/testsuite/gdc.test/compilable/defa.d | 2 +-
.../gdc.test/compilable/dlangui_crash.d | 34 +
.../gdc.test/compilable/enumbasearithmetic.d | 20 +
.../gdc.test/compilable/header18364.d | 2 +-
.../gdc.test/compilable/imports/b33a.d | 4 +-
.../gdc.test/compilable/imports/imp22734.c | 3 +
.../gdc.test/compilable/imports/test22714a.d | 3 +
.../gdc.test/compilable/imports/test22714b.d | 12 +
.../gdc.test/compilable/issue16472.d | 42 +
.../gdc.test/compilable/issue21340.d | 4 +-
.../gdc.test/compilable/issue21813b.d | 2 +-
gcc/testsuite/gdc.test/compilable/minimal.d | 2 +-
gcc/testsuite/gdc.test/compilable/test10993.d | 2 +-
gcc/testsuite/gdc.test/compilable/test16107.d | 6 +-
gcc/testsuite/gdc.test/compilable/test17545.d | 2 +-
gcc/testsuite/gdc.test/compilable/test17906.d | 7 -
gcc/testsuite/gdc.test/compilable/test18030.d | 2 +-
gcc/testsuite/gdc.test/compilable/test19014.d | 2 +-
gcc/testsuite/gdc.test/compilable/test19315.d | 2 +-
gcc/testsuite/gdc.test/compilable/test19557.d | 2 +-
gcc/testsuite/gdc.test/compilable/test19609.d | 4 +-
gcc/testsuite/gdc.test/compilable/test21177.d | 76 +
gcc/testsuite/gdc.test/compilable/test21196.d | 71 +
gcc/testsuite/gdc.test/compilable/test22224.d | 2 +-
gcc/testsuite/gdc.test/compilable/test22632.d | 4 +
gcc/testsuite/gdc.test/compilable/test22714.d | 3 +
gcc/testsuite/gdc.test/compilable/test22734.d | 6 +
gcc/testsuite/gdc.test/compilable/test4375.d | 6 +-
gcc/testsuite/gdc.test/compilable/test7172.d | 2 +-
gcc/testsuite/gdc.test/compilable/test8296.d | 4 +-
gcc/testsuite/gdc.test/compilable/test8513.d | 8 +-
.../gdc.test/compilable/testpostblit.d | 2 +-
.../gdc.test/compilable/testsctreturn.d | 16 +
.../gdc.test/compilable/typeid_name.d | 2 +-
gcc/testsuite/gdc.test/compilable/vgc1.d | 17 +-
.../gdc.test/fail_compilation/b20011.d | 2 +-
.../gdc.test/fail_compilation/b3841.d | 2 +-
.../gdc.test/fail_compilation/bug16165.d | 2 +-
.../gdc.test/fail_compilation/bug8150a.d | 2 +-
.../gdc.test/fail_compilation/bug8150b.d | 2 +-
.../gdc.test/fail_compilation/ccast.d | 2 +-
.../gdc.test/fail_compilation/ctfe14731.d | 2 +-
.../gdc.test/fail_compilation/diag10319.d | 2 +-
.../gdc.test/fail_compilation/diag10805.d | 2 +-
.../gdc.test/fail_compilation/diag13281.d | 6 +-
.../gdc.test/fail_compilation/diag15713.d | 4 +-
.../gdc.test/fail_compilation/diag16977.d | 4 +-
.../fail_compilation/dtor_attributes.d | 2 +-
.../gdc.test/fail_compilation/fail10964.d | 2 +-
.../gdc.test/fail_compilation/fail11375.d | 2 +-
.../gdc.test/fail_compilation/fail11542.d | 8 +-
.../gdc.test/fail_compilation/fail12809.d | 8 +-
.../gdc.test/fail_compilation/fail14277.d | 10 +
.../gdc.test/fail_compilation/fail14486.d | 45 +-
.../gdc.test/fail_compilation/fail14554.d | 4 +-
.../gdc.test/fail_compilation/fail15089.d | 2 +-
.../gdc.test/fail_compilation/fail160.d | 2 +-
.../gdc.test/fail_compilation/fail17906.d | 12 +
.../gdc.test/fail_compilation/fail17969.d | 2 +-
.../gdc.test/fail_compilation/fail18228.d | 6 +-
.../gdc.test/fail_compilation/fail19441.d | 2 +-
.../gdc.test/fail_compilation/fail196.d | 10 +-
.../gdc.test/fail_compilation/fail19897.d | 2 +-
.../gdc.test/fail_compilation/fail19911b.d | 2 +-
.../gdc.test/fail_compilation/fail19911c.d | 2 +-
.../gdc.test/fail_compilation/fail19922.d | 2 +-
.../gdc.test/fail_compilation/fail19923.d | 2 +-
.../gdc.test/fail_compilation/fail20.d | 2 +-
.../gdc.test/fail_compilation/fail20800.d | 2 +-
.../gdc.test/fail_compilation/fail22127.d | 11 +
.../gdc.test/fail_compilation/fail22634.d | 12 +
.../gdc.test/fail_compilation/fail22780.d | 12 +
.../gdc.test/fail_compilation/fail2361.d | 3 +-
.../gdc.test/fail_compilation/fail258.d | 12 +-
.../gdc.test/fail_compilation/fail332.d | 2 +-
.../gdc.test/fail_compilation/fail349.d | 2 +-
.../gdc.test/fail_compilation/fail354.d | 2 +-
.../gdc.test/fail_compilation/fail4082.d | 4 +-
.../gdc.test/fail_compilation/fail4269a.d | 2 +-
.../gdc.test/fail_compilation/fail4269b.d | 2 +-
.../gdc.test/fail_compilation/fail4269c.d | 2 +-
.../gdc.test/fail_compilation/fail4375d.d | 2 +-
.../gdc.test/fail_compilation/fail6968.d | 2 +-
.../gdc.test/fail_compilation/fail7848.d | 4 +-
.../gdc.test/fail_compilation/fail80_m32.d | 2 +-
.../gdc.test/fail_compilation/fail80_m64.d | 2 +-
.../gdc.test/fail_compilation/fail8724.d | 2 +-
.../gdc.test/fail_compilation/fail_arrayop2.d | 6 +-
.../gdc.test/fail_compilation/fail_typeof.d | 82 +
.../gdc.test/fail_compilation/faildeleteaa.d | 3 +-
.../gdc.test/fail_compilation/ice10727a.d | 2 +
.../gdc.test/fail_compilation/ice10727b.d | 2 +
.../gdc.test/fail_compilation/ice11968.d | 3 +-
.../gdc.test/fail_compilation/ice18753.d | 2 +-
.../gdc.test/fail_compilation/lexer1.d | 4 +-
.../gdc.test/fail_compilation/no_Throwable.d | 2 +-
.../gdc.test/fail_compilation/no_TypeInfo.d | 2 +-
.../gdc.test/fail_compilation/nogc1.d | 9 +-
.../gdc.test/fail_compilation/noreturn2.d | 2 +-
.../gdc.test/fail_compilation/scope_type.d | 2 +-
.../gdc.test/fail_compilation/test12228.d | 6 +-
.../gdc.test/fail_compilation/test16195.d | 3 +-
.../gdc.test/fail_compilation/test17307.d | 2 +-
.../gdc.test/fail_compilation/test20245.d | 53 +-
.../gdc.test/fail_compilation/test22145.d | 28 +
.../gdc.test/fail_compilation/test22686.d | 21 +
gcc/testsuite/gdc.test/runnable/b18034.d | 10 +-
.../gdc.test/runnable/imports/a15079.d | 2 +-
.../gdc.test/runnable/imports/a19a.d | 2 +-
.../gdc.test/runnable/imports/link12144a.d | 2 +-
.../gdc.test/runnable/imports/test11745b.d | 12 +-
.../gdc.test/runnable/imports/test46c.d | 2 +-
gcc/testsuite/gdc.test/runnable/inline7625.d | 185 +
gcc/testsuite/gdc.test/runnable/interface.d | 12 +-
gcc/testsuite/gdc.test/runnable/interface2.d | 11 +-
gcc/testsuite/gdc.test/runnable/interpret.d | 91 +-
gcc/testsuite/gdc.test/runnable/link12144.d | 6 -
gcc/testsuite/gdc.test/runnable/link15017.d | 8 +-
gcc/testsuite/gdc.test/runnable/mixin1.d | 7 +-
gcc/testsuite/gdc.test/runnable/newdel.d | 8 +-
gcc/testsuite/gdc.test/runnable/sdtor.d | 26 +-
gcc/testsuite/gdc.test/runnable/test11934.d | 2 +-
gcc/testsuite/gdc.test/runnable/test17684.d | 20 +-
gcc/testsuite/gdc.test/runnable/test17899.d | 2 +-
gcc/testsuite/gdc.test/runnable/test20.d | 8 +-
gcc/testsuite/gdc.test/runnable/test22136.d | 25 +
gcc/testsuite/gdc.test/runnable/test22163.d | 13 +
gcc/testsuite/gdc.test/runnable/test22717.d | 31 +
gcc/testsuite/gdc.test/runnable/test4.d | 8 +-
gcc/testsuite/gdc.test/runnable/testappend.d | 16 +-
gcc/testsuite/gdc.test/runnable/testconst.d | 4 +-
gcc/testsuite/gdc.test/runnable/testdstress.d | 8 +-
gcc/testsuite/gdc.test/runnable/testptrref.d | 10 +-
gcc/testsuite/gdc.test/runnable/xpostblit.d | 2 +-
gcc/testsuite/gdc.test/runnable_cxx/cppa.d | 2 +-
libphobos/libdruntime/MERGE | 2 +-
libphobos/libdruntime/__builtins.di | 65 +
libphobos/libdruntime/core/attribute.d | 49 +
libphobos/libdruntime/core/bitop.d | 13 -
libphobos/libdruntime/core/int128.d | 2 +
.../core/internal/array/appending.d | 8 +-
.../core/internal/array/comparison.d | 33 +-
libphobos/libdruntime/core/internal/convert.d | 22 -
libphobos/libdruntime/core/lifetime.d | 4 +-
libphobos/libdruntime/core/math.d | 1 +
libphobos/libdruntime/core/runtime.d | 2 +-
libphobos/libdruntime/core/stdc/stdio.d | 17 +-
libphobos/libdruntime/core/sys/linux/config.d | 3 +
libphobos/libdruntime/core/sys/linux/dlfcn.d | 22 +-
libphobos/libdruntime/core/sys/linux/errno.d | 2 +-
.../libdruntime/core/sys/linux/netinet/in_.d | 10 +-
libphobos/libdruntime/core/sys/linux/string.d | 2 +-
.../libdruntime/core/sys/linux/sys/mman.d | 72 +-
libphobos/libdruntime/core/sys/posix/aio.d | 132 +-
libphobos/libdruntime/core/sys/posix/config.d | 58 +-
libphobos/libdruntime/core/sys/posix/spawn.d | 12 +-
.../libdruntime/core/sys/posix/sys/ipc.d | 65 +-
.../libdruntime/core/sys/posix/sys/mman.d | 4 +-
.../libdruntime/core/sys/posix/sys/shm.d | 12 +
.../libdruntime/core/sys/posix/sys/socket.d | 32 +-
.../libdruntime/core/sys/posix/sys/stat.d | 24 +-
.../libdruntime/core/sys/posix/sys/statvfs.d | 2 +-
.../libdruntime/core/sys/posix/sys/types.d | 2 +-
libphobos/libdruntime/object.d | 4 +-
libphobos/libdruntime/rt/util/typeinfo.d | 289 +-
libphobos/src/MERGE | 2 +-
libphobos/src/std/algorithm/internal.d | 2 +
libphobos/src/std/bigint.d | 16 +-
libphobos/src/std/container/rbtree.d | 16 +-
libphobos/src/std/conv.d | 2 +-
libphobos/src/std/file.d | 27 +-
libphobos/src/std/functional.d | 9 +-
libphobos/src/std/internal/math/biguintcore.d | 6 +-
libphobos/src/std/socket.d | 17 +-
libphobos/src/std/sumtype.d | 20 +
libphobos/src/std/typecons.d | 42 +-
libphobos/src/std/uni/package.d | 2 +-
libphobos/src/std/zip.d | 35 +-
.../testsuite/libphobos.betterc/test19933.d | 11 +
.../testsuite/libphobos.hash/test_hash.d | 2 +-
245 files changed, 5541 insertions(+), 4939 deletions(-)
create mode 100644 gcc/testsuite/gdc.dg/special1.d
create mode 100644 gcc/testsuite/gdc.test/compilable/dlangui_crash.d
create mode 100644 gcc/testsuite/gdc.test/compilable/enumbasearithmetic.d
create mode 100644 gcc/testsuite/gdc.test/compilable/imports/imp22734.c
create mode 100644 gcc/testsuite/gdc.test/compilable/imports/test22714a.d
create mode 100644 gcc/testsuite/gdc.test/compilable/imports/test22714b.d
create mode 100644 gcc/testsuite/gdc.test/compilable/issue16472.d
delete mode 100644 gcc/testsuite/gdc.test/compilable/test17906.d
create mode 100644 gcc/testsuite/gdc.test/compilable/test21177.d
create mode 100644 gcc/testsuite/gdc.test/compilable/test21196.d
create mode 100644 gcc/testsuite/gdc.test/compilable/test22632.d
create mode 100644 gcc/testsuite/gdc.test/compilable/test22714.d
create mode 100644 gcc/testsuite/gdc.test/compilable/test22734.d
create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail14277.d
create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail17906.d
create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail22127.d
create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail22634.d
create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail22780.d
create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail_typeof.d
create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test22145.d
create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test22686.d
create mode 100644 gcc/testsuite/gdc.test/runnable/inline7625.d
create mode 100644 gcc/testsuite/gdc.test/runnable/test22136.d
create mode 100644 gcc/testsuite/gdc.test/runnable/test22163.d
create mode 100644 gcc/testsuite/gdc.test/runnable/test22717.d
create mode 100644 libphobos/testsuite/libphobos.betterc/test19933.d
0001.patch.xz
Description: application/xz
