aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/target.d
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2021-12-10 03:14:20 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2021-12-10 05:25:41 +0100
commit9c7d5e8846edb28e5421211ee8eaad93e234de2c (patch)
tree36b78f03305b82ef82ec5ecfaf29844fadd86ddc /gcc/d/dmd/target.d
parent38c60e5075f89265a560eab166d43247624a7535 (diff)
downloadgcc-9c7d5e8846edb28e5421211ee8eaad93e234de2c.zip
gcc-9c7d5e8846edb28e5421211ee8eaad93e234de2c.tar.gz
gcc-9c7d5e8846edb28e5421211ee8eaad93e234de2c.tar.bz2
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.
Diffstat (limited to 'gcc/d/dmd/target.d')
-rw-r--r--gcc/d/dmd/target.d5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/d/dmd/target.d b/gcc/d/dmd/target.d
index 16739ad..7a875a5 100644
--- a/gcc/d/dmd/target.d
+++ b/gcc/d/dmd/target.d
@@ -27,7 +27,7 @@ module dmd.target;
import dmd.globals : Param;
-enum CPU
+enum CPU : ubyte
{
x87,
mmx,
@@ -66,6 +66,7 @@ extern (C++) struct Target
import dmd.mtype : Type, TypeFunction, TypeTuple;
import dmd.root.ctfloat : real_t;
import dmd.statement : Statement;
+ import dmd.tokens : EXP;
/// Bit decoding of the Target.OS
enum OS : ubyte
@@ -213,7 +214,7 @@ extern (C++) struct Target
* Returns:
* true if the operation is supported or type is not a vector
*/
- extern (C++) bool isVectorOpSupported(Type type, uint op, Type t2 = null);
+ extern (C++) bool isVectorOpSupported(Type type, EXP op, Type t2 = null);
/**
* Default system linkage for the target.