[PATCH, PR d/88431] Fix link build errors when compiling with unsupported options

2019-04-23 Thread Iain Buclaw
Hi, It was found that the first compilation test to get baseline warnings was getting more messages due to a missing object.d file, compared to later configure tests where libphobos is in the include paths. Because there must always be an object module during compilation, let the tests themselves

Re: [PATCH, netbsd] Define TARGET_D_CRITSEC_SIZE for D language

2019-04-23 Thread Iain Buclaw
On Wed, 24 Apr 2019 at 01:56, Kamil Rytarowski wrote: > > On 24.04.2019 01:13, Iain Buclaw wrote: > > Hi, > > > > This patch adds missing implementation of TARGET_D_CRITSEC_SIZE, which > > would be noticed when using any bare synchronized statements. > > > > I couldn't see any target-specific alte

Re: [PATCH, netbsd] Define TARGET_D_CRITSEC_SIZE for D language

2019-04-23 Thread Kamil Rytarowski
On 24.04.2019 01:13, Iain Buclaw wrote: > Hi, > > This patch adds missing implementation of TARGET_D_CRITSEC_SIZE, which > would be noticed when using any bare synchronized statements. > > I couldn't see any target-specific alternatives of pthread_mutex_t in > netbsd headers, so the condition sho

[PATCH] Add brief explanation of the unwind library

2019-04-23 Thread Jonathan Wakely
This is only a very slight improvement, but adding the link at least tells people where to find more info. OK for trunk? commit def4749f46383ee16eacedcc2e7d42cc1ce71788 Author: Jonathan Wakely Date: Wed Apr 24 00:38:18 2019 +0100 Add brief explanation of the unwind library diff --git a/g

[PATCH, dragonfly] Add D language support for DragonFlyBSD x86

2019-04-23 Thread Iain Buclaw
Hi, This patch adds necessary DragonFlyBSD support code, which allows libphobos to compile cleanly. OK for trunk? -- Iain --- gcc/ChangeLog: 2019-04-24 Iain Buclaw * config.gcc (*-*-dragonfly*): Add dragonfly-d.o * config/dragonfly-d.c: New file. * config/t-dragonfl

[PATCH, PR d/87818] Add D language support for FreeBSD x86

2019-04-23 Thread Iain Buclaw
Hi, This patch adds necessary FreeBSD support code, which allows libphobos to compile cleanly. OK for trunk? -- Iain --- gcc/ChangeLog: 2019-04-24 Iain Buclaw PR d/87818 * config.gcc (*-*-freebsd*): Add freebsd-d.o * config/freebsd-d.c: New file. * config/t-

Re: [PATCH] Fix std::variant regression caused by never-valueless optimization

