[committed] d: Reduce code duplication of writing generated files.

2023-10-14 Thread Iain Buclaw
Hi, This is a small refactoring ahead of the next merge from upstream, where a few more front-end routines will stop doing the file handling themselves. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, committed to mainline. Regards, Iain. --- gcc/d/ChangeLog: * d-lang.cc (

[committed] Fix ICE in set_cell_span, at text-art/table.cc:148 with D front-end and -fanalyzer

2023-10-14 Thread Iain Buclaw
Hi, The internal error in analyzer turned out to be caused by a subtly invalid tree representation of STRING_CSTs in the D front-end, fixed by including the terminating NULL as part of the TREE_STRING_POINTER. When adding a first analyzer test for D, it flagged up another subtle mismatch in one a

[committed] d: Merge upstream dmd, druntime f9efc98fd7, phobos a3f22129d.

2023-10-15 Thread Iain Buclaw
Hi, This patch merges the D front-end and run-time library with upstream dmd f9efc98fd7, and standard library with phobos a3f22129d. Synchronizing with the latest bug fixes in the v2.105.2 release. D front-end changes: - Import dmd v2.105.2. - A function with enum storage class

[committed] d: Merge upstream dmd, druntime 4c18eed967, phobos d945686a4.

2023-10-16 Thread Iain Buclaw
Hi, This patch merges the D front-end and run-time library with upstream dmd 4c18eed967, and standard library with phobos d945686a4. Synchronizing with the upstream development branch as of 2023-10-16. D front-end changes: - Import latest fixes to mainline. D runtime changes:

[committed] d: Forbid taking the address of an intrinsic with no implementation

2023-10-16 Thread Iain Buclaw
Hi, This code fails to link: import core.math; real function(real) fn = &sin; However, when called directly, the D intrinsic `sin()' is expanded by the front-end into the GCC built-in `__builtin_sin()'. This has been fixed to now also expand the function when a reference is taken. As t

[PATCH] libbacktrace: Move define of HAVE_ZLIB into check for -lz

2018-07-29 Thread Iain Buclaw
This is really to suppress the default action-if-found for AC_CHECK_LIBS. Zlib is not a dependency of libbacktrace, and so it shouldn't be added to LIBS. When looking at the check, saw that could remove the test for ac_cv_lib_z_compress also. Regards Iain --- 2018-07-29 Iain B

[PATCH] Move -Walloca and related warnings from c.opt to common.opt

2018-07-29 Thread Iain Buclaw
Hi, Since r262910, it was noticed that new -Walloca-larger-than= warnings started appearing when building the D frontend's standard library. These have been checked and verified as valid, and appropriate fixes will be sent on upstream. As for the warning itself, as it is now default on, it would

Re: [PATCH] Move -Walloca and related warnings from c.opt to common.opt

2018-07-30 Thread Iain Buclaw
On 30 July 2018 at 17:45, Martin Sebor wrote: > On 07/30/2018 09:28 AM, Jakub Jelinek wrote: >> >> On Sun, Jul 29, 2018 at 08:35:39PM +0200, Iain Buclaw wrote: >>> >>> Since r262910, it was noticed that new -Walloca-larger-than= warnings >>> starte

Re: [PATCH] libbacktrace: Move define of HAVE_ZLIB into check for -lz

2018-07-31 Thread Iain Buclaw
On 31 July 2018 at 16:33, Ian Lance Taylor wrote: > On Sun, Jul 29, 2018 at 7:50 AM, Iain Buclaw wrote: >> >> This is really to suppress the default action-if-found for >> AC_CHECK_LIBS. Zlib is not a dependency of libbacktrace, and so it >> shouldn't be add

[committed] d: Merge upstream dmd f4be7f6f7b.

2023-10-22 Thread Iain Buclaw
Hi, This patch merges the D front-end with upstream dmd f4be7f6f7b. Synchronizing with the upstream development branch as of 2023-10-22. D front-end changes: - Fix bootstrap failure with i686-darwin9. ``` Undefined symbols for architecture i386: "gendocfile", reference

[committed] d: Add warning for call expression without side effects

2023-10-28 Thread Iain Buclaw
Hi, In the last merge of the dmd front-end with upstream (r14-4830), this warning got removed from the semantic passes. Reimplement the warning for the code generation pass instead, where it cannot have an effect on conditional compilation. Bootstrapped and regression tested on x86_64-linux-gnu/

[committed] d: Fix ICE: in verify_gimple_in_seq on powerpc-darwin9 [PR112270]

2023-10-28 Thread Iain Buclaw
Hi, This patch fixes an ICE seen during stage2 on powerpc-darwin9 only. There were still some uses of GCC's boolean_type_node in the D front-end, which caused a type mismatch to trigger as D bool size is fixed to 1 byte on all targets. So two new nodes have been introduced - d_bool_false_node and

[committed] d: Merge upstream dmd, druntime e48bc0987d, phobos 2458e8f82.

2023-10-29 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd e48bc0987d, and standard library with phobos 2458e8f82. Synchronizing with the v2.106.0-beta.1 release. D front-end changes: - Import dmd v2.106.0-beta.1. D runtime changes: - Import druntime v2.106.0-beta.1.

[committed] d: Fix ICE: verify_gimple_failed (conversion of register to a different size in 'view_convert_expr') [PR110712]

2023-10-29 Thread Iain Buclaw
Hi, This patch fixes an ICE cause by the way the D front-end generates its codegen around va_list types. Static arrays in D are passed around by value, rather than decaying to a pointer. On x86_64 __builtin_va_list is an exception to this rule, but semantically it's still treated as a static arr

Re: [committed] d: Merge upstream dmd, druntime e48bc0987d, phobos 2458e8f82.

2023-10-30 Thread Iain Buclaw
Excerpts from Rainer Orth's message of Oktober 30, 2023 5:37 pm: > Hi Iain, > >> This patch merges the D front-end and runtime library with upstream dmd >> e48bc0987d, and standard library with phobos 2458e8f82. >> >> Synchronizing with the v2.106.0-beta.1 release. >> >> D front-end changes: >> >>

[committed] d: Clean-up unused variable assignments after interface change

2023-10-31 Thread Iain Buclaw
Hi, The lowering done for invoking `new' on a single dimension array was moved from the code generator to the front-end semantic pass in r14-4996. This removes the detritus left behind in the code generator from that deletion. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, committ

[committed] d: Merge upstream dmd, druntime 643b1261bb, phobos 1c98326e7

2023-11-02 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd 643b1261bb, and standard library with phobos 1c98326e7. Synchronizing with the v2.106.0-beta.1 release. This is being done a little earlier than usual as there's a lot of internal moving code around within upstream at th

[committed][GCC13] d: Fix internal compiler error: in make_import, at d/imports.cc:48 [PR113125]

2024-03-02 Thread Iain Buclaw
Hi, This patch backports an ICE triggered in the D front-end. The cause of the ICE was that TYPE_DECLs were only being generated for structs with members, not opaque structs. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, backported to releases/gcc-13, releases/gcc-12, and releases

[committed][GCC13] d: Fix callee destructor call invalidates the live object [PR113758]

2024-03-02 Thread Iain Buclaw
Hi, This patch backports a fix to code generation when passing objects by invisible reference that have a defined cpctor or dtor. When generating the argument, check the isCalleeDestroyingArgs hook, and force a TARGET_EXPR to be created if true, so that a reference to the live object isn't passed

[committed] d: Fix gdc -O2 -mavx generates misaligned vmovdqa instruction [PR114171]

2024-03-02 Thread Iain Buclaw
Hi, This patch fixes a wrong code issue in the D front-end where lowered struct comparisons would reinterpret fields with a different (usually bigger) alignment than the original. Use `build_aligned_type' to preserve the alignment when casting away for such comparisons. Bootstrapped and regressi

Re: [committed] d: Fix gdc -O2 -mavx generates misaligned vmovdqa instruction [PR114171]

2024-03-03 Thread Iain Buclaw
Excerpts from Richard Biener's message of März 3, 2024 11:41 am: > > >> Am 03.03.2024 um 02:51 schrieb Iain Buclaw : >> >> Hi, >> >> This patch fixes a wrong code issue in the D front-end where lowered >> struct comparisons would reinter

[committed] d: Merge upstream dmd, druntime f8bae04558, phobos ba2ade9dec

2024-03-03 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd f8bae04558, and the standard library with phobos ba2ade9dec D front-end changes: - Import dmd v2.108.1-beta-1. D runtime changes: - Import druntime v2.108.1-beta-1. Phobos changes: - Import phobos v2.108.

Re: [committed] d: Fix gdc -O2 -mavx generates misaligned vmovdqa instruction [PR114171]

2024-03-03 Thread Iain Buclaw
Excerpts from Andrew Pinski's message of März 3, 2024 11:49 pm: > On Sat, Mar 2, 2024 at 5:51 PM Iain Buclaw wrote: >> >> Hi, >> >> This patch fixes a wrong code issue in the D front-end where lowered >> struct comparisons would reinterpret fields with a d

Re: Frontend access to target features (was Re: [PATCH] libgccjit: Add ability to get CPU features)

2024-03-10 Thread Iain Buclaw
Excerpts from David Malcolm's message of März 5, 2024 4:09 pm: > On Thu, 2023-11-09 at 19:33 -0500, Antoni Boucher wrote: >> Hi. >> See answers below. >> >> On Thu, 2023-11-09 at 18:04 -0500, David Malcolm wrote: >> > On Thu, 2023-11-09 at 17:27 -0500, Antoni Boucher wrote: >> > > Hi. >> > > This

[committed] d: Fix -fpreview=in ICEs with forward referenced parameter [PR112285]

2024-03-10 Thread Iain Buclaw
Hi, This patch removes the early lowering of D AST types as GCC trees in Target::preferPassByRef, fixing both PR12285 and PR12290. The way that the target hook preferPassByRef is implemented, it relied on the GCC "back-end" tree type to determine whether or not to use `ref' ABI for D `in' paramet

[committed] d: Merge upstream dmd, druntime 855353a1d9

2024-03-17 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd 855353a1d9. D front-end changes: - Import dmd v2.108.0-rc.1. - Add support for Named Arguments for functions. - Hex strings now convert to integer arrays. D runtime changes: - Import dru

Re: [PATCH] libphobos, Darwin: Enable libphobos for most Darwin.

2024-04-02 Thread Iain Buclaw
Excerpts from Iain Sandoe's message of April 2, 2024 1:51 pm: > I have been building and testing D/libphobos for some time and over > some GCC and OS releases. As discussed on IRC a while ago, I think > we're ready to enable this (it also avoids an annoying build fail at > stage 2 if one forgets t

[committed] d: Merge upstream dmd, druntime b65767825f, phobos 92dc5a4e9.

2024-04-06 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd b65767825f, and the standard library with phobos 92dc5a4e9. Synchronizing with the upstream release of v2.108.0. D front-end changes: - Import dmd v2.108.0. D runtime changes: - Import druntime v2.108.

[committed] d: Merge dmd. druntime e770945277, phobos 6d6e0b9b9

2024-02-03 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd e770945277, and the standard runtime library with phobos 6d6e0b9b9. Synchronizing with the upstream release candidate as of 2024-01-27. D front-end changes: - Import latest fixes from dmd v2.107.0-beta.1. - Hex

[committed] d: Merge dmd, druntime a6f1083699, phobos 31dedd7da

2024-02-03 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd a6f1083699, and the standard library with phobos 31dedd7da. D front-end changes: - Import dmd v2.107.0. - Character postfixes can now also be used for integers of size two or four. D run-time c

[committed] d: Merge dmd, druntime 11240a9663

2024-02-12 Thread Iain Buclaw
Hi, This patch merges the D front-end and core runtime library with upstream dmd 11240a9663. Included in the merge are the fix for PR113772, and new testsuite directives to enable fixing PR104739. D front-end changes: - Import latest fixes from dmd v2.107.0. D runtime changes:

[committed] d: Fix callee destructor call invalidates the live object [PR113758]

2024-02-12 Thread Iain Buclaw
Hi, This patch fixes code generation problem with passing objects by invisible reference - because of a defined cpctor or dtor. When generating the argument, check the isCalleeDestroyingArgs hook, and force a TARGET_EXPR to be created if true, so that a reference to the live object isn't passed d

[committed] d: Fix internal compiler error: in make_import, at d/imports.cc:48 [PR113125]

2024-02-12 Thread Iain Buclaw
Hi, This patch fixes an ICE triggered in the D front-end. The cause of the ICE was that TYPE_DECLs were only being generated for structs with members, not opaque structs. PR d/113125 Bootstrapped and regression tested on x86_64-linux-gnu/-m32, committed to mainline. Regards, Iain. ---

[committed] libphobos: Bump soname version to 5 [PR113667]

2024-02-12 Thread Iain Buclaw
Hi, This patch bumps the soname version of libphobos. Each major release is not binary compatible with the previous. Bootstrapped and regression tested on x86_64-linux-gnu/-m32, committed to mainline. Regards, Iain. --- PR d/113667 libphobos/ChangeLog: * configure: Regenerate

Re: [PATCH] testsuite: gdc: Require ucn in gdc.test/runnable/mangle.d etc. [PR104739]

2024-02-14 Thread Iain Buclaw
Excerpts from Rainer Orth's message of Februar 14, 2024 11:51 am: > gdc.test/runnable/mangle.d and two other tests come out UNRESOLVED on > Solaris with the native assembler: > > UNRESOLVED: gdc.test/runnable/mangle.d compilation failed to produce > executable > UNRESOLVED: gdc.test/runnable/ma

[committed] d: Add UTF BOM tests to gdc.dg testsuite

2024-02-19 Thread Iain Buclaw
Hi, This patch checks in a few combinations of UTF BOM/no-BOM tests to the gdc.dg testsuite. Some of these are part of the upstream DMD `gdc.test' testsuite, but they had been omitted because they get mangled by the lib/gdc-utils.exp helpers when parsing and staging the tests. Translate them over

Re: [PATCH v10 2/2] Add gcov MC/DC tests for GDC

2024-02-23 Thread Iain Buclaw
Excerpts from Jørgen Kvalsvik's message of Februar 23, 2024 12:18 pm: > This is a mostly straight port from the gcov-19.c tests from the C test > suite. The only notable differences from C to D are that D flips the > true/false outcomes for loop headers, and the D front end ties loop and > ternary

[committed] d: Merge dmd, druntime ceff48bf7d, phobos dcbfbd43a

2024-02-25 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd ceff48bf7d, and the standard library with phobos dcbfbd43a. D front-end changes: - Import latest fixes from dmd v2.107.1-rc.1. D runtime changes: - Import latest fixes from druntime v2.107.1-rc.1.

Re: [PATCH] testsuite, libphobos: Update link flags [PR112864].

2024-01-28 Thread Iain Buclaw
Excerpts from Iain Sandoe's message of Januar 28, 2024 4:03 pm: > Tested on i686, x86_64, aarch64 Darwin, x86_64, aarch64 Linux, > OK for trunk? > thanks, > Iain > Thanks Iain! OK. Seems reasonable to me. Iain.

Re: [PATCH] testsuite, GDC: Update link flags [PR112861].

2024-01-28 Thread Iain Buclaw
Excerpts from Iain Sandoe's message of Januar 28, 2024 4:02 pm: > Tested on i686, x86_64, aarch64 Darwin, x86_64, aarch64 Linux, > OK for trunk? > thanks, > Iain > OK. Thanks again! Iain.

Re: [PATCH v9 2/2] Add gcov MC/DC tests for GDC

2023-12-31 Thread Iain Buclaw
Excerpts from Jørgen Kvalsvik's message of Dezember 31, 2023 4:51 pm: > This is a mostly straight port from the gcov-19.c tests from the C test > suite. The only notable differences from C to D are that D flips the > true/false outcomes for loop headers, and the D front end ties loop and > ternary

Re: [PATCH v3 1/3] LoongArch: Adjust D version strings.

2023-12-07 Thread Iain Buclaw
Hi, Thanks for this. Excerpts from Yang Yujie's message of Dezember 1, 2023 11:08 am: > diff --git a/gcc/d/dmd/cond.d b/gcc/d/dmd/cond.d > index 568b639e0b6..02af0cc9e29 100644 > --- a/gcc/d/dmd/cond.d > +++ b/gcc/d/dmd/cond.d > @@ -693,10 +693,10 @@ extern (C++) final class VersionCondition : DV

Re: [PATCH v3 2/3] libphobos: Update build scripts for LoongArch64.

2023-12-07 Thread Iain Buclaw
Excerpts from Yang Yujie's message of Dezember 1, 2023 11:08 am: > libphobos/ChangeLog: > > * m4/druntime/cpu.m4: Support loongarch* targets. > * libdruntime/Makefile.am: Same. > * libdruntime/Makefile.in: Regenerate. > * configure: Regenerate. > --- > libphobos/configure

Re: [PATCH v3 3/3] libruntime: Add fiber context switch code for LoongArch.

2023-12-07 Thread Iain Buclaw
Excerpts from Yang Yujie's message of Dezember 1, 2023 11:08 am: > libphobos/ChangeLog: > > * libdruntime/config/loongarch/switchcontext.S: New file. > --- OK. Thanks, Iain.

Re: [PATCH v2 3/3] libphobos: LoongArch hardware support.

2023-12-07 Thread Iain Buclaw
Excerpts from Yang Yujie's message of Dezember 1, 2023 8:46 am: > libphobos/ChangeLog: > > * src/std/math/hardware.d: Implement FP control. > --- > libphobos/src/std/math/hardware.d | 53 +++ > > diff --git a/libphobos/src/std/math/hardware.d > b/libphobos/src/std/math/har

Re: [PATCH v3 2/2] libphobos: Update build scripts for LoongArch64.

2023-12-08 Thread Iain Buclaw
Excerpts from Yang Yujie's message of Dezember 8, 2023 11:09 am: > libphobos/ChangeLog: > > * m4/druntime/cpu.m4: Support loongarch* targets. > * libdruntime/Makefile.am: Same. > * libdruntime/Makefile.in: Regenerate. > * configure: Regenerate. > --- > libphobos/configure

[committed] d: Merge upstream dmd, druntime 2bbf64907c, phobos b64bfbf91

2023-12-11 Thread Iain Buclaw
Hi, This patch merges the D front-end and runtime library with upstream dmd 2bbf64907c, and the standard library with phobos b64bfbf91. Synchronizing with the upstream release of v2.106.0. D front-end changes: - Import dmd v2.106.0. D runtime changes: - Import druntime v2.106.0. Phob

Re: [committed] d: Merge upstream dmd, druntime 2bbf64907c, phobos b64bfbf91

2023-12-11 Thread Iain Buclaw
Excerpts from Iain Buclaw's message of Dezember 11, 2023 11:07 am: > Hi, > > This patch merges the D front-end and runtime library with upstream dmd > 2bbf64907c, and the standard library with phobos b64bfbf91. > > Synchronizing with the upstream release of v2.106.0. > ... > diff --git a/gcc/d

Re: [PATCH 2/3] Add generated .opt.urls files

2023-11-12 Thread Iain Buclaw
Excerpts from David Malcolm's message of November 10, 2023 10:42 pm: > gcc/d/ChangeLog: > * lang.opt.urls: New file, autogenerated by > regenerate-opt-urls.py. > --- > gcc/d/lang.opt.urls | 95 + > create mode 100644 gcc/d/lang.opt.urls > [abridged view of

Re: [committed] d: Merge upstream dmd ff57fec515, druntime ff57fec515, phobos 17bafda79.

2023-11-22 Thread Iain Buclaw
Excerpts from Rainer Orth's message of November 21, 2023 4:59 pm: > Hi Iain, > >> This patch merges the D front-end and runtime library with upstream dmd >> ff57fec515, and the standard library with phobos 17bafda79. >> >> Synchronizing with the upstream release candidate of v2.106.0. >> >> D fron

Re: [committed] d: Merge upstream dmd ff57fec515, druntime ff57fec515, phobos 17bafda79.

2023-11-22 Thread Iain Buclaw
Excerpts from Rainer Orth's message of November 21, 2023 5:03 pm: > Rainer Orth writes: > >> either this patch or the previous one broke D bootstrap with GCC 9. On >> both i386-pc-solaris2.11 with gdc 9.4.0 and sparc-sun-solaris2.11 with >> gdc 9.3.0, stage 1 d21 fails to link with >> >> Undefin

[committed] d: Merge upstream dmd, druntime 4574d1728d, phobos d7e79f024.

2023-09-23 Thread Iain Buclaw
Hi, This patch merges the D front-end and run-time library with upstream dmd 4574d1728d, and standard library with phobos d7e79f024. Updating the latest changes from the v2.105.0 release. D front-end changes: - Import dmd v2.105.0. - Catch clause must take only `const' or mutabl

Re: [PATCH 1/1] gcc/d: add LoongArch64 support for D frontend

2023-09-24 Thread Iain Buclaw
Excerpts from liushuyu's message of September 24, 2023 1:21 am: > > gcc/ChangeLog: > > * config.gcc: add loongarch-d.o to d_target_objs for LoongArch > architecture. > > gcc/config/ChangeLog: > > * loongarch/loongarch-d.cc > (loongarch_d_target_versions): add interface f

Re: [PATCH 02/52] d: Replace use of LONG_DOUBLE_TYPE_SIZE

2024-06-03 Thread Iain Buclaw
Excerpts from Kewen Lin's message of Juni 3, 2024 5:00 am: > Joseph pointed out "floating types should have their mode, > not a poorly defined precision value" in the discussion[1], > as he and Richi suggested, the existing macros > {FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE will be replaced with a > hook mo

Re: [PATCH 02/52] d: Replace use of LONG_DOUBLE_TYPE_SIZE

2024-06-03 Thread Iain Buclaw
Excerpts from Kewen.Lin's message of Juni 3, 2024 10:57 am: > Hi Iain, > > on 2024/6/3 16:40, Iain Buclaw wrote: >> Excerpts from Kewen Lin's message of Juni 3, 2024 5:00 am: >>> Joseph pointed out "floating types should have their mode, >>> not a p

Re: [PATCH 02/52 v2] d: Replace use of LONG_DOUBLE_TYPE_SIZE

2024-06-04 Thread Iain Buclaw
Excerpts from Kewen.Lin's message of Juni 4, 2024 5:17 am: > Hi Iain, > > on 2024/6/3 22:39, Iain Buclaw wrote: >> Excerpts from Kewen.Lin's message of Juni 3, 2024 10:57 am: >>> Hi Iain, >>> >>> on 2024/6/3 16:40, Iain Buclaw wrote: >>&g

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

2024-04-19 Thread Iain Buclaw
Hi, This regression 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 type after the local closure/frame type has been completed. Bootstrapped and regression tested on x86_64-linux-gnu

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

2012-10-04 Thread Iain Buclaw
https://github.com/D-Programming-GDC/GDC Would it be possible to have a re-newed review? I'm still keen on pushing this, however I'm not certain of the right plan of execution. :-) Thanks, -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; ChangeLog.gz Description: GNU Zip compressed data

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

2012-10-04 Thread Iain Buclaw
On 4 October 2012 16:51, Mike Stump wrote: > On Oct 4, 2012, at 6:06 AM, Iain Buclaw wrote: >> I would like to get a bump on this. >> >> It's been a while, and there have been quite a number of changes since >> the initial post that address many of the issues r

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

2012-10-05 Thread Iain Buclaw
On 5 October 2012 01:06, Joseph S. Myers wrote: > On Thu, 4 Oct 2012, Iain Buclaw wrote: > >> The only patches to gcc proper are documentation-related and adding >> the D frontend / libphobos to configure and make files. I would have >> thought that these would typical

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

2012-10-14 Thread Iain Buclaw
On 5 October 2012 11:35, Richard Guenther wrote: > On Fri, Oct 5, 2012 at 12:07 PM, Iain Buclaw wrote: >> On 5 October 2012 01:06, Joseph S. Myers wrote: >>> On Thu, 4 Oct 2012, Iain Buclaw wrote: >>> >>>> The only patches to gcc proper are documentation

[PATCH, 69217]: [6 Regression] ICE at var-tracking.c:5038 Segmentation fault

2016-01-23 Thread Iain Buclaw
t types as CONSTRUCTOR expressions. Perhaps other front-ends could trigger this, but I would not know how to write an equivalent test for them. In any case, I hope this is an obvious patch. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69217 Regards, Iain. Author: Iain Buclaw Date: Sat Jan 23 13:

[PATCH] jit: Fix missing references to pthread in jit-playback.c

2016-01-23 Thread Iain Buclaw
side, or some reorder/removals were done in the gcc headers included by the JIT frontend, however this was needed in order to continue. Regards Iain. Author: Iain Buclaw Date: Sat Jan 23 18:59:44 2016 +0100 gcc/jit/ChangeLog: * jit-playback.c: Include pthread.h. diff --git a/gcc/ji

Re: [PATCH] jit: Fix missing references to pthread in jit-playback.c

2016-01-26 Thread Iain Buclaw
On 26 January 2016 at 01:33, David Malcolm wrote: > > On Sat, 2016-01-23 at 19:08 +0100, Iain Buclaw wrote: > > Hi, > > > > I noticed when building from 2016-01-17 snapshot that the JIT frontend > > failed to build. > > > > --- > > jit-playback.c

[PATCH 1/3] [D] libiberty: Correctly decode function pointer types.

2016-01-26 Thread Iain Buclaw
ibiberty/d-demangle.c index 3d7ccf6..9c4d459 100644 --- a/libiberty/d-demangle.c +++ b/libiberty/d-demangle.c @@ -1,5 +1,5 @@ /* Demangler for the D programming language - Copyright 2014, 2015 Free Software Foundation, Inc. + Copyright 2014, 2015, 2016 Free Software Foundation, Inc. Written by I

[PATCH 2/3] [D] libiberty: Fix demangling of D-style variadic functions

2016-01-26 Thread Iain Buclaw
This one fixes support for D-style variadic functions, specifically where non-variadic parameters can be omitted entirely. Iain --- libiberty/ 2016-01-26 Iain Buclaw * d-demangle.c (dlang_function_args): Append ',' for variadic functions only if parameters were seen before t

[PATCH 3/3] [D] libiberty: Handle the new extern(Objective-C) calling convention

2016-01-26 Thread Iain Buclaw
Finally, recognizing the extern(Objective-C) symbol 'Y'. Iain. --- libiberty/ 2016-01-26 Iain Buclaw * d-demangle.c (dlang_call_convention): Handle extern Objective-C function calling convention. (dlang_call_convention_p): Likewise. (dlang_type): Likewise. * testsuite/

Re: [PATCH 1/3] [D] libiberty: Correctly decode function pointer types.

2016-01-26 Thread Iain Buclaw
On 27 January 2016 at 01:49, Ian Lance Taylor wrote: > On Tue, Jan 26, 2016 at 4:30 PM, Iain Buclaw wrote: >> >> This patch series ultimately supports recent support for >> extern(Objective-C) functions. However this simple addition exposed >> two nasty bugs in the pr

Re: [PATCH] Use DW_LANG_D for D

2013-12-04 Thread Iain Buclaw
On 3 December 2013 19:42, Cary Coutant wrote: >> This patches gen_compile_unit_die to use the DW_LANG_D DWARF language >> code for D. Is in relation to some other D language fixes that are >> going to be submitted to gdb. > > Is this for a private front end? I'm not aware of any front ends that >

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

2015-08-04 Thread Iain Buclaw
thing to do is nothing, which is what I've settled for. Regards Iain. 2015-08-04 Iain Buclaw * d-demangle.c (dlang_parse_real): Remove call to strtod. (strtod): Remove declaration. * testsuite/d-demangle-expected: Update float and complex literal tests to check correct hexadecimal

Re: [PATCH] [dlang/phobos] S/390: Fix PR91628

2019-11-27 Thread Iain Buclaw
‐‐‐ Original Message ‐‐‐ On Wednesday, 27 November 2019 10:33, Robin Dapp wrote: > Hi, > > in order to not use a glibc-internal symbol anymore, this patch adds > separate .S files for s390x and s390 that allow to obtain the tls offset. > > I bootstrapped on s390x -m64 and -m31 and test on

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

2017-06-06 Thread Iain Buclaw
On 29 May 2017 at 22:57, Eric Botcazou wrote: >> The upstream DMD compiler that comprises all components of the >> standalone part is now implemented in D programming language itself. >> However here GDC is still using the C++ implementation, it is a future >> goal to switch to being a self-hosted

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

2017-06-06 Thread Iain Buclaw
On 31 May 2017 at 11:11, Matthias Klose wrote: > On 30.05.2017 16:32, Mike Stump wrote: >> On May 28, 2017, at 2:16 PM, Iain Buclaw wrote: >>> >>> This patch adds D language support to the GCC test suite. >> >> Ok. If you could ensure that gcc without D

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

2017-06-06 Thread Iain Buclaw
On 31 May 2017 at 01:32, Mike Stump wrote: > On May 28, 2017, at 2:16 PM, Iain Buclaw wrote: >> >> This patch adds D language support to the GCC test suite. > > Ok. If you could ensure that gcc without D retains all it's goodness and > that gcc with D works on 2

Re: MinGW compilation warnings in libiberty's waitpid.c

2017-06-06 Thread Iain Buclaw
On 30 May 2017 at 19:10, Joel Brobecker wrote: >> This has been on my todo-list for a little while, as re-syncing is >> something I normally do after pushing D language support updates into >> libiberty. However I decided to give it a wait until I got all >> pending patches in, the last of which

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

2017-06-12 Thread Iain Buclaw
On 12 June 2017 at 20:34, Richard Sandiford wrote: > [Disclaimer: I can't approve any of this :-)] > > Iain Buclaw writes: >> 001 - The front-end (DMD) language implementation and license. >> 002 - The front-end (GDC) implementation. >> 003 - The front-end (

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

2017-06-12 Thread Iain Buclaw
On 13 June 2017 at 01:22, Mike Stump wrote: > On Jun 12, 2017, at 11:34 AM, Richard Sandiford > wrote: >> >> I'm not sure who this is a question to really, but how much value is >> there in reviewing the other patches? > >> Maybe people who know the >> frontend interface well could comment on th

Re: [PATCH 2/13] D: The front-end (GDC) implementation.

2017-06-13 Thread Iain Buclaw
On 13 June 2017 at 19:29, Joseph Myers wrote: > As I read it, the front end has functions with names such as error, but no > useful i18n will actually occur because the functions in d-diagnostic.cc > format the messages with xvasprintf before passing to the common > diagnostic code. > That could

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

2017-06-13 Thread Iain Buclaw
On 13 June 2017 at 19:38, Joseph Myers wrote: > Presumably all of these GCC-specific files should have the GCC Runtime > Library Exception notice. > OK, noted. I will update them.

Re: [PATCH 13/13] D: Phobos config, makefiles, and testsuite.

2017-06-13 Thread Iain Buclaw
copyright notices throughout the contributed GCC-specific files, not > "Copyright (C) 2012 Iain Buclaw"). > I'll have a look, though it sounds like very old files from before I got the assignment papers sorted out that missed being updated when I sifted through them. Regards, Iain.

Re: [PATCH 2/13] D: The front-end (GDC) implementation.

2017-06-14 Thread Iain Buclaw
On 14 June 2017 at 00:41, Iain Buclaw wrote: > On 13 June 2017 at 19:29, Joseph Myers wrote: >> You have two new target macros TARGET_CPU_D_BUILTINS and >> TARGET_OS_D_BUILTINS. You're missing any documentation for them in >> tm.texi.in. And we prefer target hooks to

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

2017-06-24 Thread Iain Buclaw
On 28 May 2017 at 23:11, Iain Buclaw wrote: > This patch just includes all changelogs for the D front-end (GDC), > going back to the dawn of time itself. > > Change logs for the DMD front-end and libraries are kept on the dlang site. > Updated changelogs following updates

[PATCH v2 4/13] D: The front-end (GDC) config, makefile, and manpages.

2017-06-24 Thread Iain Buclaw
On 28 May 2017 at 23:12, Iain Buclaw wrote: > This patch adds the D frontend language configure make files, as > described on the anatomy of a language front-end. > Only change since previous is adding D_TARGET_OBJS as per comments on use of targetdm. Regards, Iain. --- diff --git a/g

[PATCH v2 6/13] D: Add D language support to GCC proper.

2017-06-24 Thread Iain Buclaw
On 28 May 2017 at 23:15, Iain Buclaw wrote: > This patch adds D language support to GCC itself. > Updates from the previous are: - Applied patch on rs6000/rs6000.c also to powerpcspe/powerpcspe.c. - Added d/dfrontend sources picked up by exgettext to list of EXCLUDES. --- --- gcc/Cha

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

2017-06-24 Thread Iain Buclaw
On 28 May 2017 at 23:15, Iain Buclaw wrote: > 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. Ver

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

2017-06-24 Thread Iain Buclaw
On 28 May 2017 at 23:16, Iain Buclaw wrote: > 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. > > --- Added a few extra comme

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

2017-06-24 Thread Iain Buclaw
On 28 May 2017 at 23:17, Iain Buclaw wrote: > 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

[PATCH] Add self as maintainer of D front-end and libphobos

2017-06-24 Thread Iain Buclaw
Hi, As per message on the D language being accepted, this adds myself as a maintainer of the D front-end and libphobos runtime library. David, should this wait until the rest has been approved? Thanks, Iain. --- ChangeLog: 2017-06-24 Iain Buclaw * MAINTAINERS: Add myself D front-end and

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

2017-11-21 Thread Iain Buclaw
On 13 November 2017 at 00:20, Andrei Alexandrescu wrote: > On 11/06/2017 01:46 PM, Iain Buclaw wrote: >> >> On 25 October 2017 at 03:06, Jeff Law wrote: >>> >>> On 10/18/2017 01:33 AM, Iain Buclaw wrote: >>>> >>>> On 6 October 2017 at

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

2018-06-09 Thread Iain Buclaw
On 15 March 2018 at 20:05, Iain Buclaw wrote: > On 17 February 2018 at 16:08, Iain Buclaw wrote: >> On 25 October 2017 at 03:06, Jeff Law wrote: >>> On 10/18/2017 01:33 AM, Iain Buclaw wrote: >>>> On 6 October 2017 at 14:51, Ian Lance Taylor wrote: >>>

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

2018-02-17 Thread Iain Buclaw
On 25 October 2017 at 03:06, Jeff Law wrote: > On 10/18/2017 01:33 AM, Iain Buclaw wrote: >> On 6 October 2017 at 14:51, Ian Lance Taylor wrote: >>> On Fri, Oct 6, 2017 at 1:34 AM, Iain Buclaw wrote: >>>> >>>> Out of curiosity, I did have a look at s

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

2018-03-15 Thread Iain Buclaw
On 17 February 2018 at 16:08, Iain Buclaw wrote: > On 25 October 2017 at 03:06, Jeff Law wrote: >> On 10/18/2017 01:33 AM, Iain Buclaw wrote: >>> On 6 October 2017 at 14:51, Ian Lance Taylor wrote: >>>> On Fri, Oct 6, 2017 at 1:34 AM, Iain Buclaw wrote: >>&g

[PATCH 01/14] Add D front-end (DMD) language implementation and license.

2018-09-17 Thread Iain Buclaw
This patch adds the DMD front-end proper and license (Boost) files, comprised of a lexer, parser, and semantic analyzer. ftp://ftp.gdcproject.org/patches/v4/01-v4-d-frontend-dmd.patch --- gcc/d/dmd/access.c | 670 +++ gcc/d/dmd/aggregate.h| 335 ++ gcc/d/dmd/aliasthis.c

[PATCH 03/14] Add D frontend (GDC) changelogs.

2018-09-17 Thread Iain Buclaw
This patch just includes all changelogs for the D front-end (GDC), going back to the dawn of time itself. --- gcc/d/ChangeLog | 332 ++ gcc/d/ChangeLog-2006 | 954 +++ gcc/d/ChangeLog-2007 | 1340 ++ gcc/d/ChangeLog-2008 |

[PATCH 02/14] Add D frontend (GDC) implementation.

2018-09-17 Thread Iain Buclaw
This patch adds the D front-end implementation, the only part of the compiler that interacts with GCC directly, and being the parts that I maintain, is something that I can talk about more directly. For the actual code generation pass, that converts the front-end AST to GCC trees, most parts use a

[PATCH 04/14] Add D front-end (GDC) config, Makefile, and manpages.

2018-09-17 Thread Iain Buclaw
er Text is: + + You have freedom to copy and modify this GNU Manual, like GNU + software. Copies published by the Free Software Foundation raise + funds for GNU development. +@c man end +@end copying + +@ifinfo +@format +@dircategory Software development +@direntry +* gdc: (gdc).

[PATCH 05/14] Add GCC configuration file changes and documentation.

2018-09-17 Thread Iain Buclaw
This patch adds the D language front-end to GCC documentation and configuration files, as described on the anatomy of a language front-end. --- ChangeLog: * Makefile.def (target_modules): Add libphobos. (flags_to_pass): Add GDC_FOR_TARGET. (dependencies): Add dependency from configure-target-

[PATCH 06/14] Add patches for D language support in GCC proper.

2018-09-17 Thread Iain Buclaw
This patch adds D language support to GCC itself. --- 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 language type. *

[PATCH 07/14] Add patches for D language support in GCC targets.

2018-09-17 Thread Iain Buclaw
This patch add D language support to targets of GCC itself. These are mostly 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 targe

[PATCH 08/14] Add D2 Testsuite files.

2018-09-17 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. ftp://ftp.gdcproject.org/patches/v4/08-v4-d-testsuite.

  1   2   3   4   5   6   7   8   9   10   >