From 8da8c7d337123b28fdeb539a283d00732118712e Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Sun, 5 Mar 2023 01:47:19 +0100 Subject: d: Merge upstream dmd, druntime 4ca4140e58, phobos 454dff14d. D front-end changes: - Import dmd v2.103.0-beta.1. - Using `alias this' for classes has been deprecated. - The feature `-fpreview=dip25` is now enabled by default. - The compile-time traits `isVirtualFunction' and `getVirtualFunctions' have been deprecated. D runtime changes: - Import druntime v2.103.0-beta.1. Phobos changes: - Import phobos v2.103.0-beta.1. - Updated unicode grapheme walking updated to conform to Unicode version 15. - Improved friendliness of error messages when instantiating `std.algorithm.iteration.joiner' and `std.algorithm.sorting.sort' with wrong inputs. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 4ca4140e58. * dmd/VERSION: Bump version to v2.103.0-beta.1. * Make-lang.in (D_FRONTEND_OBJS): Add d/errorsink.o. * d-ctfloat.cc (CTFloat::sprint): Update signature for new front-end interface. * d-frontend.cc (getTypeInfoType): Likewise. * d-lang.cc (d_handle_option): Remove handling of -fpreview=dip25 and -frevert=dip25. (d_post_options): Remove enabling of sealed references language feature when scoped pointers is enabled. * d-tree.h (create_typeinfo): Update signature. * decl.cc (DeclVisitor::finish_vtable): Update for new front-end interface. (DeclVisitor::visit (VarDeclaration *)): Likewise. (DeclVisitor::visit (FuncDeclaration *)): Check skipCodegen to see if front-end explicitly requested not to generate code. * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end interface. * lang.opt (fpreview=dip25): Remove. (frevert=dip25): Remove. * modules.cc (layout_moduleinfo_fields): Update for new front-end interface. (layout_moduleinfo): Likewise. * runtime.def (NEWCLASS): Remove. * toir.cc (IRVisitor::visit (IfStatement *)): Don't generate IR for if statement list when condition is `__ctfe'. * typeinfo.cc (create_typeinfo): Add generate parameter. * types.cc (layout_aggregate_members): Update for new front-end interface. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 4ca4140e58. * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add core/factory.d. * libdruntime/Makefile.in: Regenerate. * src/MERGE: Merge upstream phobos 454dff14d. * testsuite/libphobos.hash/test_hash.d: Update test. * testsuite/libphobos.shared/finalize.d: Update test. * libdruntime/core/factory.d: New file. gcc/testsuite/ChangeLog: * gdc.dg/torture/simd23084.d: New test. * gdc.dg/torture/simd23085.d: New test. * gdc.dg/torture/simd23218.d: New test. --- gcc/d/decl.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'gcc/d/decl.cc') diff --git a/gcc/d/decl.cc b/gcc/d/decl.cc index 4fbabd5..78c4ab5 100644 --- a/gcc/d/decl.cc +++ b/gcc/d/decl.cc @@ -563,8 +563,8 @@ public: if (fd2->isFuture ()) continue; - if (fd->leastAsSpecialized (fd2) != MATCH::nomatch - || fd2->leastAsSpecialized (fd) != MATCH::nomatch) + if (fd->leastAsSpecialized (fd2, NULL) != MATCH::nomatch + || fd2->leastAsSpecialized (fd, NULL) != MATCH::nomatch) { error_at (make_location_t (fd->loc), "use of %qs", fd->toPrettyChars ()); @@ -772,7 +772,7 @@ public: return; } - if (d->aliassym) + if (d->aliasTuple) { this->build_dsymbol (d->toAlias ()); return; @@ -821,7 +821,7 @@ public: DECL_INITIAL (decl) = build_expr (e, true); } } - else + else if (!d->type->isZeroInit ()) { /* Use default initializer for the type. */ if (TypeStruct *ts = d->type->isTypeStruct ()) @@ -903,6 +903,10 @@ public: if (gcc_attribute_p (d)) return; + /* Front-end decided this function doesn't require code generation. */ + if (d->skipCodegen ()) + return; + /* Not emitting unittest functions. */ if (!global.params.useUnitTests && d->isUnitTestDeclaration ()) return; -- cgit v1.1