2019-04-23 Thread Jonathan Wakely
On 23/04/19 10:56 +0100, Jonathan Wakely wrote: +} catch (__gnu_cxx::forced_error) { This triggers a warning if compiled with -Wcatch-value. Fixed by this patch, committed to trunk. commit 72ffe1dada2f747fec7b9949835c0dcbe86d892f Author: Jonathan Wakely Date: Wed Apr 24 00:15:56 2019 +

[PATCH, netbsd] Define TARGET_D_CRITSEC_SIZE for D language

2019-04-23 Thread Iain Buclaw
Hi, This patch adds missing implementation of TARGET_D_CRITSEC_SIZE, which would be noticed when using any bare synchronized statements. I couldn't see any target-specific alternatives of pthread_mutex_t in netbsd headers, so the condition should be right. OK for trunk? -- Iain --- gcc/ChangeL

[PATCH] Remove disabling of D front-end as an unsupported language

2019-04-23 Thread Iain Buclaw
Hi, The bootstrap for darwin was fixed a couple months back, so there is no need to disable it any more. OK for trunk? -- Iain --- ChangeLog: 2019-04-24 Iain Buclaw * configure.ac: Remove target addition of d to unsupported languages. * configure: Regenerate. --- diff --gi

[PATCH] Implement LWG 2904 for std::variant assignment

2019-04-23 Thread Jonathan Wakely
* include/std/variant (__variant_construct): Use template parameter type instead of equivalent decltype-specifier. (_Move_ctor_base::_Move_ctor_base(_Move_ctor_base&&)): Replace forward with move. (_Move_ctor_base::_M_destructive_move) (_Move_ctor_ba

[PATCH, libphobos] Committed added AArch64 Linux as a supported target.

2019-04-23 Thread Iain Buclaw
Hi, This patch adds arch64*-*-linux* as a supported libphobos target, something that has been passing the testsuite for a while now. Committed to trunk as r270524. -- Iain --- libphobos/ChangeLog: 2019-04-24 Iain Buclaw * configure.tgt: Add aarch64*-*-linux* as a supported target.

Re: [PATCH] Document PSTL linker flags

2019-04-23 Thread Thomas Rodgers
Jonathan Wakely writes: > On 23/04/19 09:54 -0700, Thomas Rodgers wrote: >> >> * doc/xml/manual/using.xml: Add PSTL linker flags to table 3.1. > > OK - thanks. Committed to trunk

Re: Adding noexcept-specification on tuple constructors (LWG 2899)

2019-04-23 Thread Jonathan Wakely
On 23/04/19 18:43 +0100, Nina Dinka Ranns wrote: On Thu, 18 Apr 2019 at 21:35, Jonathan Wakely wrote: On 16/04/19 17:59 +0100, Nina Dinka Ranns wrote: >On Tue, 16 Apr 2019 at 15:18, Jonathan Wakely wrote: >> >> On 16/04/19 14:08 +0100, Nina Dinka Ranns wrote: >> >Tested on Linux-PPC64 >> >Add

[PATCH, d] Committed support for compiling without libphobos library.

2019-04-23 Thread Iain Buclaw
Hi, This patch backports support from the dmd front-end the options to omit generating code that depends on libdruntime existing, and enables the controlling of them by adding the options -fdruntime, and -frtti. The other two options -fexceptions and -fmoduleinfo have also been adapted accordingly

Re: [PATCH] Document PSTL linker flags

2019-04-23 Thread Jonathan Wakely
On 23/04/19 09:54 -0700, Thomas Rodgers wrote: * doc/xml/manual/using.xml: Add PSTL linker flags to table 3.1. OK - thanks.

Re: Adding noexcept-specification on tuple constructors (LWG 2899)

2019-04-23 Thread Nina Dinka Ranns
On Thu, 18 Apr 2019 at 21:35, Jonathan Wakely wrote: > > On 16/04/19 17:59 +0100, Nina Dinka Ranns wrote: > >On Tue, 16 Apr 2019 at 15:18, Jonathan Wakely wrote: > >> > >> On 16/04/19 14:08 +0100, Nina Dinka Ranns wrote: > >> >Tested on Linux-PPC64 > >> >Adding noexcept-specification on tuple con

[PATCH] Document PSTL linker flags

2019-04-23 Thread Thomas Rodgers
* doc/xml/manual/using.xml: Add PSTL linker flags to table 3.1. >From eabe72642bf51b813f454c54ae3cc4e873cf34be Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Tue, 23 Apr 2019 09:50:13 -0700 Subject: [PATCH] Document PSTL linker flags * doc/xml/manual/using.xml: Add PSTL linker f

Re: [Patch] [Aarch64] PR rtl-optimization/87763 - this patch fixes gcc.target/aarch64/lsl_asr_sbfiz.c

2019-04-23 Thread Jeff Law
On 4/16/19 10:29 AM, Steve Ellcey wrote: > Re-ping. I know there are discussions about bigger changes to fix the > various failures listed in PR rtl-optimization/87763 but this patch > at least fixes one of them (gcc.target/aarch64/lsl_asr_sbfiz.c). So I think we can address this by making the ext

RE: [PATCH, GCC, AARCH64] Add GNU note section with BTI and PAC.

2019-04-23 Thread Sudakshina Das
Hi James -Original Message- From: James Greenhalgh Sent: 18 April 2019 09:56 To: Sudakshina Das Cc: Richard Henderson ; H.J. Lu ; Richard Henderson ; gcc-patches@gcc.gnu.org; nd ; Richard Earnshaw ; Marcus Shawcroft ; ni...@redhat.com Subject: Re: [PATCH, GCC, AARCH64] Add GNU note

Re: [4/4][PATCH] Discussing PR83507

2019-04-23 Thread Segher Boessenkool
Hi Roman, On Mon, Apr 22, 2019 at 07:36:40PM +0300, Roman Zhuykov wrote: > > > In pr84524.c we got a loop with an extended inline asm: > > > asm volatile ("" : "+r" (v)) > > > which also gives us a “surprising” situation Alexander predicts. > > > > > > For sched-deps scanner such volatile asm is a

Re: [Patch] [Aarch64] PR rtl-optimization/87763 - this patch fixes gcc.target/aarch64/lsl_asr_sbfiz.c

2019-04-23 Thread Jeff Law
On 4/16/19 10:29 AM, Steve Ellcey wrote: > Re-ping. I know there are discussions about bigger changes to fix the > various failures listed in PR rtl-optimization/87763 but this patch > at least fixes one of them (gcc.target/aarch64/lsl_asr_sbfiz.c). So we actually call simplify_set with: (set (re

[PATCH, PR d/90079] Committed fix SEGV in _aaKeys, _aaValues on 32-bit SPARC

2019-04-23 Thread Iain Buclaw
Hi, This patch merges the libdruntime sub-library with upstream druntime b43203a1, fixing PR d/90079. Bootstrapped and regression tested on x86_64-linux-gnu and committed to trunk as r270514. -- Iain --- diff --git a/libphobos/libdruntime/MERGE b/libphobos/libdruntime/MERGE index 8a3790142cf..2

[C++ Patch] PR 90173 ("[9 Regression] ICE: Segmentation fault (in strip_declarator_types)")

2019-04-23 Thread Paolo Carlini
Hi, I tried a few different things to avoid this simple error-recovery regression but, all in all, I think it makes sense to simply bail out early from grokdeclarator upon the first error. Tested x86_64-linux. Thanks, Paolo. /// /cp 2019-04-23 Paolo Carlini PR c+

Re: [Patch] [Aarch64] PR rtl-optimization/87763 - this patch fixes gcc.target/aarch64/lsl_asr_sbfiz.c

2019-04-23 Thread Jeff Law
On 4/16/19 10:29 AM, Steve Ellcey wrote: > Re-ping. I know there are discussions about bigger changes to fix the > various failures listed in PR rtl-optimization/87763 but this patch > at least fixes one of them (gcc.target/aarch64/lsl_asr_sbfiz.c). So one thing to ponder here is whether or not co

[committed] Mark cr16 as keeping null pointer checks in target-supports.exp

2019-04-23 Thread Jeff Law
My tester showed a spurious regression with a recent patch on cr16. In reviewing the logs I saw unexpected results for the proposed changes to isolate-2.c and isolate-4.c. The cr16 turns off NULL pointer check elimination, but isn't listed as doing so in target-supports.exp. As a result we run

[RFA][tree-optimization/90037] Cleanup const/copies between DOM and erroneous path isolation

2019-04-23 Thread Jeff Law
As discussed in the BZ, this patch addresses the false positive warning by cleaning up the const/copy propagations left in the IL between DOM's jump threading and erroneous path isolation. In the past we'd been handling this stuff with phi only cprop. To make phi only cprop work in this case we'

[PATCH] Implement correct std::variant triviality rules from P0602R4

2019-04-23 Thread Jonathan Wakely
The std::variant move assignment operator should not be trivial if the variant is not trivially move constructible. * include/std/variant (__detail::__variant::_Traits): Make _S_trivial_copy_assign depend on _S_trivial_copy_ctor and make _S_trivial_move_assign depend on _S

[PATCH] PR libstdc++/90165 constrain variant(T&&) constructor

2019-04-23 Thread Jonathan Wakely
Also refactor some constraints slightly to be more readable. PR libstdc++/90165 * include/std/variant (variant::__not_self): New helper for the is_same_v, variant>==false constraints. (variant::__to_type_impl): Remove. (variant::__to_type): Add default argu

[PATCH] Corrections for C++2a std::unwrap_reference traits

2019-04-23 Thread Jonathan Wakely
The P0318R1 paper added to the C++2a draft recently was not the latest version of the paper, and should have included these changes. These changes will be made to the working draft via a Defect Report, so I'm applying them to libstdc++ now. * include/std/type_traits (unwrap_reference_t):

Re: [PATCH] Fix ARM exception handling (PR target/89093)

2019-04-23 Thread Jakub Jelinek
On Tue, Apr 23, 2019 at 09:17:50AM +0100, Ramana Radhakrishnan wrote: > > Ok for trunk? > > Ok. Thanks a lot for working on this and fixing the rest of this up. > I've been busy with a few other things. Thanks. Based on this and Iain and Jonathan's acks, I've committed the patch except for the

Re: [PATCH][stage1] Enhance target and target_clone error messages.

2019-04-23 Thread Martin Liška
On 4/19/19 2:28 AM, Martin Sebor wrote: > On 4/18/19 5:09 AM, Martin Liška wrote: >> Hi. >> >> The patch distinguishes among target and target_clone attribute when >> reporting for an error. I've also reworded the affected error messages >> a bit. >> >> Patch can bootstrap on x86_64-linux-gnu and s

[PATCH] Fix std::variant regression caused by never-valueless optimization

2019-04-23 Thread Jonathan Wakely
A regression was introduced by the recent changes to provide the strong exception safety guarantee for "never valueless" types that have O(1), non-throwing move assignment. The problematic code is: else if constexpr (__detail::__variant::_Never_valueless_alt()) { // This construction mig

[PATCH] Make some std::variant helper functions noexcept

2019-04-23 Thread Jonathan Wakely
It's a day with a Y in the name, so time for more std::variant fixes. * include/std/variant (__detail::__variant::__ref_cast): Remove unused function. (__detail::__variant::_Uninitialized::_M_get) (__detail::__variant::__get) (__gen_vtable_impl::__element_b

Re: [PATCH] Fix ARM exception handling (PR target/89093)

2019-04-23 Thread Jonathan Wakely
On 22/04/19 11:14 +0200, Jakub Jelinek wrote: Hi! As detailed in the PR, unlike most other targets, on ARM EABI the floating point registers are saved lazily, when EH personality routine calls __gnu_unwind_frame (usually in the CONTINUE_UNWINDING macro). That means the unwinder itself and the pe

Re: [PATCH v2] Add error message for target_clones and AVX512 ISAs (PR target/89929).

2019-04-23 Thread Martin Liška
On 4/18/19 7:44 PM, H.J. Lu wrote: > On Thu, Apr 18, 2019 at 4:07 AM Martin Liška wrote: >> >> Hi. >> >> I'm sending updated version of that patch. The patch rejects usage of AVX512 >> ISAs (except AVX512F) >> for target attribute for C++ multiversioning and for target_clone attribute. >> >> Patc

[PATCH v2] go: disable mvsx and maltivec for aix/ppc

2019-04-23 Thread CHIGOT, CLEMENT
Description:    * This patch removes -mvsx and -maltivec for go aix/ppc.       These options don't seem compatible with Go stack layout.  Tests:    * AIX 7.2:  Configure/Build: SUCCESS Changelog:   * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Remove OPTION_MASK_VSX       and OPTION_MASK_

Add commentary to (SET_)TYPE_VECTOR_SUBPARTS

2019-04-23 Thread Richard Sandiford
This patch explains the encoding used for the precision field in TYPE_VECTOR_SUBPARTS when NUM_POLY_INT_COEFFS == 2. OK to install? Richard 2019-04-19 Richard Sandiford gcc/ * tree.h (TYPE_VECTOR_SUBPARTS, SET_TYPE_VECTOR_SUBPARTS): Add commentary about the encoding of preci

Re: [PATCH] Fix ARM exception handling (PR target/89093)

2019-04-23 Thread Ramana Radhakrishnan
On Mon, Apr 22, 2019 at 10:15 AM Jakub Jelinek wrote: > > Hi! > > As detailed in the PR, unlike most other targets, on ARM EABI the floating > point registers are saved lazily, when EH personality routine calls > __gnu_unwind_frame (usually in the CONTINUE_UNWINDING macro). > That means the unwind