[PATCH 7/13] D: Add D language support to GCC targets.

2017-05-28 Thread Iain Buclaw
This patch add D language support to targets of GCC itself. These are used to declare pre-defined version identifiers in the D language that describe something about the target that the front-end itself is unable to obtain. Version conditions in D can be thought of as being like the target macros

[PATCH 9/13] D: D2 Testsuite Dejagnu files.

2017-05-28 Thread Iain Buclaw
This patch adds D language support to the GCC testsuite. As well as generating the DejaGNU options for compile and link tests, handles the conversion from DMD-style compiler options to GDC. --- [PATCH 9/13] D: D2 Testsuite Dejagnu files. This patch adds D language support to the GCC testsuite.

[PATCH 11/13] D: GCC builtins and runtime support.

2017-05-28 Thread Iain Buclaw
This patch adds GCC builtins and runtime support for GDC compiled code. - module __entrypoint defines the C main function. Its contents are parsed and compiled in during compilation, but only if needed. - module gcc.atomic is a deprecated module that defines templated __sync builtins. It's o

[PATCH 10/13] D: The D runtime library and license.

2017-05-28 Thread Iain Buclaw
This patch adds the D runtime library and license (Boost) files. D runtime is a low level that implements the building blocks of the runtime environment, as well as C and C++ platform bindings. Many high level operations are lowered to generate calls to various functions defined in this library.

[PATCH 8/13] D: D2 Testsuite compilable tests.

2017-05-28 Thread Iain Buclaw
This patch adds part of the D2 testsuite, which includes D source code files that are considered compilable; files that are considered uncompilable, but should not ICE; and files that should execute on targets with crash or assertion failures. I've uploaded the patch to my ftp, sorry about the imp

[PATCH 12/13] D: The Phobos runtime library and license.

2017-05-28 Thread Iain Buclaw
This patch add the Phobos runtime library and license (Boost) files. Phobos is the standard runtime library that comes with the D language compiler. The bulk of which is comprised mostly of generic algorithms and high level primitives for D applications. I've uploaded the patch to my ftp, sorry a

Re: [PATCH 0/13] D: Submission of D Front End

2017-05-28 Thread Iain Buclaw
On 28 May 2017 at 22:31, Iain Buclaw wrote: > On 28 May 2017 at 15:30, Iain Buclaw wrote: >> >> --- >> >> Iain Buclaw (13): >> 001 - The front-end (DMD) language implementation and license. >> 002 - The front-end (GDC) implementation. >>

Re: [patch] update zlib to the 1.2.10 release.

2017-01-23 Thread Iain Buclaw
On 22 January 2017 at 19:42, Matthias Klose wrote: > On 22.01.2017 19:12, NightStrike wrote: >> On Sun, Jan 22, 2017 at 1:00 PM, Matthias Klose wrote: >>> NightStrike proposed to revert to the 1.2.8 release until zlib stabilizes >>> again; >>> I'm open for that, but didn't want to stay with the

[PATCH 0/7] [D] libiberty: D symbol demangling updates.

2017-04-15 Thread Iain Buclaw
Hi, This patch series includes a new addition to the current iteration of the D language, plus many fixes surrounding the clarification of certain parts of the D ABI specification. --- Iain Buclaw (7): [D] libiberty: Add support for demangling scope attributes. [D] libiberty: Add support

[PATCH 1/7] [D] libiberty: Add support for demangling scope attributes.

2017-04-15 Thread Iain Buclaw
The next version of D adds a new `scope' function attribute. This adds support for demangling them. --- commit 15a0592cf6403fccbf43f3c7dc44f7d22c0f3dfa Author: Iain Buclaw Date: Sat Apr 15 11:15:41 2017 +0200 libiberty/ChangeLog: 2017-04-15 Iain Buclaw

[PATCH 2/7] [D] libiberty: Add support for demangling template constraints.

2017-04-15 Thread Iain Buclaw
object code. --- commit 9f3fa1f5842dc317b0aaf2f9aa159548c9b7a7f7 Author: Iain Buclaw Date: Sat Apr 15 11:29:35 2017 +0200 libiberty/ChangeLog: 2017-04-15 Iain Buclaw * d-demangle.c (dlang_identifier): Handle template constraint symbols. (dlang_parse_template): Only

[PATCH 3/7] [D] libiberty: Recognize anonymous symbols names.

2017-04-15 Thread Iain Buclaw
() kindly jumps over any leading zeros in the number it is parsing. However this change makes it so they are at least explicitly skipped over, rather than silently ignored. --- commit 6ffcb4ce75e471304960c97bec596c89e26894f8 Author: Iain Buclaw Date: Sat Apr 15 11:32:07 2017 +0200 libiberty

[PATCH 4/7] [D] libiberty: Remove wrongly spec'd mangle rule for encoded integers.

2017-04-15 Thread Iain Buclaw
(test!('\u03e8')).mangleof); pragma(msg, (test!('\U000186a0')).mangleof); --- commit 30ff1ef529c4711ab08e168c79e4971cd44f17f4 Author: Iain Buclaw Date: Sat Apr 15 11:35:35 2017 +0200 libiberty/ChangeLog: 2017-04-15 Iain Buclaw * d-demangle.c (dla

[PATCH 5/7] [D] libiberty: Fixes for demangling qualified symbol names

2017-04-15 Thread Iain Buclaw
t* be followed by another `QualifiedName', otherwise we've reached the end of the matched rule. It still defeats the purpose of the aiming to having a context-free grammar, but at least it's a little less evil than before. --- commit 8701a7e99b9146719881adcf019ecbebe836b755 Auth

