[committed] d: Merge upstream dmd, druntime 1017635a96, phobos 5a142da0a

Iain Buclaw ibuclaw@gdcproject.org
Fri Jan 30 10:26:41 GMT 2026


Hi,

This patch merges the D front-end and runtime library with upstream dmd
1017635a96, and the standard library with phobos 5a142da0a.

This, now in sync with upstream development as of May 2025.

D front-end changes:

	- Import dmd v2.112.0-beta.1.

D runtime changes:

	- Import druntime v2.112.0-beta.1.
	- Added 64-bit `mul' and `udivmod' overloads to `core.int128'.

Phobos changes:

	- Added `lazyCache' to `std.algorithm.iteration'.
	- Added `writeText', `writeWText', and `writeDText' to
	  `std.conv'.

Bootstrapped and regression tested on x86_64-linux-gnu/-m32, committed
to mainline.

Regards,
Iain.

---
gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd 1017635a96.
	* dmd/VERSION: Bump version to v2.112.0-beta.1.
	* decl.cc (DeclVisitor::finish_vtable): Update for new front-end
	interface.
	(DeclVisitor::visit): Likewise.
	* typeinfo.cc (TypeInfoVisitor::visit): Likewise.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime 1017635a96.
	* libdruntime/Makefile.am (DRUNTIME_DSOURCES_LINUX): Add
	core/sys/linux/sys/syscall.d, core/sys/linux/syscall.d.
	* libdruntime/Makefile.in: Regenerate.
	* src/MERGE: Merge upstream phobos 5a142da0a.
	* src/Makefile.am (PHOBOS_DSOURCES): Remove
	std/internal/windows/bcrypt.d.
	* src/Makefile.in: Regenerate.

gcc/testsuite/ChangeLog:

	* gdc.dg/asm1.d: Adjust test.
---
 gcc/d/decl.cc                                 |    4 +-
 gcc/d/dmd/MERGE                               |    2 +-
 gcc/d/dmd/VERSION                             |    2 +-
 gcc/d/dmd/aggregate.d                         |    2 -
 gcc/d/dmd/aggregate.h                         |    6 +-
 gcc/d/dmd/arraytypes.d                        |    1 +
 gcc/d/dmd/arraytypes.h                        |    2 +
 gcc/d/dmd/attrib.d                            |    5 -
 gcc/d/dmd/attrib.h                            |    1 -
 gcc/d/dmd/cond.d                              |  116 +-
 gcc/d/dmd/cond.h                              |    4 -
 gcc/d/dmd/cparse.d                            |  332 +++--
 gcc/d/dmd/cxxfrontend.d                       |   27 +-
 gcc/d/dmd/dcast.d                             |   44 +-
 gcc/d/dmd/dclass.d                            |  212 ---
 gcc/d/dmd/declaration.d                       |  103 --
 gcc/d/dmd/declaration.h                       |    4 +-
 gcc/d/dmd/delegatize.d                        |    1 +
 gcc/d/dmd/dinterpret.d                        |   64 +-
 gcc/d/dmd/dmodule.d                           |   99 +-
 gcc/d/dmd/dscope.d                            |    2 +-
 gcc/d/dmd/dstruct.d                           |  223 +--
 gcc/d/dmd/dsymbol.d                           |   79 +-
 gcc/d/dmd/dsymbol.h                           |    5 +-
 gcc/d/dmd/dsymbolsem.d                        |  893 +++++++++++-
 gcc/d/dmd/dtemplate.d                         |   17 +-
 gcc/d/dmd/enumsem.d                           |  140 +-
 gcc/d/dmd/expression.d                        |   43 +-
 gcc/d/dmd/expression.h                        |   29 +-
 gcc/d/dmd/expressionsem.d                     |  364 +++--
 gcc/d/dmd/func.d                              |    6 +-
 gcc/d/dmd/funcsem.d                           | 1252 ++++++++++-------
 gcc/d/dmd/hdrgen.d                            |   14 +-
 gcc/d/dmd/iasmgcc.d                           |   53 +-
 gcc/d/dmd/id.d                                |    1 -
 gcc/d/dmd/imphint.d                           |   24 +
 gcc/d/dmd/importc.d                           |  132 +-
 gcc/d/dmd/initsem.d                           |   47 +-
 gcc/d/dmd/location.d                          |  127 +-
 gcc/d/dmd/mangle/package.d                    |    6 +-
 gcc/d/dmd/mtype.d                             |   10 +-
 gcc/d/dmd/mtype.h                             |    2 +
 gcc/d/dmd/nogc.d                              |   57 +-
 gcc/d/dmd/nspace.d                            |    6 -
 gcc/d/dmd/nspace.h                            |    1 -
 gcc/d/dmd/optimize.d                          |    3 +-
 gcc/d/dmd/parse.d                             |   81 +-
 gcc/d/dmd/semantic2.d                         |   16 +-
 gcc/d/dmd/semantic3.d                         |    4 +-
 gcc/d/dmd/statementsem.d                      |   32 +-
 gcc/d/dmd/template.h                          |    2 +-
 gcc/d/dmd/templatesem.d                       |   13 +-
 gcc/d/dmd/traits.d                            |    2 +-
 gcc/d/dmd/typesem.d                           |   95 +-
 gcc/d/typeinfo.cc                             |    4 +-
 gcc/testsuite/gdc.dg/asm1.d                   |   12 +-
 .../gdc.test/compilable/imports/cstuff3.c     |   13 +
 .../gdc.test/compilable/imports/imp18127a.c   |   74 +
 .../gdc.test/compilable/imports/imp18127b.c   |   74 +
 .../gdc.test/compilable/imports/imp20344.c    |    2 +
 .../gdc.test/compilable/imports/imp20499.c    |    8 +
 gcc/testsuite/gdc.test/compilable/test18127.d |    5 +
 gcc/testsuite/gdc.test/compilable/test20344.d |   14 +
 gcc/testsuite/gdc.test/compilable/test20499.d |    3 +
 gcc/testsuite/gdc.test/compilable/test3004.d  |    2 +-
 .../gdc.test/compilable/testcstuff3.d         |   19 +
 .../gdc.test/compilable/uda_lambda.d          |    3 +
 gcc/testsuite/gdc.test/compilable/vcg-ast.d   |   11 +
 .../gdc.test/fail_compilation/b23686.d        |    2 +-
 .../gdc.test/fail_compilation/checkimports2.d |   10 +-
 .../gdc.test/fail_compilation/diag10405.d     |   11 -
 .../gdc.test/fail_compilation/diag20888.d     |   10 +-
 .../gdc.test/fail_compilation/diag23384.d     |    4 +-
 .../gdc.test/fail_compilation/diag9679.d      |   19 +-
 .../fail_compilation/diag_ptr_conversion.d    |   17 +
 .../fail_compilation/enum_auto_increment.d    |   18 +
 .../gdc.test/fail_compilation/fail109.d       |   14 +-
 .../gdc.test/fail_compilation/fail11714.d     |    6 +-
 .../gdc.test/fail_compilation/fail15361.d     |    3 +-
 .../gdc.test/fail_compilation/fail15616b.d    |    2 +-
 .../gdc.test/fail_compilation/fail16.d        |    5 +-
 .../gdc.test/fail_compilation/fail163.d       |   16 +-
 .../gdc.test/fail_compilation/fail18219.d     |   11 +-
 .../gdc.test/fail_compilation/fail19103.d     |    4 +-
 .../gdc.test/fail_compilation/fail196.d       |    2 +-
 .../gdc.test/fail_compilation/fail21547.d     |    6 +-
 .../gdc.test/fail_compilation/fail23439.d     |    3 +-
 .../gdc.test/fail_compilation/fail305.d       |   11 -
 .../gdc.test/fail_compilation/fail336.d       |    3 +-
 .../gdc.test/fail_compilation/fail347.d       |    8 +-
 .../gdc.test/fail_compilation/fail41.d        |   18 -
 .../gdc.test/fail_compilation/fail98.d        |    5 +-
 .../fail_compilation/fail_pretty_errors.d     |    2 +-
 .../gdc.test/fail_compilation/failcontracts.d |   17 +-
 .../gdc.test/fail_compilation/fix19613.d      |   16 +
 .../gdc.test/fail_compilation/fix20075.d      |   21 +
 .../gdc.test/fail_compilation/fix20318.d      |   46 +
 .../gdc.test/fail_compilation/fix20867.d      |   20 +
 .../gdc.test/fail_compilation/fix21042.d      |   15 +
 .../gdc.test/fail_compilation/fix21165.d      |   30 +
 .../gdc.test/fail_compilation/fix21166.d      |   13 +
 .../gdc.test/fail_compilation/hidden_ctor.d   |   27 +
 .../gdc.test/fail_compilation/ice11153.d      |    5 +-
 .../gdc.test/fail_compilation/ice19755.d      |    5 +-
 .../fail_compilation/imports/imp18127a.c      |   83 ++
 .../fail_compilation/imports/imp18127b.c      |   80 ++
 .../gdc.test/fail_compilation/lookup.d        |   10 +-
 .../gdc.test/fail_compilation/mixinprop.d     |    4 +-
 .../fail_compilation/named_arguments_error.d  |   35 +-
 .../named_arguments_ifti_error.d              |   15 +-
 .../gdc.test/fail_compilation/nogc3.d         |   30 +
 .../fail_compilation/nonvoid_return.d         |   37 +
 .../gdc.test/fail_compilation/noreturn2.d     |    2 +-
 .../gdc.test/fail_compilation/powinline.d     |   38 +
 .../gdc.test/fail_compilation/retscope3.d     |   10 +
 .../gdc.test/fail_compilation/seq_assign.d    |   43 +
 .../gdc.test/fail_compilation/test15989.d     |    8 +-
 .../gdc.test/fail_compilation/test18127.d     |  106 ++
 .../gdc.test/fail_compilation/test19661.d     |    3 +-
 .../gdc.test/fail_compilation/test20489.d     |   20 +
 .../gdc.test/fail_compilation/test21215.d     |   35 +
 .../gdc.test/fail_compilation/test21304.d     |    6 +
 .../gdc.test/fail_compilation/test21317.d     |   39 +
 .../fail_compilation/testrvaluecpctor.d       |    2 +-
 .../gdc.test/fail_compilation/uda_lambda.d    |    7 +
 .../gdc.test/fail_compilation/union_conv.d    |    2 +-
 gcc/testsuite/gdc.test/runnable/placenew.d    |   43 +
 gcc/testsuite/gdc.test/runnable/powinline.d   |   64 +
 gcc/testsuite/gdc.test/runnable/testaa2.d     |   21 +
 .../gdc.test/runnable/testinvariant.d         |   47 +-
 libphobos/libdruntime/MERGE                   |    2 +-
 libphobos/libdruntime/Makefile.am             |    5 +-
 libphobos/libdruntime/Makefile.in             |   12 +-
 libphobos/libdruntime/core/int128.d           |  245 +++-
 .../core/internal/array/capacity.d            |  344 ++++-
 .../core/internal/array/concatenation.d       |   47 +-
 .../core/internal/array/construction.d        |    6 +-
 .../libdruntime/core/internal/array/utils.d   |   25 +
 .../libdruntime/core/internal/lifetime.d      |   19 +
 libphobos/libdruntime/core/stdc/fenv.d        |    5 +
 libphobos/libdruntime/core/stdc/math.d        |   36 +-
 libphobos/libdruntime/core/stdc/stdarg.d      |    2 +-
 libphobos/libdruntime/core/sys/bionic/err.d   |    2 +-
 .../libdruntime/core/sys/bionic/string.d      |    2 +-
 libphobos/libdruntime/core/sys/darwin/err.d   |    2 +-
 .../libdruntime/core/sys/darwin/string.d      |    2 +-
 .../libdruntime/core/sys/dragonflybsd/err.d   |    2 +-
 .../core/sys/dragonflybsd/string.d            |    2 +-
 libphobos/libdruntime/core/sys/freebsd/err.d  |    2 +-
 .../libdruntime/core/sys/freebsd/string.d     |    2 +-
 libphobos/libdruntime/core/sys/linux/err.d    |    2 +-
 .../core/sys/linux/linux/if_packet.d          |    2 +-
 .../libdruntime/core/sys/linux/netinet/in_.d  |   14 +-
 .../libdruntime/core/sys/linux/perf_event.d   |   77 +-
 libphobos/libdruntime/core/sys/linux/sched.d  |   30 +-
 libphobos/libdruntime/core/sys/linux/string.d |    2 +-
 .../libdruntime/core/sys/linux/sys/syscall.d  |  127 ++
 .../libdruntime/core/sys/linux/sys/time.d     |    8 +-
 .../libdruntime/core/sys/linux/syscall.d      |   14 +
 libphobos/libdruntime/core/sys/linux/unistd.d |    5 +
 libphobos/libdruntime/core/sys/netbsd/err.d   |    2 +-
 .../libdruntime/core/sys/netbsd/string.d      |    2 +-
 .../core/sys/netbsd/sys/featuretest.d         |    2 +-
 libphobos/libdruntime/core/sys/openbsd/err.d  |    2 +-
 .../libdruntime/core/sys/openbsd/string.d     |    2 +-
 libphobos/libdruntime/core/sys/posix/netdb.d  |   20 +-
 .../libdruntime/core/sys/posix/netinet/in_.d  |  202 +--
 libphobos/libdruntime/core/sys/posix/signal.d |   21 +-
 .../libdruntime/core/sys/posix/sys/ioctl.d    |   10 +-
 .../libdruntime/core/sys/posix/sys/select.d   |  104 +-
 .../libdruntime/core/sys/posix/sys/socket.d   |   14 +-
 .../libdruntime/core/sys/posix/sys/stat.d     |  162 +--
 .../libdruntime/core/sys/posix/sys/wait.d     |  152 +-
 libphobos/libdruntime/core/sys/solaris/err.d  |    2 +-
 .../libdruntime/core/sys/windows/basetsd.d    |   38 +-
 .../libdruntime/core/sys/windows/commctrl.d   |    4 +-
 libphobos/libdruntime/core/sys/windows/dde.d  |   60 +-
 .../libdruntime/core/sys/windows/mmsystem.d   |   26 +-
 .../libdruntime/core/sys/windows/ntdef.d      |    8 +-
 .../libdruntime/core/sys/windows/ntsecapi.d   |    2 +-
 .../libdruntime/core/sys/windows/oleauto.d    |    2 +-
 .../libdruntime/core/sys/windows/shlobj.d     |  146 +-
 libphobos/libdruntime/core/sys/windows/stat.d |   10 +-
 .../libdruntime/core/sys/windows/threadaux.d  |    4 +-
 libphobos/libdruntime/core/sys/windows/vfw.d  |  138 +-
 .../libdruntime/core/sys/windows/winbase.d    |   16 +-
 .../libdruntime/core/sys/windows/wincrypt.d   |   10 +-
 .../libdruntime/core/sys/windows/winnt.d      |   46 +-
 .../libdruntime/core/sys/windows/winuser.d    |   12 +-
 libphobos/libdruntime/core/volatile.d         |    2 +-
 libphobos/libdruntime/object.d                |   19 +-
 libphobos/libdruntime/rt/lifetime.d           |  366 -----
 libphobos/libdruntime/rt/minfo.d              |    3 +
 libphobos/src/MERGE                           |    2 +-
 libphobos/src/Makefile.am                     |   17 +-
 libphobos/src/Makefile.in                     |   19 +-
 libphobos/src/std/algorithm/iteration.d       |  361 ++++-
 libphobos/src/std/algorithm/searching.d       |   75 +-
 libphobos/src/std/complex.d                   |   41 +-
 libphobos/src/std/container/rbtree.d          |   25 +
 libphobos/src/std/conv.d                      |  533 +++++--
 libphobos/src/std/encoding.d                  |    2 +-
 libphobos/src/std/file.d                      |   27 +-
 libphobos/src/std/format/internal/write.d     |   20 +-
 libphobos/src/std/format/write.d              |   11 +-
 libphobos/src/std/functional.d                |    1 -
 libphobos/src/std/internal/math/biguintcore.d |   83 +-
 libphobos/src/std/internal/windows/bcrypt.d   |   65 -
 libphobos/src/std/json.d                      |   47 +
 libphobos/src/std/math/algebraic.d            |   48 +-
 libphobos/src/std/math/exponential.d          |   43 +-
 libphobos/src/std/net/curl.d                  |    3 +-
 libphobos/src/std/path.d                      |    7 +-
 libphobos/src/std/random.d                    |   84 +-
 libphobos/src/std/sumtype.d                   |   26 +-
 libphobos/src/std/traits.d                    |    9 +-
 libphobos/src/std/uuid.d                      |   60 +-
 libphobos/src/std/variant.d                   |   52 +-
 218 files changed, 6741 insertions(+), 3845 deletions(-)
 create mode 100644 gcc/testsuite/gdc.test/compilable/imports/imp18127a.c
 create mode 100644 gcc/testsuite/gdc.test/compilable/imports/imp18127b.c
 create mode 100644 gcc/testsuite/gdc.test/compilable/imports/imp20344.c
 create mode 100644 gcc/testsuite/gdc.test/compilable/imports/imp20499.c
 create mode 100644 gcc/testsuite/gdc.test/compilable/test18127.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test20344.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/test20499.d
 create mode 100644 gcc/testsuite/gdc.test/compilable/uda_lambda.d
 delete mode 100644 gcc/testsuite/gdc.test/fail_compilation/diag10405.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/diag_ptr_conversion.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/enum_auto_increment.d
 delete mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail305.d
 delete mode 100644 gcc/testsuite/gdc.test/fail_compilation/fail41.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fix19613.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fix20075.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fix20318.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fix20867.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fix21042.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fix21165.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/fix21166.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/hidden_ctor.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/imports/imp18127a.c
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/imports/imp18127b.c
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/nonvoid_return.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/powinline.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/seq_assign.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test18127.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test20489.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test21215.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test21304.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/test21317.d
 create mode 100644 gcc/testsuite/gdc.test/fail_compilation/uda_lambda.d
 create mode 100644 gcc/testsuite/gdc.test/runnable/powinline.d
 create mode 100644 libphobos/libdruntime/core/sys/linux/sys/syscall.d
 create mode 100644 libphobos/libdruntime/core/sys/linux/syscall.d
 delete mode 100644 libphobos/src/std/internal/windows/bcrypt.d
-------------- next part --------------
A non-text attachment was scrubbed...
Name: merge.patch.xz
Type: application/x-xz
Size: 108808 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20260130/c9c45d8e/attachment-0001.xz>


More information about the Gcc-patches mailing list