[PATCH] c++: Don't allow designated initializers with non-aggregates [PR95369]

2020-06-09 Thread Marek Polacek via Gcc-patches
Another part of 95369 is that we accept designated initializers with non-aggregate types. That seems to be wrong since they're part of aggregate initialization. clang/icc also reject it. (Un)fortunately there are multiple contexts where we can use designated initializers: function-like casts, me

[PATCH] c++: constrained class template friend [PR93467]

2020-06-09 Thread Patrick Palka via Gcc-patches
This fixes two issues in our handling of constrained class template friend declarations. The first issue is that we fail to set the constraints on the injected class template declaration during tsubst_friend_class. The second issue is that the template parameter levels within the parsed constrain

Chemical industries list

2020-06-09 Thread Brittnay Wall
Hi, Hope you are safe and doing great. Would you be interested in acquiring the records of Chemical industries list to promote your product and service? *Key contacts*: Ceo, Engineers, Chemists, Health and Safety Specialists, Soil and Plant Scientists and more. If you are interested ple

Re: BRIG FE testsuite: Fix all dump-scans (Was: Re: drop -aux{dir,base}, revamp -dump{dir,base})

2020-06-09 Thread Mike Stump via Gcc-patches
I think I'd prefer the fix on the other side, if reasonable. I'd give them some time to see about a fix there before selecting this patch. On Jun 9, 2020, at 5:42 AM, Martin Jambor wrote: > On Tue, Jun 09 2020, Thomas Schwinge wrote: >> On 2020-05-26T04:08:44-0300, Alexandre Oliva wrote: >>> T

Re: [PATCH] libsanitizer: use gnu++14

2020-06-09 Thread Martin Liška
On 6/9/20 6:32 PM, Richard Biener wrote: On Tue, Jun 9, 2020 at 10:09 AM Martin Liška wrote: On 6/8/20 4:53 PM, Martin Liška wrote: Hi. Thank you for the report. It's caused by fact that LLVM switch in 4d474e078ac7 to c++14. So that I suggest to use gnu++14. Patch can bootstrap on x86_64-li

Re: [PATCH v3] tsan: Add optional support for distinguishing volatiles

2020-06-09 Thread Martin Liška
On 6/9/20 3:47 PM, Marco Elver wrote: I think one of you has to commit the patch, as we don't have access to the GCC git repository. I've just done that. I also fixed few wrong formatting issues, next time please use ./contrib/check_GNU_style.py. You'll be preparing one another patch, please

Re: [Patch] Inline optimization for tanh(x)/sinh(x) -> 1.0/cosh(x)

2020-06-09 Thread Jeff Law via Gcc-patches
On Thu, 2020-06-04 at 11:09 +0200, Christophe Lyon wrote: > Hi, > > On Thu, 4 Jun 2020 at 01:03, Jeff Law via Gcc-patches > wrote: > > On Fri, 2020-01-31 at 15:50 -0300, Vitor Guidi wrote: > > > I took the required steps. The patch is attached to this email, I hope > > > I got it right this time.

Re: [PATCH] sanitizer: do not inline no-sanitize into sanitizer fn

2020-06-09 Thread Rainer Orth
Jakub Jelinek via Gcc-patches writes: > On Tue, Jun 09, 2020 at 02:32:36PM +0200, Martin Liška wrote: >> >From 5fe0671ad79d14d1c9d0fead1a471875a4416fac Mon Sep 17 00:00:00 2001 >> From: Martin Liska >> Date: Tue, 9 Jun 2020 13:03:55 +0200 >> Subject: [PATCH] sanitizer: do not inline no-sanitize

Re: [PR51447] restore the global reg var before returning from main

2020-06-09 Thread Jeff Law via Gcc-patches
On Fri, 2020-06-05 at 09:57 -0300, Alexandre Oliva wrote: > The testcase for PR51447, on x86_64, uses rbx as a global register > variable for the global PTR variable. > > A runtime system might legitimately hold in rbx a value expected to be > preserved across the call to main, but its use as a gl

[committed] gcc-changelog: Use non-zero exit status on error

