[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
This patch adds the D frontend language configure make files, as described on the anatomy of a language front-end. --- gcc/d/Make-lang.in | 335 +++ gcc/d/config-lang.in | 33 ++ gcc/d/gdc.texi | 749 +++ 3 files changed, 1117 inse

[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.

[PATCH 10/14] Add GDC Testsuite files.

2018-09-17 Thread Iain Buclaw
This patch adds a further number of tests, but were added as part of fixing gdc-specific bugs. --- gcc/testsuite/gdc.dg/asan/asan.exp| 32 + gcc/testsuite/gdc.dg/asan/gdc272.d| 16 + gcc/testsuite/gdc.dg/compilable.d | 463 + gcc/testsuite/gdc.dg/dg.ex

[PATCH 09/14] Add D2 Testsuite Dejagnu files.

2018-09-17 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. --- gcc/testsuite/gdc.test/d_do_test.exp | 404 +++ gcc/testsuite/lib/gdc-dg.exp

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

2018-09-17 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 12/14] Add GDC/GCC builtins and runtime support (part of D runtime)

2018-09-17 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.attribute exposes GDC-specific attributes. - module gcc.backtrace implement

[PATCH 13/14] Add D Phobos standard library and license.

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

[PATCH 14/14] Add D Phobos config, makefiles, and testsuite.

2018-09-17 Thread Iain Buclaw
This patch adds the configure and make files used for building D runtime and Phobos. As well as running all unittests and the testsuite. ftp://ftp.gdcproject.org/patches/v4/14-v4-d-phobos-misc.patch --- libphobos/Makefile.am |69 + libphobos/Makefile.in

Re: [PATCH, ARM] PR85434: Prevent spilling of stack protector guard's address on ARM

2018-09-17 Thread Jeff Law
On 8/29/18 3:51 AM, Thomas Preudhomme wrote: > Resend hopefully without HTML this time. > > On Wed, 29 Aug 2018 at 10:49, Thomas Preudhomme > wrote: >> Hi, >> >> I've reworked the patch fixing PR85434 (spilling of stack protector guard's >> address on ARM) to address the testsuite regression on

Re: [PATCH] S/390: Fix conditional returns

2018-09-17 Thread Jeff Law
On 9/5/18 2:34 AM, Ilya Leoshkevich wrote: > S/390 epilogue ends with (parallel [(return) (use %r14)]) instead of > the more usual (return) or (simple_return). This sequence is not > recognized by the conditional return logic in try_optimize_cfg (). > > gcc/ChangeLog: > > 2018-08-28 Ilya Leoshk

Re: [PATCH] avoid warning on constant strncpy until next statement is reachable (PR 87028)

2018-09-17 Thread Jeff Law
On 8/28/18 6:12 PM, Martin Sebor wrote: >>> Sadly, dstbase is the PARM_DECL for d.  That's where things are going >>> "wrong".  Not sure why you're getting the PARM_DECL in that case.  I'd >>> debug get_addr_base_and_unit_offset to understand what's going on. >>> Essentially you're getting differen

Re: [PATCH] look harder for MEM_REF operand equality to avoid -Wstringop-truncation (PR 84561)

2018-09-17 Thread Martin Sebor
On 09/17/2018 05:13 PM, Jeff Law wrote: On 9/17/18 3:15 PM, Martin Sebor wrote: On 09/17/2018 11:35 AM, Richard Biener wrote: On September 17, 2018 7:24:16 PM GMT+02:00, Jeff Law wrote: On 9/15/18 2:14 AM, Bernd Edlinger wrote: On 9/14/18, Martin Sebor wrote: As I said above, this happens d

Committed, MMIX: don't expand __builtin_ffs to ffs

2018-09-17 Thread Hans-Peter Nilsson
I tried to update newlib (from an old copy from couple of years ago), but got curious regressions localized to tests related to ffs handling: --- regress.prev2018-09-13 18:49:04.130070398 +0200 +++ regress 2018-09-13 22:59:25.551637529 +0200 @@ -0,0 +1,5 @@ +gcc.sum gcc.c-torture/execu

Re: C++ PATCH to implement P1064R0, Virtual Function Calls in Constant Expressions

2018-09-17 Thread Jason Merrill
On Mon, Sep 17, 2018 at 5:39 PM, Marek Polacek wrote: > On Fri, Sep 14, 2018 at 04:45:22PM -0400, Marek Polacek wrote: >> On Fri, Sep 14, 2018 at 04:30:46PM -0400, Jason Merrill wrote: >> > On Fri, Sep 14, 2018 at 1:19 PM, Marek Polacek wrote: >> > > This patch implements another bit of C++20, vi

[PR87054] fix unaligned access

2018-09-17 Thread Alexandre Oliva
Richard, this is the patch you proposed in the PR a while ago, along with the testcase I'd posted. Please let me know if the commit-message paragraph below sounds good to you, and then I'll proceed to install it, or amend as requested. (do we really want the MEM_REF to carry stricter alignment th

[PR87013] check for .loc is_stmt support in the assembler

2018-09-17 Thread Alexandre Oliva
Back when we had the logic to output is_stmt but never exercised it, it didn't matter that we didn't test for assembler support for it. But there are still assemblers out there that do not support it, so now that we enable the formerly latent is_stmt logic, we'd better make sure the assembler can d

Re: [PATCH] Cleanup strcpy/stpcpy no nul warning code

2018-09-17 Thread Jeff Law
On 9/17/18 1:18 PM, Bernd Edlinger wrote: > On 09/17/18 20:32, Jeff Law wrote: >> On 9/17/18 12:20 PM, Bernd Edlinger wrote: >>> On 09/17/18 19:33, Jeff Law wrote: On 9/16/18 1:58 PM, Bernd Edlinger wrote: > Hi, > > this is a cleanup of the recently added strlen/strcpy/stpcpy >

Re: [PR87013] check for .loc is_stmt support in the assembler

2018-09-17 Thread Richard Biener
On September 18, 2018 5:53:54 AM GMT+02:00, Alexandre Oliva wrote: >Back when we had the logic to output is_stmt but never exercised it, >it didn't matter that we didn't test for assembler support for it. >But there are still assemblers out there that do not support it, so >now that we enable the

Re: [PR87054] fix unaligned access

2018-09-17 Thread Richard Biener
On September 18, 2018 5:47:34 AM GMT+02:00, Alexandre Oliva wrote: >Richard, this is the patch you proposed in the PR a while ago, along >with the testcase I'd posted. Please let me know if the commit-message >paragraph below sounds good to you, and then I'll proceed to install >it, >or amend as

Re: Transform assertion into optimization hints

2018-09-17 Thread François Dumont
On 09/17/2018 11:15 PM, Marc Glisse wrote: On Mon, 17 Sep 2018, François Dumont wrote: We talk about it a while back. I've run testsuite several times since I have this patch on my local copy. Note that when I implemented it the wrong way tests started to fail so it is clearly having an effe

Re: Transform assertion into optimization hints

2018-09-17 Thread Marc Glisse
On Tue, 18 Sep 2018, François Dumont wrote: If your concern is rather that the condition got evaluated which will eventually slow down execution then I need to check generated code. Any good link explaining how to have a clear view on the generated code ? This. For a file like #include vo

<    1   2