[PATCH 6/7] [D] libiberty: Fixes for decoding numbers.

2017-04-15 Thread Iain Buclaw
ts. --- commit 87041417fdf6911b5112c4c68b324577202fa2d0 Author: Iain Buclaw Date: Sat Apr 15 12:02:10 2017 +0200 libiberty/ChangeLog: 2017-04-15 Iain Buclaw * d-demangle.c (strtol): Remove declaration. Updated all callers to use dlang_number. (dlang_number): New function. (dlan

[PATCH 7/7] [D] libiberty: Refactor and add tests for decoding hexdigits.

2017-04-15 Thread Iain Buclaw
l but 3 lines, two of which I have checked and are genuinely unreachable. --- commit de5523a4ff9d755940fc7dc5beadb65f0aafd0df Author: Iain Buclaw Date: Sat Apr 15 13:10:43 2017 +0200 libiberty/ChangeLog: 2017-04-15 Iain Buclaw * d-demangle.c (dlang_hexdigit): New fun

Re: [PATCH 4/7] [D] libiberty: Remove wrongly spec'd mangle rule for encoded integers.

2017-04-20 Thread Iain Buclaw
On 15 April 2017 at 17:24, Iain Buclaw wrote: > This updates the implementation to reflect a part of the D ABI spec > that has been removed. There should never be a bare integer value > encoded into a template argument list. Integers are always prefixed > by `i' if they are p

Re: [PATCH 5/7] [D] libiberty: Fixes for demangling qualified symbol names

2017-04-25 Thread Iain Buclaw
On 25 April 2017 at 17:35, Jeff Law wrote: > On 04/15/2017 09:25 AM, Iain Buclaw wrote: >> >> This patch removes `dlang_parse_symbol', and replaces it with >> `dlang_parse_qualified' and `dlang_parse_mangle'. All callers have >> been updated t

Re: [PATCH 4/7] [D] libiberty: Remove wrongly spec'd mangle rule for encoded integers.

2017-04-25 Thread Iain Buclaw
On 20 April 2017 at 20:58, Iain Buclaw wrote: > > Hmm, it seems like D compilers until 3 years ago infact used to mangle > in this way. Better keep it around then for a little while longer for > compatibility. I'll follow-up with an amendment which doesn't remove > the

Re: [PATCH 5/7] [D] libiberty: Fixes for demangling qualified symbol names

2017-05-01 Thread Iain Buclaw
On 15 April 2017 at 17:25, Iain Buclaw wrote: > This patch removes `dlang_parse_symbol', and replaces it with > `dlang_parse_qualified' and `dlang_parse_mangle'. All callers have > been updated to reflect as to whether we expect either a `MangleName' > or `Qualif

Re: [PATCH 10/13] D: The D runtime library and license.

2017-10-02 Thread Iain Buclaw
On 11 September 2017 at 19:01, Jeff Law wrote: > On 05/28/2017 03:47 PM, Iain Buclaw wrote: >> This patch adds the D runtime library and license (Boost) files. D >> runtime is a low level that implements the building blocks of the >> runtime environment, as well as C and

[PATCH v3 1/14] D: The front-end (DMD) language implementation and license.

2017-10-02 Thread Iain Buclaw
Changes since previous are just merge latest 2.076 release. Uploaded patch to my ftp due to size limitations. Regards Iain. --- ftp://ftp.gdcproject.org/patches/v3/01-v3-d-frontend-dmd.patch.xz gcc/d/dfrontend/aav.c| 193 + gcc/d/dfrontend/aav.h| 19 + gcc/d/dfronte

[PATCH v3 3/14] D: The front-end (GDC) changelogs.

2017-10-02 Thread Iain Buclaw
Updated changelogs following updates to patch 2/14. Regards Iain. --- 03-v3-d-frontend-changelogs.patch.xz Description: application/xz

[PATCH v3 5/14] D: GCC configuration file changes and documentation.

2017-10-02 Thread Iain Buclaw
No change from the previous, just rebasing against trunk. --- ChangeLog: * Makefile.def (target_modules): Add libphobos. (flags_to_pass): Add GDC_FOR_TARGET and GDCFLAGS_FOR_TARGET. (dependencies): Add dependency from configure-target-libphobos to configure-target-zlib. Add dependency from a

[PATCH v3 6/14] D: Add D language support to GCC proper.

2017-10-02 Thread Iain Buclaw
No changes from previous, just rebased against trunk. Regards Iain --- gcc/ChangeLog * config/powerpcspe/powerpcspe.c (rs6000_output_function_epilogue): Support GNU D by using 0 as the language type. * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support GNU D by using 0 as the

[PATCH v3 7/14] D: Add D language support to GCC targets.

2017-10-02 Thread Iain Buclaw
This patch add D language support to targets of GCC itself. Changes since previous are just removing patches for untested target configurations, these can be re-added later on an as-per basis. --- gcc/ChangeLog * gcc/Makefile.in (tm_d_file_list, tm_d_include_list, TM_D_H, D_TARGET_DEF, D_TARGE

[PATCH v3 8/14] D: D2 Testsuite compilable tests.

2017-10-02 Thread Iain Buclaw
Just added some more tests since previous patch for bug fixes made to the D frontend. Tests specific to GDC have also been removed also and put in a separate directory with new dejagnu files. I've uploaded the patch to my ftp server due to size limitations. Regards Iain --- ftp://ftp.gdcprojec

[PATCH v3 9/14] D: D2 Testsuite Dejagnu files.

2017-10-02 Thread Iain Buclaw
No changes from previous patch, just a refresh. Mike, you don't need to look at this, just an FYI. --- diff --git a/gcc/testsuite/gdc.test/d_do_test.exp b/gcc/testsuite/gdc.test/d_do_test.exp new file mode 100644 index 000..4c03989443c --- /dev/null +++ b/gcc/testsuite/gdc.test/d_do_test.

[PATCH v3 10/14] D: GDC Testsuite tests and config.

2017-10-02 Thread Iain Buclaw
This was split out from patch 9/14. Added test directories for ASAN and LTO tests. Regards Iain. --- diff --git a/gcc/testsuite/gdc.dg/asan/asan.exp b/gcc/testsuite/gdc.dg/asan/asan.exp new file mode 100644 index 000..83bff4693e7 --- /dev/null +++ b/gcc/testsuite/gdc.dg/asan/asan.exp @@

[PATCH v3 11/14] D: The D runtime library and license.

2017-10-02 Thread Iain Buclaw
Changes since last patch are update to version 2.076. As iterated before, these are maintained upstream, and are necessary to link D applications. Uploaded to ftp server due to size limitations. Regards Iain. --- ftp://ftp.gdcproject.org/patches/v3/11-v3-d-runtime-library.patch.xz libphobos/

[PATCH v3 12/14] D: GCC builtins and runtime support.

2017-10-02 Thread Iain Buclaw
Just updated copyright dates as per comments on previous revision, I think everything should be in order. --- diff --git a/libphobos/libdruntime/__entrypoint.di b/libphobos/libdruntime/__entrypoint.di new file mode 100644 index 000..d04fe5d0889 --- /dev/null +++ b/libphobos/libdruntime/__e

[PATCH v3 13/14] D: The Phobos runtime library and license.

2017-10-02 Thread Iain Buclaw
Changes since last patch are updating to version 2.076. Phobos is the one part that could be arguably not strictly necessary, as it is not tied to the compiler in any way, and is supposed to be agnostic to any platform. However it is typically expected that the compiler comes with this library in

Re: [PATCH v3 1/14] D: The front-end (DMD) language implementation and license.

2017-10-05 Thread Iain Buclaw
On 3 October 2017 at 23:36, Joseph Myers wrote: > On Tue, 3 Oct 2017, Jeff Law wrote: > >> /* Copyright (c) 2010-2014 by Digital Mars >> * All Rights Reserved, written by Walter Bright >> * http://www.digitalmars.com >> * Distributed under the Boost Software License, Version 1.0. >> * (See acc

Re: [PATCH v3 7/14] D: Add D language support to GCC targets.

2017-10-05 Thread Iain Buclaw
On 5 October 2017 at 16:56, Richard Earnshaw (lists) wrote: > On 02/10/17 10:00, Iain Buclaw wrote: >> This patch add D language support to targets of GCC itself. >> >> Changes since previous are just removing patches for untested target >> configurations, these can be

Re: [PATCH v3 1/14] D: The front-end (DMD) language implementation and license.

2017-10-06 Thread Iain Buclaw
On 6 October 2017 at 02:57, Walter Bright wrote: > > > On 10/5/2017 3:59 AM, Iain Buclaw wrote: >> >> On 3 October 2017 at 23:36, Joseph Myers wrote: >>> >>> On Tue, 3 Oct 2017, Jeff Law wrote: >>> >>>> /* Copyright (c) 2010-2014 by

Re: [PATCH/libiberty] Remove use of strtod in libiberty/d-demangle.c

2015-08-09 Thread Iain Buclaw
On 4 August 2015 at 16:23, Iain Buclaw wrote: > > Fixes PR 18669 raised against gdb/binutils. > > https://sourceware.org/bugzilla/show_bug.cgi?id=18669 > > While it is possible to roll our own strtod that handles hexadecimal > to float conversion, I'm no longer int

Re: [PATCH] Add D demangling support to libiberty

2014-09-19 Thread Iain Buclaw
On 4 August 2014 16:52, Ian Lance Taylor wrote: > On Sun, Aug 3, 2014 at 11:12 AM, Iain Buclaw wrote: >> >> - I haven't signed any copyright assignments to GCC. But I have >> papers from Donald ready to send across. > > Definitely necessary before we can

Re: [PATCH] Add D demangling support to libiberty

2014-09-23 Thread Iain Buclaw
On 19 September 2014 08:51, Iain Buclaw wrote: > On 4 August 2014 16:52, Ian Lance Taylor wrote: >> On Sun, Aug 3, 2014 at 11:12 AM, Iain Buclaw wrote: >>> >>> - I haven't signed any copyright assignments to GCC. But I have >>> papers from Dona

[PATCH] Move shared attributes to common location

2014-05-05 Thread Iain Buclaw
Hi, This patch (changelog entry needs to be written up) moves the minimal set of attributes to accommodate the needs of builtins out of each respective front-end and into a common area shared between each. Defines lhd_common_attribute_table and lhd_format_attribute_table to provide as defaults fo

[PATCH] Add D demangling support to libiberty

2014-08-03 Thread Iain Buclaw
. - I haven't signed any copyright assignments to GCC. But I have papers from Donald ready to send across. Regards Iain --- Add D demangling support for version 2 of the ABI. include/ChangeLog 2014-08-03 Iain Buclaw * demangle.h (DMGL_DLANG): New macro. (DM

Re: [PATCH] Add D demangling support to libiberty

2014-08-04 Thread Iain Buclaw
On 4 August 2014 16:52, Ian Lance Taylor wrote: > On Sun, Aug 3, 2014 at 11:12 AM, Iain Buclaw wrote: >> >> This adds a demangler for the D programming language to libiberty, >> intended to be used in GDB and Binutils. GDB already has a trimmed >> down implementa

Re: [PATCH] Add D demangling support to libiberty

2014-08-04 Thread Iain Buclaw
On 4 August 2014 17:06, Tom Tromey wrote: >>>>>> "Iain" == Iain Buclaw writes: > > Iain> This adds a demangler for the D programming language to libiberty, > Iain> intended to be used in GDB and Binutils. GDB already has a trimmed > Iain> down i

Re: [PATCH] Add D demangling support to libiberty

2014-08-05 Thread Iain Buclaw
Attached revision #2 of the patch. --- Add D demangling support for version 2 of the ABI. include/ChangeLog 2014-08-05 Iain Buclaw * demangle.h (DMGL_DLANG): New macro. (DMGL_STYLE_MASK): Add DMGL_DLANG. (demangling_styles): Add dlang_demangling

[PATCH 4/4] - Merging gdc (GNU D Compiler) into gcc

2012-06-18 Thread Iain Buclaw
/standards.texi Backend support for D compiler - gcc/config/rs6000/rs6000.c - gcc/dwarf2out.c - gcc/gcc.c -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; gdc_gcc.patch.gz Description: GNU Zip compressed data

[PATCH, gdc] - Merging gdc (GNU D Compiler) into gcc

2012-06-18 Thread Iain Buclaw
er - gcc/config/rs6000/rs6000.c - gcc/dwarf2out.c - gcc/gcc.c Again, sorry for the initial noise, I look forwarded to future discussions. Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';

Re: [PATCH, gdc] - Merging gdc (GNU D Compiler) into gcc

2012-06-25 Thread Iain Buclaw
he front end. > After some discussion, I have remove the D Inline Asm implementation completely from GDC, along with the backend headers that it depended on, so this file is no more, along with the i386 special cases. > > In d-gcc-tree.h: > +// normally include config.h (hconfig.h, tconfig.h?), but that > +// includes things that cause problems, so... > + > +union tree_node; > +typedef union tree_node *tree; > > See coretypes.h. > Thanks for the tip! Have switched it over. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';

Re: [PATCH, gdc] - Merging gdc (GNU D Compiler) into gcc

2012-06-27 Thread Iain Buclaw
On 19 June 2012 17:20, Joseph S. Myers wrote: > On Mon, 18 Jun 2012, Iain Buclaw wrote: > >> [PATCH 1/4]: >> The D compiler frontend >>  -  gcc/d > > Only selectively reviewed, but here are some comments: > >> diff -Naur gcc-4.8-20120617/gcc/d/asmstmt.cc

Re: [PATCH, gdc] - Merging gdc (GNU D Compiler) into gcc

2012-06-27 Thread Iain Buclaw
do not follow some items, such as "All data members should have names which end with an underscore". http://gcc.gnu.org/wiki/CppConventions Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';

Re: [PATCH, gdc] - Merging gdc (GNU D Compiler) into gcc

2012-06-27 Thread Iain Buclaw
On 27 June 2012 16:47, Joseph S. Myers wrote: > On Wed, 27 Jun 2012, Iain Buclaw wrote: > >> It's copied as including c-common.c / .h causes problems with a fair >> number of references pulled in that need to be stubbed out - also, >> some GCC function attributes that

Re: [PATCH, gdc] - Merging gdc (GNU D Compiler) into gcc

2012-06-28 Thread Iain Buclaw
On 27 June 2012 19:17, Mike Stump wrote: > On Jun 27, 2012, at 7:45 AM, Iain Buclaw wrote: >> I do have a question though, what is available for the transition of >> development from git to svn?  Other than a lot of ready and getting >> used to the various switches an

Re: [PATCH 0/1] gdc: define ELFv1, ELFv2 and D_PPCUseIEEE128 versions for powerpc

2025-02-09 Thread Iain Buclaw
Excerpts from liushuyu's message of Februar 6, 2025 2:02 am: > From: Zixing Liu > > This set of patches will add proper IEEE 128 quad precision marking to GDC > compiler, so that it works with the new changes in D standard library > where POWER system can use any math functions inside the standar

Re: [PATCH] libphobos: Disable libphobos.phobos/std/concurrency.d on macOS 13+ [PR111628]

2025-02-10 Thread Iain Buclaw
Thanks Rainer. This is fine until the cause is identified. Iain. On 10 February 2025 13:28:00 CET, Rainer Orth wrote: >The libphobos.phobos_shared/std/concurrency.d test just hangs on macOS >13 and beyond and isn't even termintated after the testsuite timeout is >exceeded. Thus, more and more

[GCC-12/13][committed] d: Fix ICE in build_deref, at d/d-codegen.cc:1650 [PR111650]

2025-01-21 Thread Iain Buclaw
Hi, This patch was committed some time ago in r14-10036, now it's being backported to the gcc-13 and gcc-12 release branches. The ICE in the D front-end was found to be caused by in some cases the hidden closure parameter type being generated too early for nested functions. Better to update the

Re: [committed] libphobos: Add MIPS64 implementation of fiber_switchContext [PR118584]

2025-01-23 Thread Iain Buclaw
Excerpts from Maciej W. Rozycki's message of Januar 23, 2025 6:29 pm: > On Tue, 21 Jan 2025, Iain Buclaw wrote: > >> This patch adds a MIPS64 implementation of `fiber_switchContext', >> replacing the generic implementation. The `core.thread.fiber' module >>

[GCC-14][committed] d: Fix ICE in expand_d_format when diagnosing empty enum [PR117115]

2025-01-17 Thread Iain Buclaw
Hi, This patch backports the individual fix for PR117115 from the upstream merge in r15-6824 into the releases/gcc-14 branch. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to branch. Regards, Iain. --- PR d/117115 gcc/testsuite/ChangeLog: * gdc.dg/

[committed] d: Add testcase for fixed PR117115

2025-01-17 Thread Iain Buclaw
Hi, This patch adds a testcase for a PR that was fixed in upstream, and merged in r15-6824. Regression tested on x86_64-linux-gnu, and committed to mainline. Regards, Iain. --- PR d/117115 gcc/testsuite/ChangeLog: * gdc.dg/pr117115.d: New test. --- gcc/testsuite/gdc.dg/pr1171

[committed] d: Fix failing test with 32-bit compiler [PR114434]

2025-01-20 Thread Iain Buclaw
Hi, Since the introduction of `gdc.test/runnable/test23514.d', it's exposed an incorrect compilation when adding a 64-bit constant to a link-time address. The current cast to `size_t' causes a loss of precision, which can result in incorrect compilation. Bootstrapped and regtested on x86_64-linu

[GCC-12][committed] d: Fix failing test with 32-bit compiler [PR114434]

2025-01-20 Thread Iain Buclaw
Hi, This is patch is a backport of r15-7071, with test included ad verbatim. Since the introduction of `gdc.test/runnable/test23514.d', it's exposed an incorrect compilation when adding a 64-bit constant to a link-time address. The current cast to `size_t' causes a loss of precision, which can r

[committed] libphobos: Add MIPS64 implementation of fiber_switchContext [PR118584]

2025-01-21 Thread Iain Buclaw
Hi, This patch adds a MIPS64 implementation of `fiber_switchContext', replacing the generic implementation. The `core.thread.fiber' module already defines version=AsmExternal on mips64el-linux-gnuabi64 targets. Committed to mainline. Regards, Iain. --- PR d/118584 libphobos/ChangeLog:

Re: [PATCH] d, v2: give dependency files better filenames

2025-01-13 Thread Iain Buclaw
Excerpts from Jakub Jelinek's message of Januar 13, 2025 2:58 pm: > On Mon, Jan 13, 2025 at 02:45:28PM +0100, Arsen Arsenović wrote: >> > So the former d/.deps/file.Po which handled both d/dmd/common/file.d and >> > d/dmd/root/file.d in your case would be d/.deps/d-common-file.o.d and >> > d/.deps/

[committed] libphobos: Bump soname to version 6 [PR117701]

2025-01-13 Thread Iain Buclaw
Hi, This patch bumps the soname of libphobos from version 5 to version 6. Each major release is not binary compatible with the previous. Regstrapped on x86_64-linux-gnu, committed to mainline. Regards, Iain. --- PR d/117701 libphobos/ChangeLog: * configure: Regenerate.

[committed] testsuite, d: Fix failing pr110406.d test

2025-01-05 Thread Iain Buclaw
Hi, At some point during GCC 15 development, the compiler-generated code for D ModuleInfo support now gets transformed into the following on x86: _12 = (uint) &__stop_minfo; _13 = (uint) &__start_minfo; _14 = (uint) &gdc.dso_slot; _15 = {1, _14, _13, _12}; gdc.dso_initialized

[committed] d: Merge upstream dmd c11e1d1708, druntime e60bfd11bd, phobos 8729740e3

2025-01-05 Thread Iain Buclaw
Hi, This patch merges the D front-end with upstream dmd c11e1d1708. Synchronizing the compiler with the upstream release of v2.108.1. D front-end changes: - Import dmd v2.108.1. - Add experimental support for language editions, enabled by adding the UDA `@__edition_la

Re: [committed] testsuite, d: Fix failing pr110406.d test

2025-01-05 Thread Iain Buclaw
Excerpts from Rainer Orth's message of Januar 5, 2025 12:42 pm: > Hi Iain, > >> At some point during GCC 15 development, the compiler-generated code for >> D ModuleInfo support now gets transformed into the following on x86: >> >> _12 = (uint) &__stop_minfo; >> _13 = (uint) &__start_minfo;

Re: [PATCH] D, Darwin: Restore bootstrap.

2025-01-14 Thread Iain Buclaw
Excerpts from Iain Sandoe's message of Januar 14, 2025 9:10 pm: > Tested on x86_64, i686 darwin17 and aarch64 darwin21, > OK for trunk, or alternate solution? > thanks, > Iain > Thank Iain, Could a pull request be made upstream here? https://github.com/dlang/dmd/pulls Location of this module i

Re: Ping: [PATCH] d,ada/spec: only sub nostd{inc,lib} rather than nostd{inc,lib}*

2025-01-16 Thread Iain Buclaw
Excerpts from Arsen Arsenović's message of Oktober 7, 2024 11:31 pm: > Ping on this patch. > Thanks, this is OK for D. Note, that the gdc driver does try to accomodate for mixing C++ and D code in the same application - so given: gdc a.d b.cc It adds -lstdc++ to the link command for conve

[committed] d: Add testcase for fixed PR116373

2025-01-16 Thread Iain Buclaw
Hi, This patch adds a testcase for a PR that was fixed in upstream, and merged in r15-6559-g332cf038fda109. Regression tested on x86_64-linux-gnu, and committed to mainline. Regards, Iain. --- PR d/116373 gcc/testsuite/ChangeLog: * gdc.dg/pr116373.d: New test. --- gcc/testsui

[GCC-14][committed] d: Fix ICE in dmd.expressionsem.resolveLoc

2025-01-16 Thread Iain Buclaw
Hi, This patch backports the individual fix for PR116373 from the upstream merge in r15-6559-g332cf038fda109 into the releases/gcc-14 branch. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to branch. Regards, Iain. --- PR d/116373 gcc/d/ChangeLog: *

[committed] d: Merge upstream dmd, druntime d6f693b46a, phobos 336bed6d8.

2025-01-14 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd d6f693b46a, and the standard library with phobos 336bed6d8. Synchronizing with the latest changes in v2.110.0. D front-end changes: - Import latest fixes from dmd v2.110.0-rc.1. D runtime changes: - Im

[committed] d: Fix record layout of compiler-generated TypeInfo_Class [PR115249]

2025-01-16 Thread Iain Buclaw
Hi, In r14-8766, the layout of TypeInfo_Class changed in the runtime library, but didn't get reflected in the compiler-generated data, causing a corruption of runtime type introspection on BigEndian targets. This adjusts the size of the `ClassFlags' field from uint to ushort, and adds a new ushor

[GCC-14][committed] d: Fix record layout of compiler-generated TypeInfo_Class [PR115249]

2025-01-16 Thread Iain Buclaw
Hi, This is the backport of r15-6983 to releases/gcc-14. In r14-8766, the layout of TypeInfo_Class changed in the runtime library, but didn't get reflected in the compiler-generated data, causing a corruption of runtime type introspection on BigEndian targets. This adjusts the size of the `Class

Re: [PATCH v2 1/1] gdc: define ELFv1 and ELFv2 versions for powerpc

2025-02-15 Thread Iain Buclaw
Excerpts from liushuyu's message of Februar 13, 2025 10:00 pm: > From: Zixing Liu > > gcc/ChangeLog: > * config/rs6000/rs6000-d.cc: define ELFv1 and ELFv2 > version identifiers according to the target options. > > gcc/testsuite/ChangeLog: > * gdc.dg/ppcabi.d: Add a test to te

[GCC-14][committed] d: Merge upstream dmd, druntime af92b68a81, phobos c970ca67f

2025-03-19 Thread Iain Buclaw
Hi, This patch merges the D front-end and run-time libraries with the upstream dmd 2.108.1 release. D front-end changes: - Import dmd v2.108.1. D runtime changes: - Import druntime v2.108.1. Phobos changes: - Import phobos v2.108.1. Bootstrapped and regression tested

[committed] d: Fix ICE type variant differs by TYPE_PACKED [PR117621]

2025-03-23 Thread Iain Buclaw
Hi, r13-1104-gf4c3ce32fa54c1 introduced a regression, which had an accidental self assignment of TYPE_PACKED when it should have been assigned to the type's variants. This patch fixes that. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, committed to mainline, and backported to relea

[PATCH] wwwdocs: Document changes to the D front-end

2025-03-20 Thread Iain Buclaw
Hi, This patch adds D front-end section to the GCC changes pages. When inspecting this, I noticed that the previous two releases has been missed/forgot about as well. Ran all pages through the w3c validator and got no reported errors. OK? Thanks, Iain. --- * htdocs/gcc-13/changes.html:

[committed] d: Fix quoted command-line options to match lang.opt [PR118545]

2025-03-20 Thread Iain Buclaw
Hi, It was noticed that not all D language options get a url in diagnostics. These have been checked and fixed as necessary. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to mainline. Regards, Iain. --- PR d/118545 gcc/d/ChangeLog: * d-lang.cc (d_h

[committed] d: Improve UFCS/property error message

2025-03-22 Thread Iain Buclaw
Hi, This patch merges the D front-end with upstream dmd 9d2f034398. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 9d2f034398. Reviewed-on: https://github.com/dlang/dmd/pull/21

[committed] d: Indexing a cast(AA) yields no lvalue anymore

2025-03-22 Thread Iain Buclaw
Hi, This patch merges the D front-end with upstream dmd 8db14cf846. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 8db14cf846. Reviewed-on: https://github.com/dlang/dmd/pull/21

[committed] d: Bump front-end language version to v2.111.0-rc.1.

2025-03-22 Thread Iain Buclaw
Hi, This patch merges the D front-end with upstream dmd 032e24446b. The language version is now v2.111.0-rc.1. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 032e24446b.

[committed] d: Add C++23 to CppStdRevision enum

2025-03-22 Thread Iain Buclaw
Hi, This patch merges the D front-end with upstream dmd 94950cae58. D front-end changes: - The compiler now accepts `-fextern-std=c++23' Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * dmd/MERGE: Me

[committed] testsuite: d: Break up Wbuiltin_declaration_mismatch2.d into smaller tests

2025-03-24 Thread Iain Buclaw
Hi, This patch splits Wbuiltin_declaration_mismatch2.d into multiple tests. When looking at failures on ARM64, this aided in understanding which specific tests weren't passing. Regression tested on x86_64-linux-gnu, committed to mainline. Regards, Iain. --- gcc/testsuite/ChangeLog: * g

[committed] libphobos: Merge changes in upstream druntime testsuite

2025-03-18 Thread Iain Buclaw
Hi, This patch merges libphobos with upstream druntime d2ee11364c. Regtested on x86_64-linux-gnu/-m32 and committed to mainline. Regards, Iain. --- libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime d2ee11364c. * testsuite/libphobos.aa/test_aa.d: Add new test.

[committed] libphobos: Fix std.getopt doesn't accept const(string)[] anymore

2025-03-18 Thread Iain Buclaw
Hi, This patch was cherry-picked from upstream phobos commit 79cbde1ab. Bootstrapped and regression tested on x86_64-linux-gnu/-m32 and committed to mainline. Regards, Iain. --- libphobos/ChangeLog: * src/MERGE: Merge upstream phobos 79cbde1ab. Reviewed-on: https://github.com/dlang/ph

[committed] libphobos: Avoid setting union members in std.json, set the whole union instead

2025-03-18 Thread Iain Buclaw
Hi, This patch was cherry-picked from upstream phobos commit cafe86453. Bootstrapped and regression tested on x86_64-linux-gnu/-m32 and committed to mainline. Regards, Iain. --- libphobos/ChangeLog: * src/MERGE: Merge upstream phobos cafe86453. Reviewed-on: https://github.com/dlang/ph

[committed] d: Update the copyright years of dmd sources to 2025

2025-03-18 Thread Iain Buclaw
Hi, This patch merges the D front-end with upstream dmd 51be8bb729. Updates all copyright years from 2024 -> 2025. Regards, Iain. --- gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 51be8bb729. Reviewed-on: https://github.com/dlang/dmd/pull/20958 --- gcc/d/dmd/MERGE

[committed] d: Add missing Declaration bitfield setters/getters

2025-03-18 Thread Iain Buclaw
Hi, This patch merges the D front-end with upstream dmd fde0f8c40a. Bootstrapped and regression tested on x86_64-linux-gnu, committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd fde0f8c40a. Reviewed-on: https://github.com/dlang/dmd/pull/21014 ---

[committed] libphobos: Add module declaration to rt.invariant

2025-04-04 Thread Iain Buclaw
Hi, This patch adds a module declaration to the rt/invariant.d module, preventing conflicts with a user-provided `invariant.d' module. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * runtime.def (INVARIANT):

[PING][PATCH] Makefile.tpl: Implement per-stage GDCFLAGS [PR116975]

2025-03-26 Thread Iain Buclaw
Ping. Excerpts from Iain Buclaw's message of März 3, 2025 11:14 pm: > Hi, > > This patch implements STAGE1_GDCFLAGS and others to the configure > machinery, allowing the GDCFLAGS for each bootstrap stage of building > gdc to be overriden, as is the case with CXXFLAGS for other front-ends. > > Th

[committed] d: import __stdin causes compilation to pause while reading from stdin

2025-03-26 Thread Iain Buclaw
Hi, This patch merges the D front-end with upstream dmd 02a64d2e13. Moves the special handling of reading from stdin out of the language semantic routines. All references to `__stdin.d` have also been removed from the front-end implementation. Bootstrapped and regression tested on x86_64-linux-g

[committed] d: Use CONSTRUCTOR_ZERO_PADDING_BITS in the D FE [PR117832]

2025-04-09 Thread Iain Buclaw
Hi, This patch adds a new wrapper function for `build_constructor', and calls it instead to ensure that all CONSTRUCTOR nodes explicitly created by the front-end have CONSTRUCTOR_ZERO_PADDING_BITS set. Some places may not be necessary as it's guaranteed for there to be no padding in the type, suc

[committed] d: Fix forward referenced enums missing type names in debug info [PR118309]

2025-04-09 Thread Iain Buclaw
Hi, This patch fixes a crash seen when gdb was debugging D programs. Calling `rest_of_type_compilation' as the D types were built meant that debug info was being emitted before all forward references were resolved, resulting in DW_AT_name's to be missing. Instead, defer outputting type debug inf

[committed] libphobos: Merge with upstream phobos 35977c802

2025-04-08 Thread Iain Buclaw
Hi, This patch merges the D standard library with upstream phobos 35977c802. Synchronizes recent bug fixes targeted for v2.111.1. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to mainline. Regards, Iain. --- libphobos/ChangeLog: * src/MERGE: Merge upstream

[committed] d: Merge upstream dmd 1b34fea478, phobos 40ffbb364

2025-04-11 Thread Iain Buclaw
Hi, This patch merges the D front-end compiler with upstream dmd 1b34fea478, and the standard runtime library with upstream phobos 40ffbb364. Synchronizing the recent bug fixes targeted for v2.111.1. D front-end changes: - Import latest fixes from dmd v2.111.1-rc.1. Phobos changes:

[committed] d: Fix ICE in dwarf2out_imported_module_or_decl, at dwarf2out.cc:27676 [PR119817]

2025-04-15 Thread Iain Buclaw
Hi, This patch fixes the ICE in PR119817. The ImportVisitor method for handling the importing of overload sets was pushing NULL_TREE to the array of import decls, which in turn got passed to `debug_hooks->imported_module_or_decl', triggering the observed internal compiler error. NULL_TREE is ret

[committed] d: Fix internal compiler error: in visit, at d/decl.cc:838 [PR119799]

2025-04-15 Thread Iain Buclaw
Hi, This patch fixes the ICE in PR119799. This was caused by a check in the D front-end disallowing static VAR_DECLs with a size `0'. While empty structs in D are given the size `1', the same symbol coming from ImportC modules do infact have no size, so allow C variables to pass the check as wel

Re: [PATCH] wwwdocs: Document changes to the D front-end

2025-04-15 Thread Iain Buclaw
Ping. If no obvious grammar errors are flagged, I'll likely just commit this later today. Thanks, Iain. Excerpts from Iain Buclaw's message of März 20, 2025 12:25 pm: > Hi, > > This patch adds D front-end section to the GCC changes pages. When > inspecting this, I noticed that the previous two

Re: [PATCH] libphobos: enable for sparc64-unknown-linux-gnu

2025-04-22 Thread Iain Buclaw
Excerpts from Sam James's message of April 20, 2025 2:46 am: > This bootstraps with some test failures but works well enough to build > 11..15. > > libphobos/ChangeLog: > > * configure.tgt: Add sparc64-unknown-linux-gnu as a supported target. > --- > As discussed on IRC. OK? I'd like to bac

[committed] d: Fix infinite loop in isAliasThisTuple

2025-04-10 Thread Iain Buclaw
Hi, This reverts a change in the upstream D implementation of the compiler, as the refactoring introduced a regression. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 51816cd01d

[committed] d: Fix -fonly= argument only matches when including full path [PR119758]

2025-04-12 Thread Iain Buclaw
Hi, This patch fixes a couple issues with the `-fonly=' option in the D front-end driver. Using `strcmp' to match the `-fonly=' argument with the input source file made the feature inflexible to use. By mistake, the driver was also found to omit all other modules on the command line as well, whi

[committed] d: Add option to include imported modules in the compilation [PR109023]

2025-04-12 Thread Iain Buclaw
Hi, This patch adds the ability to include imported modules in the compilation, as if they were given on the command line. When this option is enabled, all imported modules are compiled except those that are part of libphobos. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, and comm

<    1   2   3   4   5   6   7   8   9   10   >