d: Merge upstream dmd 60bfa0ee7, druntime 94bd5bcb, phobos 3a1cd9a01.
commit5eb9927aae076200bb7ba3f22c33b0a7c97c5643
authorIain Buclaw <ibuclaw@gdcproject.org>
Mon, 16 May 2022 16:30:46 +0000 (16 18:30 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Mon, 16 May 2022 17:07:45 +0000 (16 19:07 +0200)
treef80210439a5d8995ebf189bce7f2e141fcb1caec
parent682e587f1021241758f7dfe0b22651008622a312
d: Merge upstream dmd 60bfa0ee7, druntime 94bd5bcb, phobos 3a1cd9a01.

D front-end changes:

    - Import dmd v2.100.0.
    - Add bit fields to D, enabled via the -fpreview=bitfields switch.
    - Removed the -ftransition=markdown and -frevert=markdown switches.
    - Added new trait `__traits(classInstanceAlignment)' to provide the
      required data alignment for classes.
    - The check for `pragma(crt_constructor)' and `pragma(crt_destructor)'
      linkage has been relaxed to allow all `void()' signatures.
    - ImportC parser now recognizes the `typeof(...)' operator.

D runtime changes:

    - Import druntime v2.100.0.

Phobos changes:

    - Import phobos v2.100.0.
    - To comply with dip1000, `std.socket.Socket` methods now accept only
      `scope' arrays.
    - The `fill', `alignSize', `align2', and `align4' methods of
      `std.outbuffer.OutBuffer' have been extended to allow specifying a custom
      value when pre-filling or padding the buffer.

gcc/d/ChangeLog:

* dmd/MERGE: Merge upstream dmd 60bfa0ee7.
* dmd/VERSION: Update version to v2.100.0.
* d-builtins.cc (d_init_versions): Update for new front-end interface.
* d-codegen.cc (d_decl_context): Use resolvedLinkage to get
declaration linkage.
(build_struct_literal): Track offset in bits.
* d-gimplify.cc (d_gimplify_modify_expr): Check both operands for a
bit-field reference.
* d-lang.cc (d_handle_option): Handle -fpreview=bitfields, remove
-frevert=markdown and -ftransition=vmarkdown.
(d_post_options): Set flag_rtti and flag_exceptions if -fno-druntime
was seen on command-line.
(d_parse_file): Update for new front-end interface.
(d_type_promotes_to): Use resolvedLinkage to get declaration linkage.
* decl.cc (make_thunk): Likewise.
* expr.cc (ExprVisitor::visit (CatAssignExp *)): Remove lowering for
appending of an element or array to another array.
* lang.opt (fpreview=bitfields): New option.
(frevert=markdown): Remove.
(ftransition=vmarkdown): Remove.
* types.cc (layout_aggregate_members): Ignore anonymous fields in
total count.

libphobos/ChangeLog:

* libdruntime/MERGE: Merge upstream druntime 94bd5bcb.
* libdruntime/Makefile.am (ALL_DRUNTIME_INSTALL_DSOURCES): Add
$(DRUNTIME_DSOURCES_ELF).
(ALL_DRUNTIME_SOURCES): Likewise.
(DRUNTIME_DSOURCES_ELF): New variable.
* libdruntime/Makefile.in: Regenerate.
* src/MERGE: Merge upstream phobos 3a1cd9a01.
* testsuite/libphobos.init_fini/custom_gc.d: Update test.
229 files changed:
gcc/d/d-builtins.cc
gcc/d/d-codegen.cc
gcc/d/d-gimplify.cc
gcc/d/d-lang.cc
gcc/d/decl.cc
gcc/d/dmd/MERGE
gcc/d/dmd/README.md
gcc/d/dmd/VERSION
gcc/d/dmd/clone.d
gcc/d/dmd/common/bitfields.d
gcc/d/dmd/common/outbuffer.d
gcc/d/dmd/cond.d
gcc/d/dmd/constfold.d
gcc/d/dmd/cparse.d
gcc/d/dmd/cppmangle.d
gcc/d/dmd/dcast.d
gcc/d/dmd/dclass.d
gcc/d/dmd/declaration.d
gcc/d/dmd/declaration.h
gcc/d/dmd/dinterpret.d
gcc/d/dmd/dmangle.d
gcc/d/dmd/dmodule.d
gcc/d/dmd/doc.d
gcc/d/dmd/dscope.d
gcc/d/dmd/dsymbol.d
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/func.d
gcc/d/dmd/globals.d
gcc/d/dmd/globals.h
gcc/d/dmd/hdrgen.d
gcc/d/dmd/id.d
gcc/d/dmd/initsem.d
gcc/d/dmd/json.d
gcc/d/dmd/mtype.d
gcc/d/dmd/mtype.h
gcc/d/dmd/nogc.d
gcc/d/dmd/objc.d
gcc/d/dmd/optimize.d
gcc/d/dmd/parse.d
gcc/d/dmd/safe.d
gcc/d/dmd/semantic2.d
gcc/d/dmd/semantic3.d
gcc/d/dmd/statementsem.d
gcc/d/dmd/tokens.d
gcc/d/dmd/traits.d
gcc/d/dmd/typesem.d
gcc/d/dmd/utils.d
gcc/d/expr.cc
gcc/d/lang.opt
gcc/d/types.cc
gcc/testsuite/gdc.test/compilable/aggr_alignment.d
gcc/testsuite/gdc.test/compilable/compile1.d
gcc/testsuite/gdc.test/compilable/cppmangle.d
gcc/testsuite/gdc.test/compilable/dbitfield.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/ddoc_markdown_breaks_verbose.d [deleted file]
gcc/testsuite/gdc.test/compilable/ddoc_markdown_code_verbose.d [deleted file]
gcc/testsuite/gdc.test/compilable/ddoc_markdown_emphasis_verbose.d [deleted file]
gcc/testsuite/gdc.test/compilable/ddoc_markdown_headings_verbose.d [deleted file]
gcc/testsuite/gdc.test/compilable/ddoc_markdown_links_verbose.d [deleted file]
gcc/testsuite/gdc.test/compilable/ddoc_markdown_lists_verbose.d [deleted file]
gcc/testsuite/gdc.test/compilable/ddoc_markdown_quote_verbose.d [deleted file]
gcc/testsuite/gdc.test/compilable/ddoc_markdown_tables_verbose.d [deleted file]
gcc/testsuite/gdc.test/compilable/dtoh_21217.d
gcc/testsuite/gdc.test/compilable/dtoh_AliasDeclaration.d
gcc/testsuite/gdc.test/compilable/dtoh_AliasDeclaration_98.d
gcc/testsuite/gdc.test/compilable/dtoh_AnonDeclaration.d
gcc/testsuite/gdc.test/compilable/dtoh_CPPNamespaceDeclaration.d
gcc/testsuite/gdc.test/compilable/dtoh_ClassDeclaration.d
gcc/testsuite/gdc.test/compilable/dtoh_StructDeclaration.d
gcc/testsuite/gdc.test/compilable/dtoh_TemplateDeclaration.d
gcc/testsuite/gdc.test/compilable/dtoh_UnionDeclaration.d
gcc/testsuite/gdc.test/compilable/dtoh_VarDeclaration.d
gcc/testsuite/gdc.test/compilable/dtoh_cpp98_compat.d
gcc/testsuite/gdc.test/compilable/dtoh_enum.d
gcc/testsuite/gdc.test/compilable/dtoh_enum_cpp98.d
gcc/testsuite/gdc.test/compilable/dtoh_expressions.d
gcc/testsuite/gdc.test/compilable/dtoh_extern_type.d
gcc/testsuite/gdc.test/compilable/dtoh_forwarding.d
gcc/testsuite/gdc.test/compilable/dtoh_functions.d
gcc/testsuite/gdc.test/compilable/dtoh_ignored.d
gcc/testsuite/gdc.test/compilable/dtoh_invalid_identifiers.d
gcc/testsuite/gdc.test/compilable/dtoh_mangling.d
gcc/testsuite/gdc.test/compilable/dtoh_names.d
gcc/testsuite/gdc.test/compilable/dtoh_protection.d
gcc/testsuite/gdc.test/compilable/dtoh_required_symbols.d
gcc/testsuite/gdc.test/compilable/dtoh_special_enum.d
gcc/testsuite/gdc.test/compilable/dtoh_unittest_block.d
gcc/testsuite/gdc.test/compilable/dtoh_verbose.d
gcc/testsuite/gdc.test/compilable/test17590.d
gcc/testsuite/gdc.test/compilable/test20427.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23047.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23087.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23089.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23097.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test23105.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test3004.d
gcc/testsuite/gdc.test/compilable/vcg-ast.d
gcc/testsuite/gdc.test/fail_compilation/attributediagnostic.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/b6227.d
gcc/testsuite/gdc.test/fail_compilation/betterc.d
gcc/testsuite/gdc.test/fail_compilation/biterrors.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/biterrors2.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/biterrors3.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/biterrors4.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/commaexp.d
gcc/testsuite/gdc.test/fail_compilation/cppvar.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/dbitfields.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/diag10805.d
gcc/testsuite/gdc.test/fail_compilation/diag10862.d
gcc/testsuite/gdc.test/fail_compilation/dip25.d
gcc/testsuite/gdc.test/fail_compilation/dtor_attributes.d
gcc/testsuite/gdc.test/fail_compilation/dtorfields_attributes.d
gcc/testsuite/gdc.test/fail_compilation/e7804_1.d
gcc/testsuite/gdc.test/fail_compilation/extra-files/test23109/object.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail109.d
gcc/testsuite/gdc.test/fail_compilation/fail12604.d
gcc/testsuite/gdc.test/fail_compilation/fail13902.d
gcc/testsuite/gdc.test/fail_compilation/fail16001.d
gcc/testsuite/gdc.test/fail_compilation/fail16575.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail16772.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail196.d
gcc/testsuite/gdc.test/fail_compilation/fail19759.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail19881.d
gcc/testsuite/gdc.test/fail_compilation/fail20691.d
gcc/testsuite/gdc.test/fail_compilation/fail21092.d
gcc/testsuite/gdc.test/fail_compilation/fail21206.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail21275.d
gcc/testsuite/gdc.test/fail_compilation/fail21314.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail21868b.d
gcc/testsuite/gdc.test/fail_compilation/fail23108a.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail23108b.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail23109.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail3703.d
gcc/testsuite/gdc.test/fail_compilation/fail_scope.d
gcc/testsuite/gdc.test/fail_compilation/ice10949.d
gcc/testsuite/gdc.test/fail_compilation/ice14844.d
gcc/testsuite/gdc.test/fail_compilation/ice22377.d
gcc/testsuite/gdc.test/fail_compilation/ice23097.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/ice9254a.d
gcc/testsuite/gdc.test/fail_compilation/ice9254b.d
gcc/testsuite/gdc.test/fail_compilation/ice9254c.d
gcc/testsuite/gdc.test/fail_compilation/imports/test23109a.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/imports/test23109b.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/imports/test23109c.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/issue3827.d
gcc/testsuite/gdc.test/fail_compilation/no_Throwable.d
gcc/testsuite/gdc.test/fail_compilation/retscope.d
gcc/testsuite/gdc.test/fail_compilation/retscope2.d
gcc/testsuite/gdc.test/fail_compilation/retscope6.d
gcc/testsuite/gdc.test/fail_compilation/safe_gshared.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/safe_pointer_index.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/test13536.d
gcc/testsuite/gdc.test/fail_compilation/test14496.d
gcc/testsuite/gdc.test/fail_compilation/test15191.d
gcc/testsuite/gdc.test/fail_compilation/test15373.d
gcc/testsuite/gdc.test/fail_compilation/test16188.d
gcc/testsuite/gdc.test/fail_compilation/test16365.d
gcc/testsuite/gdc.test/fail_compilation/test17284.d
gcc/testsuite/gdc.test/fail_compilation/test17423.d
gcc/testsuite/gdc.test/fail_compilation/test17868b.d
gcc/testsuite/gdc.test/fail_compilation/test18130.d
gcc/testsuite/gdc.test/fail_compilation/test18282.d
gcc/testsuite/gdc.test/fail_compilation/test18484.d
gcc/testsuite/gdc.test/fail_compilation/test20245.d
gcc/testsuite/gdc.test/fail_compilation/test20569.d
gcc/testsuite/gdc.test/fail_compilation/test21198.d
gcc/testsuite/gdc.test/fail_compilation/test21204.d
gcc/testsuite/gdc.test/fail_compilation/test21665.d
gcc/testsuite/gdc.test/fail_compilation/test22145.d
gcc/testsuite/gdc.test/fail_compilation/test22593.d
gcc/testsuite/gdc.test/fail_compilation/test9150.d
gcc/testsuite/gdc.test/fail_compilation/traits.d
gcc/testsuite/gdc.test/fail_compilation/udaparams.d
gcc/testsuite/gdc.test/runnable/bit.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/dbitfields.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/interpret.d
gcc/testsuite/gdc.test/runnable/test17868b.d
gcc/testsuite/gdc.test/runnable/test20734.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/test21416.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/test23083.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/testcontracts.d
libphobos/libdruntime/MERGE
libphobos/libdruntime/Makefile.am
libphobos/libdruntime/Makefile.in
libphobos/libdruntime/__builtins.di
libphobos/libdruntime/core/internal/array/appending.d
libphobos/libdruntime/core/internal/array/utils.d
libphobos/libdruntime/core/internal/traits.d
libphobos/libdruntime/core/lifetime.d
libphobos/libdruntime/core/memory.d
libphobos/libdruntime/core/simd.d
libphobos/libdruntime/core/sys/dragonflybsd/sys/elf32.d
libphobos/libdruntime/core/sys/dragonflybsd/sys/elf64.d
libphobos/libdruntime/core/sys/dragonflybsd/sys/elf_common.d
libphobos/libdruntime/core/sys/elf/package.d [copied from libphobos/libdruntime/core/sys/linux/elf.d with 95% similarity]
libphobos/libdruntime/core/sys/freebsd/sys/elf32.d
libphobos/libdruntime/core/sys/freebsd/sys/elf64.d
libphobos/libdruntime/core/sys/freebsd/sys/elf_common.d
libphobos/libdruntime/core/sys/linux/elf.d
libphobos/libdruntime/core/sys/netbsd/sys/elf32.d
libphobos/libdruntime/core/sys/netbsd/sys/elf64.d
libphobos/libdruntime/core/sys/netbsd/sys/elf_common.d
libphobos/libdruntime/core/sys/openbsd/sys/elf32.d
libphobos/libdruntime/core/sys/openbsd/sys/elf64.d
libphobos/libdruntime/core/sys/openbsd/sys/elf_common.d
libphobos/libdruntime/core/sys/posix/sys/socket.d
libphobos/libdruntime/core/sys/solaris/sys/elf.d
libphobos/libdruntime/core/sys/windows/objbase.d
libphobos/libdruntime/core/sys/windows/unknwn.d
libphobos/libdruntime/core/thread/osthread.d
libphobos/libdruntime/core/thread/threadbase.d
libphobos/libdruntime/object.d
libphobos/libdruntime/rt/lifetime.d
libphobos/src/MERGE
libphobos/src/std/exception.d
libphobos/src/std/experimental/logger/core.d
libphobos/src/std/math/exponential.d
libphobos/src/std/math/hardware.d
libphobos/src/std/outbuffer.d
libphobos/src/std/socket.d
libphobos/src/std/sumtype.d
libphobos/src/std/traits.d
libphobos/src/std/typecons.d
libphobos/testsuite/libphobos.init_fini/custom_gc.d