Re: C++ PATCH for c++/91346 - Implement C++2a P1668R1, allow unevaluated asm in constexpr

2019-08-06 Thread Jason Merrill
Let's downgrade the errors in earlier standard modes to pedwarn. Ok with that change. On Tue, Aug 6, 2019, 10:28 AM Marek Polacek wrote: > This patch implements another C++2a feature, P1668R1: Permit unevaluated > inline > asm in constexpr functions. > > It's really straightforward so not much

C++ PATCH for c++/81429 - wrong parsing of constructor with C++11 attribute

2019-08-06 Thread Marek Polacek
In this PR, we are wrongly parsing a constructor if its first parameter begins with a C++11 attribute, e.g.: struct S { S([[maybe_unused]] int a) { } }; If the GNU attribute format is used instead, there's no problem. C++11-style attribute on a later parameter is fine also. The problem

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-08-06 Thread Hongtao Liu
On Tue, Aug 6, 2019 at 11:02 PM Uros Bizjak wrote: > > On Tue, Aug 6, 2019 at 1:16 PM Rainer Orth > wrote: > > > > Hi Hongtao, > > > > > On Thu, Jun 27, 2019 at 5:38 PM Rainer Orth > > > wrote: > > >> > > >> Hi Hongtao, > > >> > > >> > On Thu, Jun 27, 2019 at 5:02 PM Rainer Orth > > >> >

Re: [PATCH] RISC-V: Handle g extension in multilib-generator

2019-08-06 Thread Kito Cheng
Committed as r274156 On Wed, Aug 7, 2019 at 3:37 AM Jim Wilson wrote: > > On Mon, Aug 5, 2019 at 11:56 PM Kito Cheng wrote: > > gcc/ChangeLog > > * gcc/config/riscv/multilib-generator: (canonical_order): Add 'g'. > > (arch_canonicalize): Support rv32g and rv64g and fix error > >

Re: [PATCH] Adding _Dependent_ptr type qualifier in C part 1/3

2019-08-06 Thread Martin Sebor
On 8/6/19 12:26 PM, Akshat Garg wrote: Many thanks for your feedback on the proposal and the patch. As you said, the feature should be available only for -std=c2x. I will look into this how can it be done. As you also said, we need some more extensive test coverage. Here is one example I tried

Re: [EXT] Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-08-06 Thread Steve Ellcey
On Tue, 2019-08-06 at 16:47 -0400, Marek Polacek wrote: > On Tue, Aug 06, 2019 at 08:30:14PM +, Steve Ellcey wrote: > > On Tue, 2019-08-06 at 21:04 +0100, Jonathan Wakely wrote: > > > > > > The RAJAPerf code appears to be built with -std=gnu++11 which > > > means > > > Ed's patch should make

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Richard Earnshaw (lists)
On 06/08/2019 18:30, Eric Botcazou wrote: >> Why is it incorrect? It's not canonical, sure. But the cannonical form >> does NOT describe what the instruction does. > > Yes, you run into this when you try to be clever with the carry. For the > Visium port I kludged around it by using: > >

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Richard Earnshaw (lists)
On 06/08/2019 18:39, Uros Bizjak wrote: > Hello! > >> On Tue, Aug 06, 2019 at 05:49:17PM +0100, Richard Earnshaw (lists) wrote: >>> On 06/08/2019 17:39, Segher Boessenkool wrote: >> What's wrong with describing the canonical form in your MD? You'll need >> some reversed condition code

Re: [EXT] Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-08-06 Thread Marek Polacek
On Tue, Aug 06, 2019 at 08:30:14PM +, Steve Ellcey wrote: > On Tue, 2019-08-06 at 21:04 +0100, Jonathan Wakely wrote: > > > > The RAJAPerf code appears to be built with -std=gnu++11 which means > > Ed's patch should make almost no difference at all. 99% of the patch > > has no effect unless

Re: [PATCH 2/9] ifcvt: Use enum instead of transform_name string.

2019-08-06 Thread Richard Sandiford
Robin Dapp writes: > This patch introduces an enum for ifcvt's various noce transformations. > As the transformation might be queried by the backend, I find it nicer > to allow checking for a proper type instead of a string comparison. TBH I think the names of internal ifcvt routines are too