2020-06-09 Thread Jonathan Wakely via Gcc-patches
Also add comment explaining what the script does. contrib/ChangeLog: * gcc-changelog/git_email.py: Set exit status on error. Committed as obvious. commit 62963c60fc19d07615afe9d4f1b897b2f60801b2 Author: Jonathan Wakely Date: Tue Jun 9 20:39:39 2020 +0100 gcc-changelog: Use non-

Re: [PATCH] Enable CET in cross compiler if possible

2020-06-09 Thread Jeff Law via Gcc-patches
On Fri, 2020-06-05 at 08:18 -0700, H.J. Lu wrote: > On Tue, May 12, 2020 at 10:28 AM Jeff Law wrote: > > On Fri, 2020-05-08 at 06:11 -0700, H.J. Lu via Gcc-patches wrote: > > > Don't perform CET run-time check for host when cross compiling. Instead, > > > enable CET in cross compiler if possible

Re: [PATCH/RFC] How to fix PR95440

2020-06-09 Thread Jason Merrill via Gcc-patches
On Tue, Jun 9, 2020 at 5:04 AM Iain Sandoe wrote: > Hi C++ folks, > > There are a number of places in the coroutine codegen where we need to > build calls to promise methods. > > Such methods can, in several cases, also be constexpr or static (or both) > which leads to the PR, > > Now the mechani

Re: [committed] gcc-changelog: Use non-zero exit status on error

2020-06-09 Thread Jonathan Wakely via Gcc-patches
On 09/06/20 20:42 +0100, Jonathan Wakely wrote: Also add comment explaining what the script does. contrib/ChangeLog: * gcc-changelog/git_email.py: Set exit status on error. Committed as obvious. With that change to git_email.py I can use the following change to the contrib/prepare-c

Re: [PATCH] sanitizer: do not inline no-sanitize into sanitizer fn

2020-06-09 Thread Martin Liška
On 6/9/20 9:42 PM, Rainer Orth wrote: Excess errors: cc1: error: '-fsanitize=address' is incompatible with '-fsanitize=kernel-address' Sorry for that, I'm going to install the following patch. Martin >From 20e0cd44f9c3e9402a0cd26a0332556391902cb6 Mon Sep 17 00:00:00 2001 From: Martin Liska D

Re: zstd not found if installed in non-system prefix

2020-06-09 Thread Jeff Law via Gcc-patches
On Wed, 2020-05-20 at 21:32 +0200, Michael Kuhn wrote: > Hi, > > when specifying a non-system prefix with --with-zstd, the build fails > because the header and library cannot be found (see > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95005). > > The attached patch fixes the problem and is what

Re: libstdc++: Extend memcmp optimization in std::lexicographical_compare

2020-06-09 Thread François Dumont via Gcc-patches
On 08/06/20 8:20 pm, Jonathan Wakely wrote: On 05/06/20 22:24 +0200, François Dumont via Libstdc++ wrote: Hi     Here is the last of my algo patches this time to extend the memcmp optimization to std::deque iterators and _GLIBCXX_DEBUG mode.     To do so I had to return int in impleme

Re: [PATCH] recog: Use parameter packs for operator()

2020-06-09 Thread Jeff Law via Gcc-patches
On Tue, 2020-06-02 at 15:00 +0100, Richard Sandiford wrote: > This patch uses parameter packs to define insn_gen_fn::operator(). > I guess in some ways it's C++-ification for its own sake, but it does > make things simpler and removes the current artificial limit of 16 > arguments. > > Note that t

Re: [PATCH v1 1/2][PPC64] [PR88877]

2020-06-09 Thread Jeff Law via Gcc-patches
On Sun, 2020-05-24 at 11:22 -0500, Segher Boessenkool wrote: > Hi! > > On Sun, May 24, 2020 at 07:03:13PM +0530, Kamlesh Kumar wrote: > > In this patch series trying to address same by creating a struct Tuple > > which bundles existing rtx and machine_mode and added one more > > bool member which

Re: [IMPORTANT] ChangeLog related changes

