d: Merge upstream dmd d7772a2369, phobos 5748ca43f.
commitb6df113247b9f3f7c3db0e65c481dad5bcfddfb4
authorIain Buclaw <ibuclaw@gdcproject.org>
Tue, 26 Jul 2022 15:42:23 +0000 (26 17:42 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Wed, 3 Aug 2022 11:01:53 +0000 (3 13:01 +0200)
tree31466a07292ad0cc289de7c23e39ba31b9e8b7c3
parent64ce76d940501cb04d14a0d36752b4f93473531c
d: Merge upstream dmd d7772a2369, phobos 5748ca43f.

In upstream dmd, the compiler front-end and run-time have been merged
together into one repository.  Both dmd and libdruntime now track that.

D front-end changes:

    - Deprecated `scope(failure)' blocks that contain `return' statements.
    - Deprecated using integers for `version' or `debug' conditions.
    - Deprecated returning a discarded void value from a function.
    - `new' can now allocate an associative array.

D runtime changes:

    - Added avx512f detection to core.cpuid module.

Phobos changes:

    - Changed std.experimental.logger.core.sharedLog to return
      shared(Logger).

gcc/d/ChangeLog:

* dmd/MERGE: Merge upstream dmd d7772a2369.
* dmd/VERSION: Bump version to v2.100.1.
* d-codegen.cc (get_frameinfo): Check whether decision to generate
closure changed since semantic finished.
* d-lang.cc (d_handle_option): Remove handling of -fdebug=level and
-fversion=level.
* decl.cc (DeclVisitor::visit (VarDeclaration *)): Generate evaluation
of noreturn variable initializers before throw.
* expr.cc (ExprVisitor::visit (AssignExp *)): Don't generate
assignment for noreturn types, only evaluate for side effects.
* lang.opt (fdebug=): Undocument -fdebug=level.
(fversion=): Undocument -fversion=level.

libphobos/ChangeLog:

* configure: Regenerate.
* configure.ac (libtool_VERSION): Update to 4:0:0.
* libdruntime/MERGE: Merge upstream druntime d7772a2369.
* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add
core/internal/array/duplication.d.
* libdruntime/Makefile.in: Regenerate.
* src/MERGE: Merge upstream phobos 5748ca43f.
* testsuite/libphobos.gc/nocollect.d:
143 files changed:
gcc/d/d-codegen.cc
gcc/d/d-lang.cc
gcc/d/decl.cc
gcc/d/dmd/MERGE
gcc/d/dmd/VERSION
gcc/d/dmd/arrayop.d
gcc/d/dmd/chkformat.d
gcc/d/dmd/clone.d
gcc/d/dmd/constfold.d
gcc/d/dmd/cparse.d
gcc/d/dmd/dcast.d
gcc/d/dmd/declaration.h
gcc/d/dmd/dinterpret.d
gcc/d/dmd/dmodule.d
gcc/d/dmd/dsymbol.d
gcc/d/dmd/dsymbolsem.d
gcc/d/dmd/dtemplate.d
gcc/d/dmd/entity.d
gcc/d/dmd/escape.d
gcc/d/dmd/expressionsem.d
gcc/d/dmd/file_manager.d
gcc/d/dmd/func.d
gcc/d/dmd/impcnvtab.d
gcc/d/dmd/initsem.d
gcc/d/dmd/lexer.d
gcc/d/dmd/mustuse.d
gcc/d/dmd/optimize.d
gcc/d/dmd/parse.d
gcc/d/dmd/semantic3.d
gcc/d/dmd/statementsem.d
gcc/d/dmd/transitivevisitor.d
gcc/d/dmd/typesem.d
gcc/d/expr.cc
gcc/d/lang.opt
gcc/testsuite/gdc.test/compilable/backendfloatoptim.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/cppmangle3.d
gcc/testsuite/gdc.test/compilable/must_use_initialize.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/noreturn1.d
gcc/testsuite/gdc.test/compilable/test20832.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test21177.d
gcc/testsuite/gdc.test/compilable/test21432.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test22390.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23082.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23166.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23172.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23235.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23256.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23262.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/testgotoskips.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/attributediagnostic.d
gcc/testsuite/gdc.test/fail_compilation/chkformat.d
gcc/testsuite/gdc.test/fail_compilation/diag10319.d
gcc/testsuite/gdc.test/fail_compilation/diag11198.d
gcc/testsuite/gdc.test/fail_compilation/diag12829.d
gcc/testsuite/gdc.test/fail_compilation/fail118.d
gcc/testsuite/gdc.test/fail_compilation/fail20547.d [deleted file]
gcc/testsuite/gdc.test/fail_compilation/fail22134.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail23181.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail261.d
gcc/testsuite/gdc.test/fail_compilation/fail58.d
gcc/testsuite/gdc.test/fail_compilation/fail6889.d
gcc/testsuite/gdc.test/fail_compilation/fail7848.d
gcc/testsuite/gdc.test/fail_compilation/ice11856_1.d
gcc/testsuite/gdc.test/fail_compilation/misc_parser_err_cov1.d
gcc/testsuite/gdc.test/fail_compilation/newaa.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/nogc3.d
gcc/testsuite/gdc.test/fail_compilation/retscope.d
gcc/testsuite/gdc.test/fail_compilation/test13786.d
gcc/testsuite/gdc.test/fail_compilation/test16193.d
gcc/testsuite/gdc.test/fail_compilation/test21443.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/test21912.d
gcc/testsuite/gdc.test/fail_compilation/test21939.d
gcc/testsuite/gdc.test/fail_compilation/test23022.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/test23112.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/test23170.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/test23216.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/closure.d
gcc/testsuite/gdc.test/runnable/evalorder.d
gcc/testsuite/gdc.test/runnable/lexer.d
gcc/testsuite/gdc.test/runnable/noreturn1.d
gcc/testsuite/gdc.test/runnable/test11.d
gcc/testsuite/gdc.test/runnable/test18973.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/test19.d
gcc/testsuite/gdc.test/runnable/test20734.d
gcc/testsuite/gdc.test/runnable/test23181.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/test8.d
gcc/testsuite/gdc.test/runnable/version.d
gcc/testsuite/gdc.test/runnable/warning1.d
libphobos/configure
libphobos/configure.ac
libphobos/libdruntime/MERGE
libphobos/libdruntime/Makefile.am
libphobos/libdruntime/Makefile.in
libphobos/libdruntime/core/cpuid.d
libphobos/libdruntime/core/int128.d
libphobos/libdruntime/core/internal/array/appending.d
libphobos/libdruntime/core/internal/array/duplication.d [new file with mode: 0644]
libphobos/libdruntime/core/internal/dassert.d
libphobos/libdruntime/core/runtime.d
libphobos/libdruntime/core/stdc/errno.d
libphobos/libdruntime/core/stdc/stdio.d
libphobos/libdruntime/core/stdc/wchar_.d
libphobos/libdruntime/core/sys/darwin/mach/getsect.d
libphobos/libdruntime/core/sys/dragonflybsd/string.d
libphobos/libdruntime/core/sys/linux/sys/time.d
libphobos/libdruntime/core/sys/linux/sys/xattr.d
libphobos/libdruntime/core/sys/linux/tipc.d
libphobos/libdruntime/core/sys/posix/signal.d
libphobos/libdruntime/core/sys/posix/spawn.d
libphobos/libdruntime/core/sys/posix/stdio.d
libphobos/libdruntime/core/sys/posix/sys/select.d
libphobos/libdruntime/core/sys/posix/time.d
libphobos/libdruntime/core/sys/posix/ucontext.d
libphobos/libdruntime/core/sys/solaris/sys/priocntl.d
libphobos/libdruntime/core/sys/solaris/sys/procset.d
libphobos/libdruntime/core/sys/windows/cguid.d
libphobos/libdruntime/core/sys/windows/ntsecpkg.d
libphobos/libdruntime/core/sys/windows/olectlid.d
libphobos/libdruntime/core/sys/windows/shlguid.d
libphobos/libdruntime/core/sys/windows/sspi.d
libphobos/libdruntime/object.d
libphobos/libdruntime/rt/dylib_fixes.c
libphobos/src/MERGE
libphobos/src/etc/c/curl.d
libphobos/src/std/algorithm/comparison.d
libphobos/src/std/algorithm/iteration.d
libphobos/src/std/algorithm/searching.d
libphobos/src/std/conv.d
libphobos/src/std/experimental/checkedint.d
libphobos/src/std/experimental/logger/core.d
libphobos/src/std/experimental/logger/filelogger.d
libphobos/src/std/experimental/logger/multilogger.d
libphobos/src/std/file.d
libphobos/src/std/format/internal/write.d
libphobos/src/std/format/package.d
libphobos/src/std/math/package.d
libphobos/src/std/math/rounding.d
libphobos/src/std/random.d
libphobos/src/std/stdio.d
libphobos/src/std/sumtype.d
libphobos/src/std/typecons.d
libphobos/src/std/uni/package.d
libphobos/testsuite/libphobos.gc/nocollect.d