d: Merge upstream dmd 02a3fafc6, druntime 26b58167, phobos 16cb085b5.
authorIain Buclaw <ibuclaw@gdcproject.org>
Sun, 13 Mar 2022 11:28:05 +0000 (12:28 +0100)
committerIain Buclaw <ibuclaw@gdcproject.org>
Sun, 13 Mar 2022 12:20:02 +0000 (13:20 +0100)
commit7e28750395889d16a9cba49cd5935ced7dc00ce8
treed2a981788cda569e1a226540c009c09ea1b4ac73
parent1b85638affe6c987a33427c54e0369b819cd7915
d: Merge upstream dmd 02a3fafc6, druntime 26b58167, phobos 16cb085b5.

D front-end changes:

    - Import dmd v2.099.0.
    - The deprecation period for D1-style operators has ended, any use
      of the D1 overload operators will now result in a compiler error.
    - `scope' as a type constraint on class, struct, union, and enum
      declarations has been deprecated.
    - Fix segmentation fault when emplacing a new front-end Expression
      node during CTFE (PR104835).

D runtime changes:

    - Import druntime v2.099.0.
    - Fix C bindings for stdint types (PR104738).
    - Fix bus error when allocating new array on the GC (PR104742).
    - Fix bus error when allocating new pointer on the GC (PR104745).

Phobos changes:

    - Import phobos v2.099.0.
    - New function `bind' in `std.functional'.

gcc/d/ChangeLog:

* dmd/MERGE: Merge upstream dmd 02a3fafc6.
* dmd/VERSION: Update version to v2.099.0.
* imports.cc (ImportVisitor::visit (EnumDeclaration *)): Don't cache
decl in front-end AST node.
(ImportVisitor::visit (AggregateDeclaration *)): Likewise.
(ImportVisitor::visit (ClassDeclaration *)): Likewise.

libphobos/ChangeLog:

* libdruntime/MERGE: Merge upstream druntime 26b58167.
* src/MERGE: Merge upstream phobos 16cb085b5.
75 files changed:
gcc/d/dmd/MERGE
gcc/d/dmd/VERSION
gcc/d/dmd/common/outbuffer.d
gcc/d/dmd/constfold.d
gcc/d/dmd/cparse.d
gcc/d/dmd/dcast.d
gcc/d/dmd/dclass.d
gcc/d/dmd/declaration.d
gcc/d/dmd/declaration.h
gcc/d/dmd/dmodule.d
gcc/d/dmd/dsymbol.d
gcc/d/dmd/dsymbol.h
gcc/d/dmd/dsymbolsem.d
gcc/d/dmd/dtemplate.d
gcc/d/dmd/dtoh.d
gcc/d/dmd/escape.d
gcc/d/dmd/expression.d
gcc/d/dmd/expressionsem.d
gcc/d/dmd/importc.d
gcc/d/dmd/lexer.d
gcc/d/dmd/mtype.d
gcc/d/dmd/mtype.h
gcc/d/dmd/opover.d
gcc/d/dmd/optimize.d
gcc/d/dmd/parse.d
gcc/d/dmd/statementsem.d
gcc/d/dmd/tokens.d
gcc/d/dmd/tokens.h
gcc/d/dmd/typesem.d
gcc/d/imports.cc
gcc/testsuite/gdc.test/compilable/commontype.d
gcc/testsuite/gdc.test/compilable/test7172.d
gcc/testsuite/gdc.test/fail_compilation/dep_d1_ops.d
gcc/testsuite/gdc.test/fail_compilation/dephexstrings.d
gcc/testsuite/gdc.test/fail_compilation/deprecateopdot.d
gcc/testsuite/gdc.test/fail_compilation/fail136.d
gcc/testsuite/gdc.test/fail_compilation/fail18.d
gcc/testsuite/gdc.test/fail_compilation/fail22780.d
gcc/testsuite/gdc.test/fail_compilation/fail22827.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/issue22820.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/lexer1.d
gcc/testsuite/gdc.test/fail_compilation/lexer2.d
gcc/testsuite/gdc.test/fail_compilation/opapplyscope.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/scope_class.d
gcc/testsuite/gdc.test/fail_compilation/scope_type.d
gcc/testsuite/gdc.test/fail_compilation/test15191.d
gcc/testsuite/gdc.test/fail_compilation/test19097.d
gcc/testsuite/gdc.test/fail_compilation/test21008.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/test_switch_error.d
gcc/testsuite/gdc.test/fail_compilation/typeerrors.d
gcc/testsuite/gdc.test/runnable/auto1.d
gcc/testsuite/gdc.test/runnable/interpret.d
gcc/testsuite/gdc.test/runnable/opover.d
gcc/testsuite/gdc.test/runnable/sctor2.d
gcc/testsuite/gdc.test/runnable/test22136.d [deleted file]
gcc/testsuite/gdc.test/runnable/testconst.d
gcc/testsuite/gdc.test/runnable/xtest46.d
gcc/testsuite/gdc.test/runnable/xtest46_gc.d
libphobos/libdruntime/MERGE
libphobos/libdruntime/core/internal/gc/bits.d
libphobos/libdruntime/core/stdc/config.d
libphobos/libdruntime/core/stdc/fenv.d
libphobos/libdruntime/core/stdc/stdint.d
libphobos/libdruntime/core/stdcpp/new_.d
libphobos/libdruntime/core/sys/windows/stat.d
libphobos/libdruntime/rt/lifetime.d
libphobos/src/MERGE
libphobos/src/std/algorithm/setops.d
libphobos/src/std/bitmanip.d
libphobos/src/std/datetime/interval.d
libphobos/src/std/datetime/systime.d
libphobos/src/std/experimental/allocator/mallocator.d
libphobos/src/std/functional.d
libphobos/src/std/sumtype.d
libphobos/src/std/utf.d