Re: [PATCH 8/9] ifcvt: Handle swap-style idioms differently.

2019-08-06 Thread Richard Sandiford
Robin Dapp writes: > A swap-style idiom like > tmp = a >a = b >b = tmp > would be transformed like > tmp_tmp = cond ? a : tmp > tmp_a = cond ? b : a > tmp_b = cond ? tmp_tmp : b > [...] > including rewiring the first source operand to previous writes (e.g. tmp -> > tmp_tmp). > >

Re: [EXT] Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-08-06 Thread Steve Ellcey
On Tue, 2019-08-06 at 21:04 +0100, Jonathan Wakely wrote: > > The RAJAPerf code appears to be built with -std=gnu++11 which means > Ed's patch should make almost no difference at all. 99% of the patch > has no effect unless compiling with -std=gnu++2a. > > I don't see any ICE running the

Re: [PATCH 5/9] ifcvt: Allow constants operands in noce_convert_multiple_sets.

2019-08-06 Thread Richard Sandiford
Robin Dapp writes: > This patch checks allows immediate then/else operands for cmovs. > We rely on,emit_conditional_move returning NULL if something unsupported > was generated. It seems like this is making noce_convert_multiple_sets overlap a lot with cond_move_process_if_block (although that

Re: [PATCH 4/9] ifcvt: Estimate original costs before convert_multiple.

2019-08-06 Thread Richard Sandiford
Robin Dapp writes: > This patch extends bb_ok_for_noce_convert_multiple_sets by a temporary > cost estimation that can be used by noce_convert_multiple_sets. I agree it looks like an omission that we didn't do this. The patch looks OK to me (maybe independently of the rest?) bar minor things:

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-08-06 Thread Jonathan Wakely
On 06/08/19 15:30 +, Steve Ellcey wrote: Ed, I have run into an ICE that I tracked down to this patch: commit 02fefffe6b78c4c39169206aa40fb53f367ecba8 Author: emsr Date: Thu Aug 1 15:25:42 2019 + 2019-08-01 Edward Smith-Rowland <3dw...@verizon.net> Implement C++20

Re: [PATCH 3/9] ifcvt: Only created temporaries as needed.

2019-08-06 Thread Richard Sandiford
Robin Dapp writes: > noce_convert_multiple_sets creates temporaries for the destination of > every emitted cmov and expects subsequent passes to get rid of them. This > does not happen every time and even if the temporaries are removed, code > generation can be affected adversely. In this

Re: C++ PATCH for c++/91264 - detect modifying const objects in constexpr

2019-08-06 Thread Marek Polacek
On Tue, Aug 06, 2019 at 09:38:35PM +0200, Paolo Carlini wrote: > Hi, > > On 31/07/19 21:26, Marek Polacek wrote: > > +static void > > +modifying_const_object_error (tree expr, tree obj) > > +{ > > + location_t loc = cp_expr_loc_or_loc (expr, input_location); > > Nit: now we have

Re: C++ PATCH for c++/91264 - detect modifying const objects in constexpr

2019-08-06 Thread Paolo Carlini
Hi, On 31/07/19 21:26, Marek Polacek wrote: +static void +modifying_const_object_error (tree expr, tree obj) +{ + location_t loc = cp_expr_loc_or_loc (expr, input_location); Nit: now we have cp_expr_loc_input_loc Paolo.

Re: [PATCH] RISC-V: Handle g extension in multilib-generator

2019-08-06 Thread Jim Wilson
On Mon, Aug 5, 2019 at 11:56 PM Kito Cheng wrote: > gcc/ChangeLog > * gcc/config/riscv/multilib-generator: (canonical_order): Add 'g'. > (arch_canonicalize): Support rv32g and rv64g and fix error > handling. Looks good to me. Jim

Re: [PATCH] PR fortran/42546 -- ALLOCATED has 2 mutually exclusive keywords

2019-08-06 Thread Steve Kargl
It looks like a backwards compatibility issue. F95, 13.14.9 ALLOCATED (ARRAY). F2003, 13.7.9 ALLOCATED (ARRAY) or ALLOCATED (SCALAR) Thanks for the quick peek. -- steve On Tue, Aug 06, 2019 at 08:20:28PM +0100, Paul Richard Thomas wrote: > > Who thought of that one in the standard? Uuugh! >

Re: [PATCH] PR fortran/42546 -- ALLOCATED has 2 mutually exclusive keywords

2019-08-06 Thread Paul Richard Thomas
Hi Steve, Who thought of that one in the standard? Uuugh! The solution looks good to commit - again as far back as you feel inclined to do. Regards Paul On Tue, 6 Aug 2019 at 19:27, Steve Kargl wrote: > > Ping. > > On Thu, Aug 01, 2019 at 02:11:39PM -0700, Steve Kargl wrote: > > The attached

Re: C++ PATCH for c++/91264 - detect modifying const objects in constexpr

2019-08-06 Thread Marek Polacek
On Mon, Aug 05, 2019 at 03:54:19PM -0400, Jason Merrill wrote: > On 7/31/19 3:26 PM, Marek Polacek wrote: > > One of the features of constexpr is that it doesn't allow UB; and such UB > > must > > be detected at compile-time. So running your code in a context that > > requires > > a constant

Re: [PATCH] PR fortran/91359 -- A function should return something

2019-08-06 Thread Paul Richard Thomas
Hi Steve, That certainly does the trick! OK to commit as far back as you have the intestinal fortitude for. Thanks Paul On Tue, 6 Aug 2019 at 19:24, Steve Kargl wrote: > > The spaghetti code in PR fortran/91359 has a few gotos > to jump to different places. In doing so, gfortran > with

Re: [PATCH] PR fortran/42546 -- ALLOCATED has 2 mutually exclusive keywords

2019-08-06 Thread Steve Kargl
Ping. On Thu, Aug 01, 2019 at 02:11:39PM -0700, Steve Kargl wrote: > The attached patch fixed the issues raised in the > PR fortran/42546. Namely, ALLOCATED has two possible > keywords: ALLOCATE(ARRAY=...) or ALLOCATED(SCALAR=...) > > In Tobias' original patch (attached to the PR), he > tried

Re: [PATCH] Adding _Dependent_ptr type qualifier in C part 1/3

2019-08-06 Thread Akshat Garg
Many thanks for your feedback on the proposal and the patch. As you said, the feature should be available only for -std=c2x. I will look into this how can it be done. As you also said, we need some more extensive test coverage. Here is one example I tried to make for invalid use of _Dependent_ptr.

[PATCH] PR fortran/91359 -- A function should return something

2019-08-06 Thread Steve Kargl
The spaghetti code in PR fortran/91359 has a few gotos to jump to different places. In doing so, gfortran with generate a function that has a naked 'return'. Namely, foo () { logical(kind=4) __result_foo; goto __label_02; __label_01:; return; /* <-- THIS IS BAD. */

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Uros Bizjak
Hello! > On Tue, Aug 06, 2019 at 05:49:17PM +0100, Richard Earnshaw (lists) wrote: >> On 06/08/2019 17:39, Segher Boessenkool wrote: >> >>>What's wrong with describing the canonical form in your MD? You'll need >> >>>some reversed condition code thingy, but that's it? >> >> >> >>It doesn't

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Eric Botcazou
> Why is it incorrect? It's not canonical, sure. But the cannonical form > does NOT describe what the instruction does. Yes, you run into this when you try to be clever with the carry. For the Visium port I kludged around it by using: [(set (reg:CCC R_FLAGS) (compare:CCC (not:I

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Segher Boessenkool
On Tue, Aug 06, 2019 at 05:49:17PM +0100, Richard Earnshaw (lists) wrote: > On 06/08/2019 17:39, Segher Boessenkool wrote: > >>>What's wrong with describing the canonical form in your MD? You'll need > >>>some reversed condition code thingy, but that's it? > >> > >>It doesn't describe what the

Re: [PATCH] Detect not-cloned new/delete operators in DCE.

2019-08-06 Thread Martin Jambor
Hi, unfortunately I cannot look into the problem now and I don't have my phone set up to review patches in a sane way, but to answer your question below... On Tue, Aug 06 2019, Martin Liška wrote: > On 8/6/19 2:42 PM, Martin Liška wrote: ... >> Hm, strange that the ISRA clones don't have

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Richard Earnshaw (lists)
On 06/08/2019 17:39, Segher Boessenkool wrote: On Tue, Aug 06, 2019 at 05:22:48PM +0100, Richard Earnshaw (lists) wrote: On 06/08/2019 17:17, Segher Boessenkool wrote: Hi Richard, On Tue, Aug 06, 2019 at 04:35:04PM +0100, Richard Earnshaw (lists) wrote: Arm has an instruction that performs

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Segher Boessenkool
On Tue, Aug 06, 2019 at 05:22:48PM +0100, Richard Earnshaw (lists) wrote: > On 06/08/2019 17:17, Segher Boessenkool wrote: > >Hi Richard, > > > >On Tue, Aug 06, 2019 at 04:35:04PM +0100, Richard Earnshaw (lists) wrote: > >>Arm has an instruction that performs the following operation: > >> >

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Richard Earnshaw (lists)
On 06/08/2019 17:22, Richard Earnshaw (lists) wrote: On 06/08/2019 17:17, Segher Boessenkool wrote: Hi Richard, On Tue, Aug 06, 2019 at 04:35:04PM +0100, Richard Earnshaw (lists) wrote: Arm has an instruction that performs the following operation: (parallel [ (set (reg:CC 100 cc)    

Re: Patch ping: C++17 experimental status

2019-08-06 Thread Marek Polacek
On Tue, Aug 06, 2019 at 12:18:35PM -0400, Jason Merrill wrote: > Yes, please. Awesome. Applied to CVS. > On Tue, Aug 6, 2019 at 12:03 PM Marek Polacek wrote: > > > > Can Jon's patch go in now? > > https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00987.html Marek

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Richard Earnshaw (lists)
On 06/08/2019 17:17, Segher Boessenkool wrote: Hi Richard, On Tue, Aug 06, 2019 at 04:35:04PM +0100, Richard Earnshaw (lists) wrote: Arm has an instruction that performs the following operation: (parallel [ (set (reg:CC 100 cc) (compare:CC (const_int 0 [0])

Re: Patch ping: C++17 experimental status

2019-08-06 Thread Jason Merrill
Yes, please. On Tue, Aug 6, 2019 at 12:03 PM Marek Polacek wrote: > > Can Jon's patch go in now? > https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00987.html > > Marek

Re: [PATCH] Fix file descriptor existence of MinGW.

2019-08-06 Thread Martin Sebor
On 8/6/19 9:55 AM, Martin Liška wrote: On 8/6/19 5:35 PM, Martin Sebor wrote: On 8/6/19 6:04 AM, Martin Liška wrote: Hi. The patch is about proper checking of file descriptors on Windows. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Is there a way to share the

Re: Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Segher Boessenkool
Hi Richard, On Tue, Aug 06, 2019 at 04:35:04PM +0100, Richard Earnshaw (lists) wrote: > Arm has an instruction that performs the following operation: > > (parallel [ > (set (reg:CC 100 cc) > (compare:CC (const_int 0 [0]) > (reg:SI 121))) > (set (reg:SI

Re: [PATCH][c++] Do not warn about unused macros while processing #pragma GCC optimize

2019-08-06 Thread Martin Sebor
On 8/5/19 7:53 PM, Piotr H. Dabrowski wrote: Fixes c++/91318. libcpp/ChangeLog: 2019-08-06 Piotr Henryk Dabrowski PR c++/91318 * include/cpplib.h: Added cpp_define_unused(), cpp_define_formatted_unused() * directives.c: Likewise. gcc/c-family/ChangeLog:

Patch ping: C++17 experimental status

2019-08-06 Thread Marek Polacek
Can Jon's patch go in now? https://gcc.gnu.org/ml/gcc-patches/2019-07/msg00987.html Marek

[PATCH] P1651R0 bind_front should not unwrap reference_wrapper

2019-08-06 Thread Jonathan Wakely
P1651R0 bind_front should not unwrap reference_wrapper * include/std/functional (bind_front): Don't unwrap reference_wrapper. * include/std/version (__cpp_lib_bind_front): Update value. * testsuite/20_util/function_objects/bind_front/1.cc: Fix test for

Re: [PATCH] Implement "P0631R4 Math Constants" for C++20

2019-08-06 Thread Jonathan Wakely
On 31/07/19 17:57 -0500, Segher Boessenkool wrote: On Wed, Jul 31, 2019 at 08:43:50PM +0200, Marc Glisse wrote: On Wed, 31 Jul 2019, Jonathan Wakely wrote: >So something like the attached patch. The glibc says the >values I used have enough digits for IEEE quad-precision: > >/* The above

Re: [PATCH] Fix file descriptor existence of MinGW.

2019-08-06 Thread Martin Liška
On 8/6/19 5:35 PM, Martin Sebor wrote: > On 8/6/19 6:04 AM, Martin Liška wrote: >> Hi. >> >> The patch is about proper checking of file descriptors on Windows. >> >> Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Is there a way to share the definition of the new

Re: [PATCH] Detect not-cloned new/delete operators in DCE.

2019-08-06 Thread Marc Glisse
On Tue, 6 Aug 2019, Martin Liška wrote: Anyway, I'm sending patch that considers only such new/delete operators that are not a clone of an original type. That should make the current DCE code more solid. DECL_IS_REPLACEABLE_OPERATOR_NEW_P seems to have been replaced with

[PATCH 6/9] Integrate that for IPA ICF.

2019-08-06 Thread Martin Liska
gcc/ChangeLog: 2019-07-24 Martin Liska * ipa-icf-gimple.c (func_checker::hash_operand_valueize): New function created from compare_operand. (func_checker::compare_cst_or_decl): Remove handling of FIELD_DECLs as it's handled in operand_equal_p.

[PATCH 1/9] Replace int with boolean in predicate functions.

2019-08-06 Thread Martin Liska
gcc/ChangeLog: 2019-07-24 Martin Liska * fold-const.c (twoval_comparison_p): Replace int with bool as a return type. (simple_operand_p): Likewise. (operand_equal_p): Replace int with bool as a return type. * fold-const.h (operand_equal_p): Likewise.

[PATCH 5/9] Come up with an abstraction.

2019-08-06 Thread Martin Liska
gcc/ChangeLog: 2019-07-24 Martin Liska * fold-const.c (operand_equal_p): Rename to ... (operand_compare::operand_equal_p): ... this. (add_expr): Rename to ... (operand_compare::hash_operand): ... this. (operand_compare::operand_equal_valueize):

[PATCH 9/9] Remove alias set comparison.

2019-08-06 Thread Martin Liska
gcc/ChangeLog: 2019-07-24 Martin Liska * ipa-icf-gimple.c (func_checker::compatible_types_p): Do not compare alias sets. It's handled by operand_equal_p. gcc/testsuite/ChangeLog: 2019-07-24 Martin Liska * c-c++-common/Wstringop-truncation-4.c: Disable IPA ICF.

[PATCH 7/9] IPA ICF: remove dead code

2019-08-06 Thread Martin Liska
gcc/ChangeLog: 2019-07-24 Martin Liska * ipa-icf-gimple.c (func_checker::compare_ssa_name): Call compare_operand. (func_checker::compare_memory_operand): Remove. (func_checker::compare_cst_or_decl): Remove. (func_checker::operand_equal_valueize): Do

[PATCH 8/9] Remove comparison for polymorphic types.

2019-08-06 Thread Martin Liska
gcc/ChangeLog: 2019-07-24 Martin Liska * ipa-icf-gimple.c (func_checker::func_checker): Do not initialize m_compare_polymorphic. (func_checker::compare_decl): Do not compare polymorphic types. * ipa-icf-gimple.h (m_compare_polymorphic): Remove. *

[PATCH 2/9] operand_equal_p: add support for FIELD_DECL

2019-08-06 Thread Martin Liska
gcc/ChangeLog: 2019-07-24 Martin Liska * fold-const.c (operand_equal_p): Support FIELD_DECL as well. * tree.c (add_expr): Hast DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET for FIELD_DECL. gcc/testsuite/ChangeLog: 2019-07-24 Martin Liska *

[PATCH 0/9] IPA ICF overhaul

2019-08-06 Thread Martin Liska
Hi. It's some time I implemented first version of IPA ICF pass. Since that I experienced more with the GCC internals and now is the right time to do an overhaul. Main motivation of changes is to share as many as possible in between current operand_equal_p and ipa_icf::compare_operand. That's

[PATCH 4/9] Strengthen alias_ptr_types_compatible_p in LTO mode.

2019-08-06 Thread Martin Liska
gcc/ChangeLog: 2019-07-24 Martin Liska * alias.c (alias_ptr_types_compatible_p): Strengten type comparison in LTO mode. --- gcc/alias.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/alias.c b/gcc/alias.c index 2755df72907..bae4ddaebaf 100644

[PATCH 3/9] operand_equal_p: add support for OBJ_TYPE_REF.

2019-08-06 Thread Martin Liska
gcc/ChangeLog: 2019-07-24 Martin Liska * fold-const.c (operand_equal_p): Support OBJ_TYPE_REF. * tree.c (add_expr): Hash parts of OBJ_TYPE_REF. --- gcc/fold-const.c | 21 + gcc/tree.c | 9 + 2 files changed, 30 insertions(+) diff --git

Re: [PATCH] Fix file descriptor existence of MinGW.

2019-08-06 Thread Martin Sebor
On 8/6/19 6:04 AM, Martin Liška wrote: Hi. The patch is about proper checking of file descriptors on Windows. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Is there a way to share the definition of the new function so it doesn't have to be duplicated? Other than

Canonicalization of compares performed as side-effect operations

2019-08-06 Thread Richard Earnshaw (lists)
Arm has an instruction that performs the following operation: (parallel [ (set (reg:CC 100 cc) (compare:CC (const_int 0 [0]) (reg:SI 121))) (set (reg:SI 113) (neg:SI (reg:SI 121))) ]) This is simply a reverse subtract from the constant

[PATCH] Detect not-cloned new/delete operators in DCE.

2019-08-06 Thread Martin Liška
On 8/6/19 2:42 PM, Martin Liška wrote: > On 8/5/19 3:46 PM, Marc Glisse wrote: >> On Mon, 5 Aug 2019, Martin Liška wrote: >> >>> You are right. It can really lead to confusion of the DCE. >>> >>> What we have is DECL_ABSTRACT_ORIGIN(decl) which we can use to indicate >>> operators >>> that were

Re: [PATCH 1/3] C++20 constexpr lib part 1/3

2019-08-06 Thread Steve Ellcey
Ed, I have run into an ICE that I tracked down to this patch: commit 02fefffe6b78c4c39169206aa40fb53f367ecba8 Author: emsr Date: Thu Aug 1 15:25:42 2019 + 2019-08-01 Edward Smith-Rowland <3dw...@verizon.net> Implement C++20 p0202 - Add Constexpr Modifiers to Functions

Re: [PATCH]: Fix PR c++/88095, class template argument deduction for literal operator templates per P0732 for C++2a

2019-08-06 Thread Jason Merrill
On Tue, Aug 6, 2019 at 11:10 AM Tom Honermann wrote: > On 8/5/19 3:05 PM, Jason Merrill wrote: > > On 8/2/19 9:59 AM, Tom Honermann wrote: > >> This patch fixes PR c++/88095: > >> - Bug 88095 - class nontype template parameter UDL string literals > >> doesn't accepts deduction placeholder > >> -

Re: [PATCH]: Fix PR c++/88095, class template argument deduction for literal operator templates per P0732 for C++2a

2019-08-06 Thread Tom Honermann
On 8/5/19 3:05 PM, Jason Merrill wrote: On 8/2/19 9:59 AM, Tom Honermann wrote: This patch fixes PR c++/88095: - Bug 88095 - class nontype template parameter UDL string literals doesn't accepts deduction placeholder - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88095. It also addresses a

Re: [PATCH V5, rs6000] Support vrotr3 for int vector types

2019-08-06 Thread Segher Boessenkool
On Tue, Aug 06, 2019 at 10:19:34AM +0800, Kewen.Lin wrote: > on 2019/8/6 上午5:21, Segher Boessenkool wrote: > > The other case is if not all shift counts are the same. I'm not sure > > we actually care much about this case :-) > > Got it, I think even for the "other" case, the neg operation

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-08-06 Thread Uros Bizjak
On Tue, Aug 6, 2019 at 1:16 PM Rainer Orth wrote: > > Hi Hongtao, > > > On Thu, Jun 27, 2019 at 5:38 PM Rainer Orth > > wrote: > >> > >> Hi Hongtao, > >> > >> > On Thu, Jun 27, 2019 at 5:02 PM Rainer Orth > >> > wrote: > >> >> > >> >> Hi Hongtao, > >> >> > >> >> >> as usual, the new

Re: [PATCH] PR fortran/88227 -- Revenge of the BOZ

2019-08-06 Thread Steve Kargl
On Tue, Aug 06, 2019 at 04:27:46PM +0200, Bernhard Reutner-Fischer wrote: > Hi Steve, > > I know you already committed this but please let me add a remark or two. > > On Sun, 28 Jul 2019 16:41:02 -0700 > Steve Kargl wrote: > > > + > > + bufp = buf = XCNEWVEC (char, j + 1); > > + memset

Patch ping (Re: Fix up -fexcess-precision handling in LTO (was Re: [GCC][middle-end] Add rules to strip away unneeded type casts in expressions (2nd patch)))

2019-08-06 Thread Jakub Jelinek
Hi! I'd like to ping the https://gcc.gnu.org/ml/gcc-patches/2019-07/msg01750.html patch. Thanks. On Tue, Jul 30, 2019 at 09:09:11AM +0200, Jakub Jelinek wrote: > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > > 2019-07-30 Jakub Jelinek > > PR middle-end/91283

Re: Protect tree_to_shwi call in unmodified_param_1

2019-08-06 Thread Richard Sandiford
Richard Biener writes: > On Mon, Aug 5, 2019 at 10:58 AM Richard Sandiford > wrote: >> >> unmodified_param_1 used tree_to_shwi without first checking >> tree_fits_shwi_p. This is needed by the SVE ACLE support and >> is hard to test independently. >> >> Tested on aarch64-linux-gnu, armeb-eabi

C++ PATCH for c++/91346 - Implement C++2a P1668R1, allow unevaluated asm in constexpr

2019-08-06 Thread Marek Polacek
This patch implements another C++2a feature, P1668R1: Permit unevaluated inline asm in constexpr functions. It's really straightforward so not much to say; we need to allow ASM_EXPRs in potential_constant_expression_1, but since only unevaluated asm is allowed, cxx_eval_constant_expression must

Re: [PATCH] PR fortran/88227 -- Revenge of the BOZ

2019-08-06 Thread Bernhard Reutner-Fischer
Hi Steve, I know you already committed this but please let me add a remark or two. On Sun, 28 Jul 2019 16:41:02 -0700 Steve Kargl wrote: > Index: gcc/fortran/check.c > === > --- gcc/fortran/check.c (revision 273766) > +++

Re: [ARM/FDPIC v5 03/21] [ARM] FDPIC: Force FDPIC related options unless -mno-fdpic is provided

2019-08-06 Thread Richard Sandiford
Christophe Lyon writes: > On Tue, 16 Jul 2019 at 12:34, Richard Sandiford > wrote: >> >> Christophe Lyon writes: >> > On 22/05/2019 10:45, Christophe Lyon wrote: >> >> On Wed, 22 May 2019 at 10:39, Szabolcs Nagy wrote: >> >>> >> >>> On 21/05/2019 16:28, Christophe Lyon wrote: >> ---

[C++ PATCH] PR c++/91378 - ICE with noexcept and auto return type.

2019-08-06 Thread Jason Merrill
Here, since the call to g is not type-dependent, we call mark_used on it to determine its return type. This also wants to instantiate the noexcept-expression. But since nothing in maybe_instantiate_noexcept was calling push_to_top_level, we substituted b.i with processing_template_decl set, so

Re: Don't use integer "FMA" for shifts

2019-08-06 Thread Richard Sandiford
"Richard Earnshaw (lists)" writes: > On 30/07/2019 11:50, Richard Sandiford wrote: >> Richard Biener writes: >>> On Tue, Jul 30, 2019 at 12:04 PM Richard Sandiford >>> wrote: tree-ssa-math-opts supports FMA optabs for integers as well as floating-point types, even though there's

Re: [PATCH] Handle new operators with no arguments in DCE.

2019-08-06 Thread Martin Liška
On 8/5/19 3:46 PM, Marc Glisse wrote: > On Mon, 5 Aug 2019, Martin Liška wrote: > >> You are right. It can really lead to confusion of the DCE. >> >> What we have is DECL_ABSTRACT_ORIGIN(decl) which we can use to indicate >> operators >> that were somehow modified by an IPA optimization. > >

[C++ Patch] Improve start_function and grokmethod locations

2019-08-06 Thread Paolo Carlini
Hi, apparently this is now easy to do, likely because a while ago I made sure that we consistently have meaningful locations for TYPE_DECLs too. (I went through grokdeclarator and confirmed that when the third argument is FUNCDEF or MEMFUNCDEF it cannot return NULL_TREE) Tested

[PATCH] Fix file descriptor existence of MinGW.

2019-08-06 Thread Martin Liška
Hi. The patch is about proper checking of file descriptors on Windows. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. @Pekka: Can you please test it on Windows? Ready to be installed? Thanks, Martin gcc/ChangeLog: 2019-08-06 Martin Liska PR bootstrap/91352

Re: [PATCH] Enable GCC support for AVX512_VP2INTERSECT.

2019-08-06 Thread Rainer Orth
Hi Hongtao, > On Thu, Jun 27, 2019 at 5:38 PM Rainer Orth > wrote: >> >> Hi Hongtao, >> >> > On Thu, Jun 27, 2019 at 5:02 PM Rainer Orth >> > wrote: >> >> >> >> Hi Hongtao, >> >> >> >> >> as usual, the new effective-target keyword needs documenting in >> >> >> sourcebuild.texi. >> >> > Like

Re: [patch][aarch64]: add intrinsics for vld1(q)_x4 and vst1(q)_x4

2019-08-06 Thread Richard Earnshaw (lists)
On 18/07/2019 18:18, James Greenhalgh wrote: On Mon, Jun 10, 2019 at 06:21:05PM +0100, Sylvia Taylor wrote: Greetings, This patch adds the intrinsic functions for: - vld1__x4 - vst1__x4 - vld1q__x4 - vst1q__x4 Bootstrapped and tested on aarch64-none-linux-gnu. Ok for trunk? If yes, I don't

Re: [Contrib PATCH] Add scripts to convert GCC repo from SVN to Git

2019-08-06 Thread Maxim Kuvyrkov
> On Aug 5, 2019, at 11:24 AM, Maxim Kuvyrkov wrote: > > >> On Aug 2, 2019, at 11:41 AM, Maxim Kuvyrkov >> wrote: >> >>> On Aug 1, 2019, at 11:43 PM, Jason Merrill wrote: >>> > ... Unfortunately, current mirror does not and could not account for rewrites of SVN commit log

[Patch, DWARF] Ignore address spaces for get_nearest_type_subqualifiers

2019-08-06 Thread SenthilKumar.Selvaraj
Hi, r254484 explicitly added previously ignored address space qualifiers, when emitting DWARF dies for types. Adding address spaces to cv_qual_mask, however, breaks nearest_type_subqualifier, which uses the number of bits set (i.e popcount_hwi) to find the type variant that has

[committed] Handle C++ random access iterators in loop construct, other C++ loop construct fixes

2019-08-06 Thread Jakub Jelinek
Hi! The following patch fixes handling of C++ class random access iterators and fixes also other issues found during that with OMP_LOOP C++ genericization and gimplification. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. 2019-08-06 Jakub Jelinek * tree.h

Re: [PATCH] Add operator new/delete to cgraph_node::dump.

2019-08-06 Thread Jan Hubicka
> Hi. > > The patch is about new/delete operator flags that I would > like to see in cgraph::dump. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? OK, Honza > Thanks, > Martin > > gcc/ChangeLog: > > 2019-08-05 Martin Liska > > *

[PATCH] Add operator new/delete to cgraph_node::dump.

2019-08-06 Thread Martin Liška
Hi. The patch is about new/delete operator flags that I would like to see in cgraph::dump. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: 2019-08-05 Martin Liska * cgraph.c (cgraph_node::dump): Dump

[PATCH] RISC-V: Handle g extension in multilib-generator

2019-08-06 Thread Kito Cheng
gcc/ChangeLog * gcc/config/riscv/multilib-generator: (canonical_order): Add 'g'. (arch_canonicalize): Support rv32g and rv64g and fix error handling. --- gcc/config/riscv/multilib-generator | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git