]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/d/d-lang.cc
d: Merge upstream dmd 3982604c5, druntime bc58b1e9, phobos 12329adb6.
authorIain Buclaw <ibuclaw@gdcproject.org>
Fri, 10 Dec 2021 02:14:20 +0000 (03:14 +0100)
committerIain Buclaw <ibuclaw@gdcproject.org>
Fri, 10 Dec 2021 04:25:41 +0000 (05:25 +0100)
commit9c7d5e8846edb28e5421211ee8eaad93e234de2c
tree36b78f03305b82ef82ec5ecfaf29844fadd86ddc
parent38c60e5075f89265a560eab166d43247624a7535
d: Merge upstream dmd 3982604c5, druntime bc58b1e9, phobos 12329adb6.

D front-end changes:

    - Import dmd mainline development.
    - Split off enum EXP from enum TOK.
    - Integer promotions now follow C integral promotions by default.
    - Implements __traits(initSymbol).
    - Lowering of array construction has been moved to the dmd
      front-end.
    - Fix segfault in dmd.lexer from unaligned read (PR103529).

Druntime changes:

    - Import druntime mainline development.
    - Define SIG_BLOCK for Solaris (PR103528).

Phobos changes:

    - Import phobos mainline development.

gcc/d/ChangeLog:

PR d/103529
* dmd/MERGE: Merge upstream dmd 3982604c5.
* Make-lang.in (D_FRONTEND_OBJS): Add d/root-optional.o.
* d-attribs.cc (build_attributes): Update for new front-end interface.
* d-codegen.cc (d_build_call): Likewise.
* d-compiler.cc (Compiler::paintAsType): Likewise.
* d-lang.cc (d_handle_option): Remove OPT_fpreview_intpromote, add
handling of OPT_frevert_intpromote.
* d-port.cc (Port::valcpy): Assert buffer is aligned.
* d-target.cc (Target::isVectorOpSupported): Update for new front-end
interface.
* decl.cc (layout_class_initializer): Likewise.
* expr.cc (lvalue_p): Likewise.
(binop_assignment): Likewise.
(ExprVisitor::visit): Likewise.
(ExprVisitor::visit (AssignExp *)): Remove generation of _d_arrayctor
and _d_arraysetctor library helpers.
(ExprVisitor::visit (VarExp *)): Support __traits(initSymbol).
* intrinsics.cc (expand_intrinsic_rotate): Update for new front-end
interface.
* lang.opt (fpreview=intpromote): Remove.
(frevert=intpromote): New.
* runtime.def (ARRAYCTOR): Remove.
(ARRAYSETCTOR): Remove.
* toir.cc (IRVisitor::visit): Update for new front-end interface.
* types.cc (layout_aggregate_members): Likewise.
* dmd/root/optional.d: New file.
* dmd/root/optional.h: New file.

libphobos/ChangeLog:

PR d/103528
* libdruntime/MERGE: Merge upstream druntime bc58b1e9.
* libdruntime/Makefile.am (DRUNTIME_DSOURCES_LINUX): Remove
core/sys/linux/syscalls.d.
* libdruntime/Makefile.in: Regenerate.
* src/MERGE: Merge upstream phobos 12329adb6.
* testsuite/libphobos.config/config.exp: Add test22523.
* libdruntime/core/sys/linux/syscalls.d: Removed.
* testsuite/libphobos.config/test22523.d: New test.
175 files changed:
gcc/d/Make-lang.in
gcc/d/d-attribs.cc
gcc/d/d-codegen.cc
gcc/d/d-compiler.cc
gcc/d/d-lang.cc
gcc/d/d-port.cc
gcc/d/d-target.cc
gcc/d/decl.cc
gcc/d/dmd/MERGE
gcc/d/dmd/access.d
gcc/d/dmd/aggregate.d
gcc/d/dmd/aliasthis.d
gcc/d/dmd/arrayop.d
gcc/d/dmd/astenums.d
gcc/d/dmd/attrib.d
gcc/d/dmd/blockexit.d
gcc/d/dmd/builtin.d
gcc/d/dmd/canthrow.d
gcc/d/dmd/clone.d
gcc/d/dmd/common/outbuffer.h
gcc/d/dmd/cond.d
gcc/d/dmd/constfold.d
gcc/d/dmd/cparse.d
gcc/d/dmd/cppmangle.d
gcc/d/dmd/ctfeexpr.d
gcc/d/dmd/dcast.d
gcc/d/dmd/declaration.d
gcc/d/dmd/declaration.h
gcc/d/dmd/dinterpret.d
gcc/d/dmd/dmangle.d
gcc/d/dmd/dstruct.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/expression.h
gcc/d/dmd/expressionsem.d
gcc/d/dmd/foreachvar.d
gcc/d/dmd/func.d
gcc/d/dmd/globals.d
gcc/d/dmd/hdrgen.d
gcc/d/dmd/iasmgcc.d
gcc/d/dmd/id.d
gcc/d/dmd/initsem.d
gcc/d/dmd/lambdacomp.d
gcc/d/dmd/lexer.d
gcc/d/dmd/mtype.d
gcc/d/dmd/nogc.d
gcc/d/dmd/ob.d
gcc/d/dmd/objc.d
gcc/d/dmd/opover.d
gcc/d/dmd/optimize.d
gcc/d/dmd/parse.d
gcc/d/dmd/printast.d
gcc/d/dmd/root/dcompat.h
gcc/d/dmd/root/file.d
gcc/d/dmd/root/optional.d [new file with mode: 0644]
gcc/d/dmd/root/optional.h [new file with mode: 0644]
gcc/d/dmd/safe.d
gcc/d/dmd/semantic2.d
gcc/d/dmd/semantic3.d
gcc/d/dmd/sideeffect.d
gcc/d/dmd/statementsem.d
gcc/d/dmd/staticcond.d
gcc/d/dmd/target.d
gcc/d/dmd/target.h
gcc/d/dmd/templateparamsem.d
gcc/d/dmd/tokens.d
gcc/d/dmd/tokens.h
gcc/d/dmd/traits.d
gcc/d/dmd/typesem.d
gcc/d/expr.cc
gcc/d/intrinsics.cc
gcc/d/lang.opt
gcc/d/runtime.def
gcc/d/toir.cc
gcc/d/types.cc
gcc/testsuite/gdc.test/compilable/covariant_override.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/emptygenmain.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/noreturn1.d
gcc/testsuite/gdc.test/compilable/test17870.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test19873.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test21719.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test22254.d [new file with mode: 0644]
gcc/testsuite/gdc.test/compilable/test22510.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/covariant_override.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/fail10964.d
gcc/testsuite/gdc.test/fail_compilation/fail10968.d
gcc/testsuite/gdc.test/fail_compilation/fail16997.d
gcc/testsuite/gdc.test/fail_compilation/fail809.d [deleted file]
gcc/testsuite/gdc.test/fail_compilation/fob2.d
gcc/testsuite/gdc.test/fail_compilation/imports/test20023b.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/retscope.d
gcc/testsuite/gdc.test/fail_compilation/test15191.d
gcc/testsuite/gdc.test/fail_compilation/test17977.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/test20023.d [new file with mode: 0644]
gcc/testsuite/gdc.test/fail_compilation/traits_initSymbol.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/b19294.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/mars1.d
gcc/testsuite/gdc.test/runnable/test15862.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/test21367.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/test22227.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/testOpApply.d
gcc/testsuite/gdc.test/runnable/testcgelem.d
gcc/testsuite/gdc.test/runnable/testconst.d
gcc/testsuite/gdc.test/runnable/traits_initSymbol.d [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable/xtest46.d
gcc/testsuite/gdc.test/runnable_cxx/extra-files/cpp7925.cpp [new file with mode: 0644]
gcc/testsuite/gdc.test/runnable_cxx/test7925.d [new file with mode: 0644]
libphobos/libdruntime/MERGE
libphobos/libdruntime/Makefile.am
libphobos/libdruntime/Makefile.in
libphobos/libdruntime/core/demangle.d
libphobos/libdruntime/core/internal/array/construction.d
libphobos/libdruntime/core/internal/convert.d
libphobos/libdruntime/core/internal/lifetime.d
libphobos/libdruntime/core/internal/string.d
libphobos/libdruntime/core/internal/utf.d
libphobos/libdruntime/core/lifetime.d
libphobos/libdruntime/core/memory.d
libphobos/libdruntime/core/stdc/stdlib.d
libphobos/libdruntime/core/stdc/string.d
libphobos/libdruntime/core/stdc/wchar_.d
libphobos/libdruntime/core/stdcpp/exception.d
libphobos/libdruntime/core/sync/mutex.d
libphobos/libdruntime/core/sys/bionic/string.d
libphobos/libdruntime/core/sys/darwin/mach/nlist.d
libphobos/libdruntime/core/sys/darwin/string.d
libphobos/libdruntime/core/sys/dragonflybsd/string.d
libphobos/libdruntime/core/sys/freebsd/string.d
libphobos/libdruntime/core/sys/linux/string.d
libphobos/libdruntime/core/sys/linux/syscalls.d [deleted file]
libphobos/libdruntime/core/sys/linux/unistd.d
libphobos/libdruntime/core/sys/netbsd/string.d
libphobos/libdruntime/core/sys/openbsd/string.d
libphobos/libdruntime/core/sys/posix/signal.d
libphobos/libdruntime/core/sys/posix/string.d
libphobos/libdruntime/core/sys/posix/sys/socket.d
libphobos/libdruntime/core/sys/solaris/sys/elf.d
libphobos/libdruntime/core/sys/solaris/sys/elf_386.d
libphobos/libdruntime/core/sys/solaris/sys/elf_SPARC.d
libphobos/libdruntime/core/sys/windows/dbghelp.d
libphobos/libdruntime/core/thread/osthread.d
libphobos/libdruntime/core/thread/threadbase.d
libphobos/libdruntime/object.d
libphobos/libdruntime/rt/aaA.d
libphobos/libdruntime/rt/cast_.d
libphobos/libdruntime/rt/config.d
libphobos/libdruntime/rt/lifetime.d
libphobos/libdruntime/rt/monitor_.d
libphobos/src/MERGE
libphobos/src/std/algorithm/iteration.d
libphobos/src/std/algorithm/mutation.d
libphobos/src/std/algorithm/sorting.d
libphobos/src/std/concurrency.d
libphobos/src/std/container/dlist.d
libphobos/src/std/container/rbtree.d
libphobos/src/std/datetime/interval.d
libphobos/src/std/datetime/systime.d
libphobos/src/std/datetime/timezone.d
libphobos/src/std/file.d
libphobos/src/std/internal/cstring.d
libphobos/src/std/internal/math/biguintcore.d
libphobos/src/std/json.d
libphobos/src/std/net/isemail.d
libphobos/src/std/process.d
libphobos/src/std/random.d
libphobos/src/std/stdio.d
libphobos/src/std/typecons.d
libphobos/src/std/uni/package.d
libphobos/src/std/utf.d
libphobos/testsuite/libphobos.config/config.exp
libphobos/testsuite/libphobos.config/test22523.d [new file with mode: 0644]