d: Merge upstream dmd 46133f761, druntime 0fd4364c
authorIain Buclaw <ibuclaw@gdcproject.org>
Thu, 4 Feb 2021 21:34:22 +0000 (22:34 +0100)
committerIain Buclaw <ibuclaw@gdcproject.org>
Thu, 4 Feb 2021 22:04:48 +0000 (23:04 +0100)
commitc1d56e6a737418b7b48a53b355f588ea14f1b9a9
tree5c225e580416206cdd237db00cbf63d030067662
parentce5720447c69286599b96bae53ae854b1bbe41fa
d: Merge upstream dmd 46133f761, druntime 0fd4364c

D front-end changes:

 - Backported built-in function handling from upstream.

 - Added new intrinsic `byteswap(ushort)`.

Druntime changes:

 - Update intrinsic modules core.bitop, core.checkedint, core.simd,
   core.vararg, and core.volatile.

 - Backport platform-specific fixes for runtime modules core.cpuid,
   core.internal.traits, and rt.lifetime.

 - Backport openbsd fixes for core.stdc.stdio.

 - Backport solaris fixes for core.sys.posix.locale, and
   core.thread.osthread (PR98910).

gcc/d/ChangeLog:

* dmd/MERGE: Merge upstream dmd 46133f761.
* d-builtins.cc (d_build_builtins_module): Set builtins as BUILTINgcc.
(maybe_set_builtin_1): Likewise.
* d-frontend.cc (eval_builtin): Adjust condition for early return.
* intrinsics.cc (maybe_set_intrinsic): Set intrinsics as BUILTINgcc.
(maybe_expand_intrinsic): Add case for INTRINSIC_BSWAP16.
* intrinsics.def (INTRINSIC_BT): Update signature.
(INTRINSIC_BT64): Likewise.
(INTRINSIC_BSWAP16): New intrinsic.
(INTRINSIC_VLOAD8): Update module.
(INTRINSIC_VLOAD16): Likewise.
(INTRINSIC_VLOAD32): Likewise.
(INTRINSIC_VLOAD64): Likewise.
(INTRINSIC_VSTORE8): Likewise.
(INTRINSIC_VSTORE16): Likewise.
(INTRINSIC_VSTORE32): Likewise.
(INTRINSIC_VSTORE64): Likewise.
(INTRINSIC_ADDS): Update signature.
(INTRINSIC_ADDSL): Likewise.
(INTRINSIC_ADDU): Likewise.
(INTRINSIC_ADDUL): Likewise.
(INTRINSIC_SUBS): Likewise.
(INTRINSIC_SUBSL): Likewise.
(INTRINSIC_SUBU): Likewise.
(INTRINSIC_SUBUL): Likewise.
(INTRINSIC_MULS): Likewise.
(INTRINSIC_MULSL): Likewise.
(INTRINSIC_MULU): Likewise.
(INTRINSIC_MULUI): Likewise.
(INTRINSIC_MULUL): Likewise.
(INTRINSIC_NEGS): Likewise.
(INTRINSIC_NEGSL): Likewise.

libphobos/ChangeLog:

PR d/98910
* libdruntime/MERGE: Merge upstream druntime 0fd4364c.
* libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add core/volatile.d.
* libdruntime/Makefile.in: Regenerate.
* testsuite/libphobos.allocations/tls_gc_integration.d: Update test.

gcc/testsuite/ChangeLog:

* gdc.dg/intrinsics.d: Update test.
25 files changed:
gcc/d/d-builtins.cc
gcc/d/d-frontend.cc
gcc/d/dmd/MERGE
gcc/d/dmd/declaration.h
gcc/d/dmd/dinterpret.c
gcc/d/dmd/idgen.c
gcc/d/dmd/root/ctfloat.h
gcc/d/intrinsics.cc
gcc/d/intrinsics.def
gcc/testsuite/gdc.dg/intrinsics.d
libphobos/libdruntime/MERGE
libphobos/libdruntime/Makefile.am
libphobos/libdruntime/Makefile.in
libphobos/libdruntime/core/bitop.d
libphobos/libdruntime/core/checkedint.d
libphobos/libdruntime/core/cpuid.d
libphobos/libdruntime/core/internal/traits.d
libphobos/libdruntime/core/simd.d
libphobos/libdruntime/core/stdc/stdio.d
libphobos/libdruntime/core/sys/posix/locale.d
libphobos/libdruntime/core/thread/osthread.d
libphobos/libdruntime/core/vararg.d
libphobos/libdruntime/core/volatile.d [new file with mode: 0644]
libphobos/libdruntime/rt/lifetime.d
libphobos/testsuite/libphobos.allocations/tls_gc_integration.d