2020-06-09 Thread Jonathan Wakely via Gcc-patches
On Tue, 2 Jun 2020 at 15:25, Martin Liška wrote: > > On 6/2/20 4:14 PM, Jonathan Wakely wrote: > > On Tue, 2 Jun 2020 at 14:56, Jonathan Wakely wrote: > >> > >> On Tue, 2 Jun 2020 at 14:16, Martin Liška wrote: > >>> > >>> On 6/2/20 1:48 PM, Martin Liška wrote: > I tend to this approach. Let

Re: libstdc++: Extend memcmp optimization in std::lexicographical_compare

2020-06-09 Thread François Dumont via Gcc-patches
On 09/06/20 12:24 pm, Jonathan Wakely wrote: On 08/06/20 19:20 +0100, Jonathan Wakely wrote: On 05/06/20 22:24 +0200, François Dumont via Libstdc++ wrote: Hi     Here is the last of my algo patches this time to extend the memcmp optimization to std::deque iterators and _GLIBCXX_DEBUG mode

Re: [PATCH 1/3] PowerPC future: Add byte swap insns

2020-06-09 Thread Segher Boessenkool
Hi! On Mon, Jun 01, 2020 at 04:01:51PM -0400, Michael Meissner wrote: > Add support for generating BRH/BRW/BRD when -mcpu=future is used. > * config/rs6000/rs6000.md (bswaphi2_reg): If -mcpu=future, > generate the BRH instruction. "Add alternative for brh."? If the changelog ruthles

Re: libstdc++: Extend memcmp optimization in std::lexicographical_compare

2020-06-09 Thread Jonathan Wakely via Gcc-patches
On 09/06/20 22:20 +0200, François Dumont via Libstdc++ wrote: On 08/06/20 8:20 pm, Jonathan Wakely wrote: On 05/06/20 22:24 +0200, François Dumont via Libstdc++ wrote: Hi     Here is the last of my algo patches this time to extend the memcmp optimization to std::deque iterators a

Re: [PATCH PR94442] [AArch64] Redundant ldp/stp instructions emitted at -O3

2020-06-09 Thread Jeff Law via Gcc-patches
On Thu, 2020-04-02 at 06:35 +, xiezhiheng wrote: > Hi, > I've created a bug for this issue: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94442 > > And I'm going to solve this problem by propagating def's insn to its use > when they are at the same loop in fwprop pass. > I mean somet

Re: libstdc++: Extend memcmp optimization in std::lexicographical_compare

2020-06-09 Thread François Dumont via Gcc-patches
On 09/06/20 6:11 pm, Jonathan Wakely wrote: On 09/06/20 00:02 +0100, Jonathan Wakely wrote: On 08/06/20 22:08 +0100, Jonathan Wakely wrote: On 08/06/20 19:20 +0100, Jonathan Wakely wrote: On 05/06/20 22:24 +0200, François Dumont via Libstdc++ wrote: Hi     Here is the last of my algo pat

Re: libstdc++: Extend memcmp optimization in std::lexicographical_compare

2020-06-09 Thread Jonathan Wakely via Gcc-patches
On 09/06/20 22:35 +0200, François Dumont via Libstdc++ wrote: On 09/06/20 12:24 pm, Jonathan Wakely wrote: On 08/06/20 19:20 +0100, Jonathan Wakely wrote: On 05/06/20 22:24 +0200, François Dumont via Libstdc++ wrote: Hi     Here is the last of my algo patches this time to extend

Re: libstdc++: Extend memcmp optimization in std::lexicographical_compare

2020-06-09 Thread Jonathan Wakely via Gcc-patches
On 09/06/20 22:42 +0200, François Dumont via Libstdc++ wrote: On 09/06/20 6:11 pm, Jonathan Wakely wrote: On 09/06/20 00:02 +0100, Jonathan Wakely wrote: On 08/06/20 22:08 +0100, Jonathan Wakely wrote: On 08/06/20 19:20 +0100, Jonathan Wakely wrote: On 05/06/20 22:24 +0200, François Dumon

Re: [patch] substitute_and_fold_engine merge with evrp domwalker

2020-06-09 Thread Jeff Law via Gcc-patches
On Mon, 2020-05-18 at 19:59 +0200, Aldy Hernandez wrote: > Howdy. > > The main evrp domwalker seems cut and pasted from the > substitute_and_fold_engine (or was it the other way around?). Albeit, > there are a few things that evrp does, like set up ranges, but these can > be set up with virtu

Re: [stage1][PATCH] Add gcc_assert that &global_options are not dirty modified.

2020-06-09 Thread Jeff Law via Gcc-patches
On Thu, 2020-05-21 at 14:04 +0200, Martin Liška wrote: > PING^1 > > On 3/20/20 4:55 PM, Martin Liška wrote: > > Ok, it would be possible, but if you take a look at options-save.c there's > > no > > function that will leverage that. It's a generated code so I guess we can > > live with that? Given

[committed] libstdc++: Define std::bad_optional_access constructor as defaulted

2020-06-09 Thread Jonathan Wakely via Gcc-patches
The standard requires that std::bad_optional_access' default constructor has a non-throwing exception specification. * include/std/optional (bad_optional_access): Define default constructor and destructor as defaulted. * testsuite/20_util/optional/bad_access.cc: New test.

Re: [PATCH] avoid false positives due to compute_objsize (PR 95353)

2020-06-09 Thread Jeff Law via Gcc-patches
On Tue, 2020-06-02 at 18:12 -0600, Martin Sebor wrote: > The compute_objsize() function started out as a thin wrapper around > compute_builtin_object_size(), but over time developed its own > features to compensate for the other function's limitations (such > as its inability to work with ranges).

Re: [PATCH] Treat { 0 } specially for structs with the designated_init attribute.

2020-06-09 Thread Asher Gordon via Gcc-patches
Martin Sebor writes: > On 6/8/20 7:07 PM, Asher Gordon wrote: >> >> OK, these will be easy to fix. Should my other patch¹ (which implements >> -Wuniversal-initializer) also have PR c/95379? > > I'm sure that would be fine but since it's a separate enhancement > it doesn't need to. It's up to you

Re: [PATCH 2/3] PowerPC future: Rename some p9 hardware functions.

2020-06-09 Thread Segher Boessenkool
Hi! On Mon, Jun 01, 2020 at 04:01:52PM -0400, Michael Meissner wrote: > This patch renames some functions that were added for power9 support that are > named '_p9' to be '_hw'. This is preparation for the next patch that wants to > extend these functions for -mcpu=power support. _hw means nothin

Re: [PATCH] Add -Wuniversal-initializer to not suppress warnings about { 0 }.

2020-06-09 Thread Asher Gordon via Gcc-patches
As Martin Sebor points out, the ChangeLog entries should not be included in the patch. So I have removed those. I also made some changes to this patch that were necessary because of changes to the other patch. See the patch below: From 676b6436835434f89c8511cd68e89947c32f11c6 Mon Sep 17 00:00:00 2

[PATCH][GCC][AArch64]: Replace sprintf call with snprintf in aarch64.md

2020-06-09 Thread Alex Butler
Replaced for consistency with the rest of the aarch64 backend. Testing done: Cross-compiled and regression tested on aarch64-none-elf, no issues. --- gcc/ChangeLog: 2020-04-08 Alex Butler * config/aarch64/aarch64.md (cb1): Replace sprintf with snprintf --- aarch64.md |2

[committed] libstdc++: Define converting assignment operator for std::move_iterator

2020-06-09 Thread Jonathan Wakely via Gcc-patches
As clarified by LWG 3265, std::move_iterator is supposed to have an assignment operator that converts from a different specialization of std::move_iterator, which performs an assignment. That has always been missing from libstdc++, so assigning a different type actually performs a converting constr

Re: [PATCH][GCC][AArch64]: Replace sprintf call with snprintf in aarch64.md

2020-06-09 Thread Andrew Pinski via Gcc-patches
On Tue, Jun 9, 2020 at 2:56 PM Alex Butler wrote: > > Replaced for consistency with the rest of the aarch64 backend. > > Testing done: > Cross-compiled and regression tested on aarch64-none-elf, no issues. If we 100% know the size of the buffer that passes to sprintf is reasonable for the format

Re: [PATCH 3/3] PowerPC future: Add IEEE 128-bit min, max, compare.

2020-06-09 Thread Segher Boessenkool
Hi! Everything Will said included by reference :-) On Mon, Jun 01, 2020 at 04:01:53PM -0400, Michael Meissner wrote: > Add support for the new IEEE 128-bit minimum, maximum, and set compare mask > instructions when -mcpu=future was used. You can say "ISA 3.1 instructions" now :-) That may read

Re: [PATCH V2] Practical Improvement to Double Precision Complex Divide

2020-06-09 Thread Patrick McGehearty via Gcc-patches
I see your point about other floating point formats. According to the C standard, DOUBLE precision must have a DBL_MAX of at least 1E+37. That is (slightly) greater than 0x1.0p+63. Would #define RMIN2 (0x1.0p-53) #define RMINSCAL (0x1.0p+51) be acceptable? Those will be in range for any architect

Re: [PATCH V2] Practical Improvement to Double Precision Complex Divide

2020-06-09 Thread Joseph Myers
On Wed, 10 Jun 2020, Patrick McGehearty wrote: > I see your point about other floating point formats. > According to the C standard, DOUBLE precision must > have a DBL_MAX of at least 1E+37. That is (slightly) > greater than 0x1.0p+63. > > Would > #define RMIN2 (0x1.0p-53) > #define RMINSCAL (0x1

[PATCH] c++: Fix ICE with delayed parsing of noexcept-specifier [PR95562]

2020-06-09 Thread Marek Polacek via Gcc-patches
Here we ICE because a DEFERRED_PARSE expression leaked to tsubst_copy. We create these expressions for deferred noexcept-specifiers in cp_parser_save_noexcept; they are supposed to be re-parsed in cp_parser_late_noexcept_specifier. In this case we never got around to re-parsing it because the noex

RE: [PATCH 5/6] rs6000, Add vector splat builtin support

2020-06-09 Thread Carl Love via Gcc-patches
Segher: So I have been looking at the predicate definitions that I had created. On Fri, 2020-06-05 at 16:28 -0500, Segher Boessenkool wrote: > > +;; Return 1 if op is a 32-bit constant signed integer > > +(define_predicate "s32bit_cint_operand" > > + (and (match_code "const_int") > > + (ma

RE: [PATCH PR95569] ICE in tmmark:verify_ssa failed

2020-06-09 Thread qianchao
Thanks for reviewing this. Could you please help install this patch? Thanks, Qian Chao. > -Original Message- > From: Richard Biener [mailto:richard.guent...@gmail.com] > Sent: Tuesday, June 9, 2020 8:56 PM > To: qianchao > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH PR95569] ICE in

Re: [PATCH] c++: Fix ICE with delayed parsing of noexcept-specifier [PR95562]

2020-06-09 Thread Jason Merrill via Gcc-patches
On 6/9/20 7:54 PM, Marek Polacek wrote: Here we ICE because a DEFERRED_PARSE expression leaked to tsubst_copy. We create these expressions for deferred noexcept-specifiers in cp_parser_save_noexcept; they are supposed to be re-parsed in cp_parser_late_noexcept_specifier. In this case we never go

Re: libstdc++: Extend memcmp optimization in std::lexicographical_compare

2020-06-09 Thread François Dumont via Gcc-patches
On 09/06/20 10:53 pm, Jonathan Wakely wrote: On 09/06/20 22:42 +0200, François Dumont via Libstdc++ wrote: On 09/06/20 6:11 pm, Jonathan Wakely wrote: On 09/06/20 00:02 +0100, Jonathan Wakely wrote: On 08/06/20 22:08 +0100, Jonathan Wakely wrote: On 08/06/20 19:20 +0100, Jonathan Wakely wrot

[PATCH 0/4] vect: Rename/refactor some codes related to fully masking

2020-06-09 Thread Kewen.Lin via Gcc-patches
Hi all, As Richard suggested in vector with length reviews here https://gcc.gnu.org/pipermail/gcc-patches/2020-June/547077.html, this series is responsible for some renaming and refactoring related to existing fully masking supports. Since we are going to introduce length-based partial vectorizat

[PATCH 1/4] vect: Rename can_fully_mask_p to can_use_partial_vectors_p

2020-06-09 Thread Kewen.Lin via Gcc-patches
gcc/ChangeLog: * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Rename can_fully_mask_p to can_use_partial_vectors_p. (vect_analyze_loop_2): Rename LOOP_VINFO_CAN_FULLY_MASK_P to LOOP_VINFO_CAN_USE_PARTIAL_VECTORS_P. Rename saved_can_fully_mask_p to sav

[PATCH 2/4] vect: Rename fully_masked_p to using_partial_vectors_p

2020-06-09 Thread Kewen.Lin via Gcc-patches
gcc/ChangeLog: * tree-vect-loop-manip.c (vect_set_loop_condition): Rename LOOP_VINFO_FULLY_MASKED_P to LOOP_VINFO_USING_PARTIAL_VECTORS_P. (vect_gen_vector_loop_niters): Likewise. (vect_do_peeling): Likewise. * tree-vect-loop.c (_loop_vec_info::_loop_vec_inf

[PATCH 3/4] vect: Rename things related to rgroup_masks

2020-06-09 Thread Kewen.Lin via Gcc-patches
gcc/ChangeLog: * tree-vect-loop-manip.c (vect_set_loop_mask): Renamed to ... (vect_set_loop_control): ... this. (vect_maybe_permute_loop_masks): Rename rgroup_masks related things. (vect_set_loop_masks_directly): Renamed to ... (vect_set_loop_controls_direct

[PATCH 4/4] vect: Factor out and rename some functions/macros

2020-06-09 Thread Kewen.Lin via Gcc-patches
gcc/ChangeLog: * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Rename LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_COMPARE_TYPE. Rename LOOP_VINFO_MASK_IV_TYPE to LOOP_VINFO_IV_TYPE. (vect_set_loop_condition_masked): Renamed to ... (vect_set_loop_

[PATCH 1/7 V2] ifn/optabs: Support vector load/store with length

2020-06-09 Thread Kewen.Lin via Gcc-patches
V2: Convert the length to targetm.vectorize.length_mode in related IFN expand functions. btw, since it depends on this hook now, it should be committed after the hook patch if accepted in future. gcc/ChangeLog: 2020-MM-DD Kewen Lin * doc/md.texi (lenload@var{m}@var{n}): Document.

[PATCH 2/7 V2] rs6000: lenload/lenstore optab support

2020-06-09 Thread Kewen.Lin via Gcc-patches
V2: Update the define_expand to use QImode. gcc/ChangeLog: 2020-MM-DD Kewen Lin * config/rs6000/vsx.md (lenloadqi): New define_expand. (lenstoreqi): Likewise. --- gcc/config/rs6000/vsx.md | 32 1 file changed, 32 insertions(+) diff --git a/

[PATCH 4/7 V2] hook/rs6000: Add vectorize length mode for vector with length

2020-06-09 Thread Kewen.Lin via Gcc-patches
v2: Update rs6000 length_mode hook to QImode, also update description of the hook. gcc/ChangeLog: 2020-MM-DD Kewen Lin * config/rs6000/rs6000.c (TARGET_VECTORIZE_LENGTH_MODE): New macro. * doc/tm.texi: Regenerate. * doc/tm.texi.in: New hook. * target.def: Like

Re: [PATCH PR95569] ICE in tmmark:verify_ssa failed

2020-06-09 Thread Martin Liška
On 6/10/20 3:10 AM, qianchao wrote: Thanks for reviewing this. Could you please help install this patch? Sure, but the patch can't survive ChangeLog verification script: 1) please do not modify ChangeLog files changes, these are generated from git commit message: https://gcc.gnu.org/codingconve

<    1   2