[PING][PATCH 6/13] v2 Use new per-location warning APIs in the C++ front end

2021-06-21 Thread Martin Sebor via Gcc-patches
Ping: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571977.html Looking for a review of the C++ front end changes to switch to the new suppress_warning() API. On 6/4/21 3:42 PM, Martin Sebor wrote: The attached patch replaces the uses of TREE_NO_WARNING in the C++ front end with the new

[PING][PATCH 4/13] v2 Use new per-location warning APIs in C family code

2021-06-21 Thread Martin Sebor via Gcc-patches
Ping: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571975.html I'm looking for a review of the mostly mechanical shared subset of the C and C++ front end changes to the new suppress_warning() API. On 6/4/21 3:42 PM, Martin Sebor wrote: The attached patch replaces the uses

[PING][PATCH 3/13] v2 Use new per-location warning APIs in C front end

2021-06-21 Thread Martin Sebor via Gcc-patches
Ping: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571974.html I'm looking for a review of the mostly mechanical C front end changes to the new suppress_warning() API. On 6/4/21 3:41 PM, Martin Sebor wrote: The attached patch replaces the uses of TREE_NO_WARNING in the C front end

[PING][PATCH 1/13] v2 [PATCH 1/13] Add support for per-location warning groups (PR 74765)

2021-06-21 Thread Martin Sebor via Gcc-patches
Ping: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571973.html Looking for a review of v2 of the diagnostic infrastructure bits. On 6/4/21 3:41 PM, Martin Sebor wrote: The attached patch introduces the suppress_warning(), warning_suppressed(), and copy_no_warning() APIs without making

Re: [PATCH 5/6] make get_domminated_by_region return a auto_vec

2021-06-18 Thread Martin Sebor via Gcc-patches
On 6/18/21 4:38 AM, Richard Biener wrote: On Thu, Jun 17, 2021 at 4:43 PM Martin Sebor wrote: On 6/17/21 12:03 AM, Richard Biener wrote: On Wed, Jun 16, 2021 at 6:01 PM Martin Sebor wrote: On 6/16/21 6:46 AM, Richard Sandiford via Gcc-patches wrote: Richard Biener via Gcc-patches writes

Re: [PATCH 5/6] make get_domminated_by_region return a auto_vec

2021-06-17 Thread Martin Sebor via Gcc-patches
On 6/17/21 12:03 AM, Richard Biener wrote: On Wed, Jun 16, 2021 at 6:01 PM Martin Sebor wrote: On 6/16/21 6:46 AM, Richard Sandiford via Gcc-patches wrote: Richard Biener via Gcc-patches writes: On Tue, Jun 15, 2021 at 8:02 AM Trevor Saunders wrote: This makes it clear the caller owns

[pushed] correct -Wmismatched-dealloc default

2021-06-16 Thread Martin Sebor via Gcc-patches
A user pointed out to me that the manual documented the wrong defaults for the -Wmismatched-dealloc and -Wmismatched-new-delete options. I pushed the correction in r12-1544 (also attached). Martin commit 139564821dd2e4a9cbb08677ff12cf291d7d0218 Author: Martin Sebor Date: Wed Jun 16 16:49:56

Re: [PATCH] make rich_location safe to copy

2021-06-16 Thread Martin Sebor via Gcc-patches
On 6/16/21 10:35 AM, Jason Merrill wrote: On 6/16/21 12:11 PM, Martin Sebor wrote: On 6/16/21 9:06 AM, David Malcolm wrote: On Wed, 2021-06-16 at 08:52 -0600, Martin Sebor wrote: On 6/16/21 6:38 AM, David Malcolm wrote: On Tue, 2021-06-15 at 19:48 -0600, Martin Sebor wrote: Thanks

Re: [PATCH, V2] auto_vec copy/move improvements

2021-06-16 Thread Martin Sebor via Gcc-patches
On 6/16/21 4:13 AM, Richard Biener via Gcc-patches wrote: On Wed, Jun 16, 2021 at 5:18 AM Trevor Saunders wrote: - Unfortunately using_auto_storage () needs to handle m_vec being null. - Handle self move of an auto_vec to itself. - Make sure auto_vec defines the classes move constructor and

Re: [PATCH] make rich_location safe to copy

2021-06-16 Thread Martin Sebor via Gcc-patches
On 6/16/21 9:06 AM, David Malcolm wrote: On Wed, 2021-06-16 at 08:52 -0600, Martin Sebor wrote: On 6/16/21 6:38 AM, David Malcolm wrote: On Tue, 2021-06-15 at 19:48 -0600, Martin Sebor wrote: Thanks for writing the patch. While debugging locations I noticed the semi_embedded_vec template

Re: [PATCH 5/6] make get_domminated_by_region return a auto_vec

2021-06-16 Thread Martin Sebor via Gcc-patches
On 6/16/21 6:46 AM, Richard Sandiford via Gcc-patches wrote: Richard Biener via Gcc-patches writes: On Tue, Jun 15, 2021 at 8:02 AM Trevor Saunders wrote: This makes it clear the caller owns the vector, and ensures it is cleaned up. Signed-off-by: Trevor Saunders bootstrapped and

Re: [PATCH] tree-sra: Do not refresh readonly decls (PR 100453)

2021-06-16 Thread Martin Sebor via Gcc-patches
On 6/16/21 5:48 AM, Jakub Jelinek wrote: On Tue, Jun 15, 2021 at 06:11:27PM +0200, Richard Biener wrote: --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -915,6 +915,12 @@ create_access (tree expr, gimple *stmt, bool write) if (!DECL_P (base) || !bitmap_bit_p (candidate_bitmap, DECL_UID (base)))

Re: [PATCH] make rich_location safe to copy

2021-06-16 Thread Martin Sebor via Gcc-patches
On 6/16/21 6:38 AM, David Malcolm wrote: On Tue, 2021-06-15 at 19:48 -0600, Martin Sebor wrote: Thanks for writing the patch. While debugging locations I noticed the semi_embedded_vec template in line-map.h doesn't declare a copy ctor or copy assignment, but is being copied in a couple

[PATCH] make rich_location safe to copy

2021-06-15 Thread Martin Sebor via Gcc-patches
While debugging locations I noticed the semi_embedded_vec template in line-map.h doesn't declare a copy ctor or copy assignment, but is being copied in a couple of places in the C++ parser (via gcc_rich_location). It gets away with it most likely because it never grows beyond the embedded

Re: [PATCH] Fix PR 100944 - Array boundary misscalculation

2021-06-15 Thread Martin Sebor via Gcc-patches
On 6/15/21 12:23 AM, Richard Biener wrote: On Mon, Jun 14, 2021 at 7:32 PM Martin Sebor wrote: On 6/14/21 12:36 AM, Richard Biener via Gcc-patches wrote: On Sun, Jun 13, 2021 at 7:00 PM Giuliano Belinassi via Gcc-patches wrote: This patch proposes a fix to PR 100944 by improving the array

Re: [PATCH 1/4] introduce diagnostic infrastructure changes (PR 98512)

2021-06-15 Thread Martin Sebor via Gcc-patches
On 6/11/21 11:04 AM, David Malcolm wrote: On Thu, 2021-06-10 at 17:26 -0600, Martin Sebor wrote: This diff introduces the diagnostic infrastructure changes to support controlling warnings at any call site in the inlining stack and printing the inlining context without the %K and %G directives

Re: [PATCH] teach compute_objsize about placement new (PR 100876)

2021-06-15 Thread Martin Sebor via Gcc-patches
On 6/15/21 4:58 AM, Christophe Lyon wrote: Hi, On Tue, 15 Jun 2021 at 00:58, Martin Sebor via Gcc-patches wrote: On 6/2/21 3:46 PM, Marek Polacek wrote: On Wed, Jun 02, 2021 at 03:40:49PM -0600, Martin Sebor via Gcc-patches wrote: + if (!gimple_call_builtin_p (stmt, BUILT_IN_NORMAL

Re: [RFC] [wwwdocs] Rewrite docs on commit message and patch format

2021-06-15 Thread Martin Sebor via Gcc-patches
On 6/15/21 3:39 AM, Jonathan Wakely wrote: On Tue, 15 Jun 2021 at 01:12, Martin Sebor wrote: On 6/14/21 10:25 AM, Jonathan Wakely via Gcc-patches wrote: I think this is an improvement on the current structure of the docs, but I'd like to hear what others think. The text looks more detailed

Re: [PATCH 1/6] auto_vec copy/move improvements

2021-06-15 Thread Martin Sebor via Gcc-patches
On 6/14/21 11:59 PM, Trevor Saunders wrote: - Unfortunately using_auto_storage () needs to handle m_vec being null. - Handle self move of an auto_vec to itself. - punt on defining copy or move operators for auto_vec with inline storage, until there is a need for them and we can decide what

[PING][PATCH 0/13] v2 warning control by group and location (PR 74765)

2021-06-14 Thread Martin Sebor via Gcc-patches
PM, Martin Sebor wrote: This is a revised patch series to add warning control by group and location, updated based on feedback on the initial series. v2 changes include: 1) Use opt_code rather than int for the option argument to the new    APIs.  This let me find and fix a bug in the original

Re: [RFC] [wwwdocs] Rewrite docs on commit message and patch format

2021-06-14 Thread Martin Sebor via Gcc-patches
On 6/14/21 10:25 AM, Jonathan Wakely via Gcc-patches wrote: I think this is an improvement on the current structure of the docs, but I'd like to hear what others think. The text looks more detailed and arguably more accurate but also makes it sound more complicated and rigid than necessary.

Re: [PATCH] Fix PR 100944 - Array boundary misscalculation

2021-06-14 Thread Martin Sebor via Gcc-patches
On 6/14/21 4:29 PM, Giuliano Belinassi wrote: Hi, I will give an quick answer to this mail. I will analyze carefully what richi said when I have more time available. On Mon, 2021-06-14 at 15:55 -0600, Martin Sebor wrote: On 6/13/21 11:00 AM, Giuliano Belinassi wrote: This patch proposes

Re: [PATCH] teach compute_objsize about placement new (PR 100876)

2021-06-14 Thread Martin Sebor via Gcc-patches
On 6/2/21 3:46 PM, Marek Polacek wrote: On Wed, Jun 02, 2021 at 03:40:49PM -0600, Martin Sebor via Gcc-patches wrote: + if (!gimple_call_builtin_p (stmt, BUILT_IN_NORMAL)) +{ + /* See if this is a call to placement new. */ + if (!fn + || !DECL_IS_OPERATOR_NEW_P (fn

Re: [PATCH] teach compute_objsize about placement new (PR 100876)

2021-06-14 Thread Martin Sebor via Gcc-patches
On 6/13/21 5:45 PM, Jeff Law wrote: On 6/2/2021 3:40 PM, Martin Sebor via Gcc-patches wrote: The two forms of placement operator new defined in return their pointer argument and may not be displaced by user-defined functions. But because they are ordinary (not built-in) functions

Re: [PATCH] Fix PR 100944 - Array boundary misscalculation

2021-06-14 Thread Martin Sebor via Gcc-patches
On 6/13/21 11:00 AM, Giuliano Belinassi wrote: This patch proposes a fix to PR 100944 by improving the array boundary Thanks for the patch! computation when the flexible array has no clear constructor: if no constructor were found in the input code, we compute the size of the array as:

Re: [PATCH] Fix PR 100944 - Array boundary misscalculation

2021-06-14 Thread Martin Sebor via Gcc-patches
On 6/14/21 12:36 AM, Richard Biener via Gcc-patches wrote: On Sun, Jun 13, 2021 at 7:00 PM Giuliano Belinassi via Gcc-patches wrote: This patch proposes a fix to PR 100944 by improving the array boundary computation when the flexible array has no clear constructor: if no constructor were

Re: [PATCH] c-family: Add fix-it suggestions for names [PR101052]

2021-06-14 Thread Martin Sebor via Gcc-patches
On 6/14/21 6:17 AM, Jonathan Wakely via Gcc-patches wrote: PR c++/101052 gcc/c-family/ChangeLog: * known-headers.cc (get_stdlib_header_for_name): Add known headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc, exit, and getenv. gcc/testsuite/ChangeLog:

Re: [PATCH 3/4] remove %K from error() calls in the aarch64/arm back ends (PR 98512)

2021-06-11 Thread Martin Sebor via Gcc-patches
On 6/11/21 7:10 AM, Christophe Lyon wrote: On Fri, 11 Jun 2021 at 09:53, Christophe Lyon wrote: On Fri, 11 Jun 2021 at 01:29, Martin Sebor via Gcc-patches wrote: This patch removes the uses of %K from error() calls in the aarch64 and arm back ends. I tested this change only by building

Re: [PATCH 3/4] remove %K from error() calls in the aarch64/arm back ends (PR 98512)

2021-06-11 Thread Martin Sebor via Gcc-patches
On 6/11/21 3:58 AM, Richard Sandiford wrote: Martin Sebor via Gcc-patches writes: diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 7b37e1b602c..7cdc824730c 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -13242,13 +13242,8 @@ bounds_check (rtx operand

Re: GCC documentation: porting to Sphinx

2021-06-10 Thread Martin Sebor via Gcc-patches
On 6/10/21 7:18 AM, Martin Liška wrote: On 6/10/21 11:07 AM, Martin Liška wrote: Doing that, one has 2 unique links, that would be needed for get_option_url function. Plus, both :option:`-Wfoo` and :option:`-Wno-foo` references are going to work. And I've actually did the transformation

[PATCH 4/4] remove %G and %K support from pretty printer and -Wformat (PR 98512)

2021-06-10 Thread Martin Sebor via Gcc-patches
This final diff removes the handlers for %G and %K from the pretty printer and the support for the directives from c-format.c so that using them will be diagnosed. gcc/c-family/ChangeLog: * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K. (gcc_cdiag_char_table): Same.

[PATCH 3/4] remove %K from error() calls in the aarch64/arm back ends (PR 98512)

2021-06-10 Thread Martin Sebor via Gcc-patches
This patch removes the uses of %K from error() calls in the aarch64 and arm back ends. I tested this change only by building a cross- compiler but I can't easily run the tests so I'd appreciate some help validating it. The fallout from the change should be limited to changes to error messages

[PATCH 2/4] remove %G and %K from calls in front end and middle end (PR 98512)

2021-06-10 Thread Martin Sebor via Gcc-patches
This diff removes the uses of %G and %K from all warning_at() calls throughout GCC front end and middle end. The inlining context is included in diagnostic output whenever it's present. Improve warning suppression for inlined functions. Resolves: PR middle-end/98871 - Cannot silence

[PATCH 1/4] introduce diagnostic infrastructure changes (PR 98512)

2021-06-10 Thread Martin Sebor via Gcc-patches
This diff introduces the diagnostic infrastructure changes to support controlling warnings at any call site in the inlining stack and printing the inlining context without the %K and %G directives. Improve warning suppression for inlined functions. Resolves: PR middle-end/98871 - Cannot silence

[PATCH 0/4] improve warning suppression for inlined functions (PR 98512)

2021-06-10 Thread Martin Sebor via Gcc-patches
. The third removes the uses of %K from error() calls in the arm and aarch64 back end. The fourth and final diff then removes the handlers from the pretty printer and the support for the directives from c-format.c. On 5/19/21 7:41 AM, David Malcolm wrote: On Thu, 2021-01-21 at 16:46 -0700, Martin Sebor

Re: [PATCH] Implement a context aware points-to analyzer for use in evrp.

2021-06-09 Thread Martin Sebor via Gcc-patches
On 6/9/21 12:50 PM, Aldy Hernandez wrote: On 6/9/21 7:10 PM, Martin Sebor wrote: On 6/7/21 12:29 PM, Aldy Hernandez via Gcc-patches wrote: Mostly just a question of the type choices in the implementation of the ssa_equiv_stack class: m_stack is an auto_vec while m_replacements is a plain

Re: [PATCH] Implement a context aware points-to analyzer for use in evrp.

2021-06-09 Thread Martin Sebor via Gcc-patches
On 6/7/21 12:29 PM, Aldy Hernandez via Gcc-patches wrote: On 6/7/21 3:30 PM, Richard Biener wrote: On Mon, Jun 7, 2021 at 12:10 PM Aldy Hernandez via Gcc-patches wrote: The substitute_and_fold_engine which evrp uses is expecting symbolics from value_of_expr / value_on_edge / etc, which

PING [PATCH] teach compute_objsize about placement new (PR 100876)

2021-06-09 Thread Martin Sebor via Gcc-patches
Ping: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571777.html On 6/2/21 3:40 PM, Martin Sebor wrote: The two forms of placement operator new defined in return their pointer argument and may not be displaced by user-defined functions. But because they are ordinary (not built

Re: [PATCH] Use range based loops to iterate over vec<> in various places

2021-06-09 Thread Martin Sebor via Gcc-patches
On 6/8/21 6:48 PM, Trevor Saunders wrote: Hello, This makes things a good bit shorter, and reduces complexity by removing a bunch of index variables. Very nice cleanup! Thank you! Martin bootstrapped and regtested on x86_64-linux-gnu, ok? Trev gcc/analyzer/ChangeLog: *

Re: [PATCH] predcom: Adjust some unnecessary update_ssa calls

2021-06-08 Thread Martin Sebor via Gcc-patches
On 6/8/21 3:30 AM, Kewen.Lin wrote: on 2021/6/7 下午10:46, Richard Biener wrote: On Wed, Jun 2, 2021 at 11:29 AM Kewen.Lin wrote: Hi, As Richi suggested in PR100794, this patch is to remove some unnecessary update_ssa calls with flag TODO_update_ssa_only_virtuals, also do some refactoring.

Re: [PATCH] define auto_vec copy ctor and assignment (PR 90904)

2021-06-07 Thread Martin Sebor via Gcc-patches
On 6/3/21 2:29 AM, Trevor Saunders wrote: On Wed, Jun 02, 2021 at 10:04:03AM -0600, Martin Sebor via Gcc-patches wrote: On 6/2/21 12:55 AM, Richard Biener wrote: On Tue, Jun 1, 2021 at 9:56 PM Martin Sebor wrote: On 5/27/21 2:53 PM, Jason Merrill wrote: On 4/27/21 11:52 AM, Martin Sebor

Re: [PATCH] define auto_vec copy ctor and assignment (PR 90904)

2021-06-07 Thread Martin Sebor via Gcc-patches
On 6/7/21 2:51 AM, Richard Biener wrote: On Thu, Jun 3, 2021 at 10:29 AM Trevor Saunders wrote: On Wed, Jun 02, 2021 at 10:04:03AM -0600, Martin Sebor via Gcc-patches wrote: On 6/2/21 12:55 AM, Richard Biener wrote: On Tue, Jun 1, 2021 at 9:56 PM Martin Sebor wrote: On 5/27/21 2:53 PM

Re: [PATCH] predcom: Adjust some unnecessary update_ssa calls

2021-06-07 Thread Martin Sebor via Gcc-patches
On 6/7/21 8:46 AM, Richard Biener via Gcc-patches wrote: On Wed, Jun 2, 2021 at 11:29 AM Kewen.Lin wrote: Hi, As Richi suggested in PR100794, this patch is to remove some unnecessary update_ssa calls with flag TODO_update_ssa_only_virtuals, also do some refactoring. Bootstrapped/regtested

[PATCH 13/13] v2 Add regression tests for PR 74765 and 74762

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch adds regression tests for two closely related bugs resolved by the patch series. Regression tests for TREE_NO_WARNING enhancement to warning groups. PR middle-end/74765 - missing uninitialized warning (parenthesis, TREE_NO_WARNING abuse) PR middle-end/74762 - [9/10/11/12

[PATCH 12/13] v2 Remove TREE_NO_WARNING and gimple*no_warning* APIs

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch removes the definitions of the TREE_NO_WARNING macro and the gimple_get_no_warning_p() and gimple_set_no_warning() functions. Remove legacy TREE_NO_WARNING amd gimple_*no_warning* APIs. gcc/ChangeLog: * tree.h (TREE_NO_WARNING): Remove. * gimple.h (gimple_no_warning_p):

[PATCH 11/13] v2 Use new per-location warning APIs in the Objective-C front end

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the Objective-C front end with the new suppress_warning(), warning_suppressed_p(), and copy_warning() APIs. Add support for per-location warning groups. gcc/objc/ChangeLog: * objc-act.c (objc_maybe_build_modify_expr): Replace direct

[PATCH 10/13] v2 Use new per-location warning APIs in the middle end

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch introduces declarations of the new suppress_warning(), warning_suppressed_p(), and copy_warning() APIs, and replaces the uses of TREE_NO_WARNING in the middle end with them. Add support for per-location warning groups. gcc/ChangeLog: * builtins.c (warn_string_no_nul):

[PATCH 9/13] v2 Use new per-location warning APIs in LTO

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the LTO front end with the new suppress_warning() API. It adds a couple of FIXMEs that I plan to take care of in a follow up. Add support for per-location warning groups. gcc/lto/ChangeLog: * gimple-streamer-out.c

[PATCH 8/13] v2 Use new per-location warning APIs in libcc1

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in libcc1 with the new suppress_warning() API. Add support for per-location warning groups. libcc1/ChangeLog: * libcp1plugin.cc (record_decl_address): Replace a direct use of TREE_NO_WARNING with suppress_warning. diff --git

[PATCH 7/13] v2 Use new per-location warning APIs in the FORTRAN front end

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the FORTRAN front end with the new suppress_warning() API. Add support for per-location warning groups. gcc/fortran/ChangeLog: * trans-array.c (trans_array_constructor): Replace direct uses of TREE_NO_WARNING with

[PATCH 6/13] v2 Use new per-location warning APIs in the C++ front end

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the C++ front end with the new suppress_warning(), warning_suppressed_p(), and copy_warning() APIs. Add support for per-location warning groups. * call.c (build_over_call): Replace direct uses of TREE_NO_WARNING with

[PATCH 5/13] v2 Use new per-location warning APIs in the RL78 back end

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the RL78 back end with the new suppress_warning() and warning_suppressed_p() APIs. Add support for per-location warning groups. gcc/ChangeLog: * config/rl78/rl78.c (rl78_handle_naked_attribute): Replace a direct use of TREE_NO_WARNING

[PATCH 4/13] v2 Use new per-location warning APIs in C family code

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the shared C family front end with the new suppress_warning(), warning_suppressed_p(), and copy_warning() APIs. Add support for per-location warning groups. gcc/c-family/ChangeLog: * c-common.c (c_wrap_maybe_const): Remove

[PATCH 3/13] v2 Use new per-location warning APIs in C front end

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the C front end with the new suppress_warning(), warning_suppressed_p(), and copy_warning() APIs. Add support for per-location warning groups. gcc/c/ChangeLog: * c-decl.c (pop_scope): Replace direct uses of TREE_NO_WARNING with

[PATCH 1/13] v2 [PATCH 1/13] Add support for per-location warning groups (PR 74765)

2021-06-04 Thread Martin Sebor via Gcc-patches
by Martin Sebor + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 3, or (at your option) any later + version. + + GCC

[PATCH 2/13] v2 Use new per-location warning APIs in Ada.

2021-06-04 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the Ada front end with the new suppress_warning(), warning_suppressed_p(), and copy_warning() APIs. Add support for per-location warning groups. gcc/ada/ChangeLog: * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):

[PATCH 0/13] v2 warning control by group and location (PR 74765)

2021-06-04 Thread Martin Sebor via Gcc-patches
This is a revised patch series to add warning control by group and location, updated based on feedback on the initial series. v2 changes include: 1) Use opt_code rather than int for the option argument to the new APIs. This let me find and fix a bug in the original Ada change. 2) Use

Re: [PATCH 01/11] gen: Emit error msg for empty split condition

2021-06-04 Thread Martin Sebor via Gcc-patches
On 6/1/21 11:04 PM, Kewen Lin via Gcc-patches wrote: As Segher suggested, this patch is to emit the error message if the split condition of define_insn_and_split is empty while the insn condition isn't. gcc/ChangeLog: * gensupport.c (process_rtx): Emit error message for empty

Re: GCC documentation: porting to Sphinx

2021-06-04 Thread Martin Sebor via Gcc-patches
On 6/3/21 4:56 AM, Martin Liška wrote: On 6/2/21 10:41 PM, Martin Sebor wrote: On 5/31/21 7:25 AM, Martin Liška wrote: Hello. I've made quite some progress with the porting of the documentation and I would like to present it to the community now: https://splichal.eu/scripts/sphinx/ Hello

[PATCH] teach compute_objsize about placement new (PR 100876)

2021-06-02 Thread Martin Sebor via Gcc-patches
The two forms of placement operator new defined in return their pointer argument and may not be displaced by user-defined functions. But because they are ordinary (not built-in) functions this property isn't reflected in their declarations alone, and there's no user- level attribute to annotate

Re: GCC documentation: porting to Sphinx

2021-06-02 Thread Martin Sebor via Gcc-patches
On 5/31/21 7:25 AM, Martin Liška wrote: Hello. I've made quite some progress with the porting of the documentation and I would like to present it to the community now: https://splichal.eu/scripts/sphinx/ Just a few issues I noticed in the warnings section: The headings of some warnings

Re: [PATCH] define auto_vec copy ctor and assignment (PR 90904)

2021-06-02 Thread Martin Sebor via Gcc-patches
On 6/2/21 12:55 AM, Richard Biener wrote: On Tue, Jun 1, 2021 at 9:56 PM Martin Sebor wrote: On 5/27/21 2:53 PM, Jason Merrill wrote: On 4/27/21 11:52 AM, Martin Sebor via Gcc-patches wrote: On 4/27/21 8:04 AM, Richard Biener wrote: On Tue, Apr 27, 2021 at 3:59 PM Martin Sebor wrote

Re: [PATCH] define auto_vec copy ctor and assignment (PR 90904)

2021-06-01 Thread Martin Sebor via Gcc-patches
On 5/27/21 2:53 PM, Jason Merrill wrote: On 4/27/21 11:52 AM, Martin Sebor via Gcc-patches wrote: On 4/27/21 8:04 AM, Richard Biener wrote: On Tue, Apr 27, 2021 at 3:59 PM Martin Sebor wrote: On 4/27/21 1:58 AM, Richard Biener wrote: On Tue, Apr 27, 2021 at 2:46 AM Martin Sebor via Gcc

Re: [PATCH 2/11] use xxx_no_warning APIs in Ada

2021-05-27 Thread Martin Sebor via Gcc-patches
On 5/25/21 2:59 AM, Eric Botcazou wrote: [PATCH 2/11] use xxx_no_warning APIs in Ada. Looks good to me, but remove the useless pair of parentheses in the 3rd hunk. The hunk was actually incorrect, thanks for drawing my attention to it! The second argument to the function is the option. To

[PING 3][PATCH] define auto_vec copy ctor and assignment (PR 90904)

2021-05-27 Thread Martin Sebor via Gcc-patches
Jason, I wonder if you could review this patch that Richard has apparently decided to defer to others. https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568901.html Thanks On 5/11/21 2:02 PM, Martin Sebor wrote: Ping 2: https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568901.html

Re: [PATCH 0/11] warning control by group and location (PR 74765)

2021-05-27 Thread Martin Sebor via Gcc-patches
On 5/27/21 5:19 AM, Richard Sandiford wrote: Thanks for doing this. Martin Sebor via Gcc-patches writes: […] On 5/24/21 5:08 PM, David Malcolm wrote: On Mon, 2021-05-24 at 16:02 -0600, Martin Sebor wrote: Subsequent patches then replace invocations of the TREE_NO_WARNING() macro

[PATCH] handle erroneous types in attribute nonnull (PR 100783)

2021-05-27 Thread Martin Sebor via Gcc-patches
When attribute nonnull is applied to an argument of an erroneous type the attribute positional argument validation function ICEs while printing a warning that mentions the invalid type. The attached patch changes the validation function to ignore erroneous types on the assumption that they must

[PATCH] avoid invalid sprintf argument checking and folding (PR 100732)

2021-05-26 Thread Martin Sebor via Gcc-patches
While checking objects whose addresses are passed to functions declared to take const pointers and making sure they're initialized the GCC 11 -Wmaybe-uninitialized enhancement assumes that the actual argument is a pointer. That's normally a safe assumption because for nonpointer arguments the

[PATCH] correct VLA bound traversal (PR 100719)

2021-05-26 Thread Martin Sebor via Gcc-patches
The -Wvla-parameter checking of the bounds of VLA parameters in function redeclarations has a few bugs: a) it scans the string that encodes the attribute access representation of the VLA bounds from the end, failing to consider that the string may be followed by another for a subsequent VLA, b)

Re: [PATCH RFA (diagnostic)] c++: -Wdeprecated-copy and #pragma diagnostic [PR94492]

2021-05-26 Thread Martin Sebor via Gcc-patches
On 5/26/21 8:00 AM, Jason Merrill wrote: On 5/13/21 9:07 PM, Jason Merrill wrote: On 5/13/21 7:38 PM, Martin Sebor wrote: On 5/13/21 1:28 PM, Jason Merrill via Gcc-patches wrote: Ping. On 4/28/21 9:32 AM, Jason Merrill wrote:   -Wdeprecated-copy was depending only on the state of the warning

Re: [PATCH 0/11] warning control by group and location (PR 74765)

2021-05-25 Thread Martin Sebor via Gcc-patches
On 5/25/21 3:04 AM, Richard Biener wrote: On Tue, May 25, 2021 at 2:53 AM Martin Sebor via Gcc-patches wrote: On 5/24/21 5:08 PM, David Malcolm wrote: On Mon, 2021-05-24 at 16:02 -0600, Martin Sebor wrote: The rare expressions that have no location continue to have just one bit[1

Re: [PATCH 2/5] Convert Walloca pass to RANGE_QUERY(cfun).

2021-05-25 Thread Martin Sebor via Gcc-patches
On 5/25/21 10:17 AM, Aldy Hernandez via Gcc-patches wrote: Adjustments per discussion. OK pending tests? Aldy I have no concern with the alloca changes. The xfail removals from the two tests in this patch (a nice improvement) don't seem to be related to alloca so I'd expect them to fail

Re: [PATCH 8/11] use xxx_no_warning APIs in Objective-C

2021-05-25 Thread Martin Sebor via Gcc-patches
On 5/25/21 8:01 AM, Iain Sandoe via Gcc-patches wrote: Hi Martin Martin Sebor via Gcc-patches wrote: The attached patch replaces the uses of TREE_NO_WARNING in the Objective-C front end. I’ve been gradually trying to improve/add locations in the ObjC stuff. To that end, I wonder

Re: [PATCH 1/2] c-family: Copy DECL_USER_ALIGN even if DECL_ALIGN is similar.

2021-05-25 Thread Martin Sebor via Gcc-patches
On 5/25/21 4:38 AM, Robin Dapp wrote: Hi Martin and Jason, The removal of the dead code looks good to me.  The change to "re-init lastalign" doesn't seem right.  When it's zero it means the conflict is between two attributes on the same declaration, in which case the note shouldn't be printed

Re: [PATCH] c++/88601 - [C/C++] __builtin_shufflevector support

2021-05-25 Thread Martin Sebor via Gcc-patches
On 5/25/21 7:32 AM, Jason Merrill via Gcc-patches wrote: On 5/25/21 2:57 AM, Richard Biener wrote: On Fri, 21 May 2021, Jason Merrill wrote: On 5/21/21 8:33 AM, Richard Biener wrote: This adds support for the clang __builtin_shufflevector extension to the C and C++ frontends.  The builtin is

Re: [PATCH 11/11] use xxx_no_warning APIs in the middle end

2021-05-24 Thread Martin Sebor via Gcc-patches
On 5/24/21 5:08 PM, David Malcolm via Gcc-patches wrote: On Mon, 2021-05-24 at 16:16 -0600, Martin Sebor via Gcc-patches wrote: The attached patch replaces TREE_NO_WARNING, gimple_get_no_warning_p and gimple_set_no_warning with the new APIs, get_no_warning, set_no_warning, and copy_no_warning

Re: [PATCH 0/11] warning control by group and location (PR 74765)

2021-05-24 Thread Martin Sebor via Gcc-patches
On 5/24/21 5:08 PM, David Malcolm wrote: On Mon, 2021-05-24 at 16:02 -0600, Martin Sebor wrote: Having just one bit control whether an expression or statement should be allowed to trigger warnings has been a source of bug reports about false negatives for years.  PR 74765 has a representative

[PATCH 11/11] use xxx_no_warning APIs in the middle end

2021-05-24 Thread Martin Sebor via Gcc-patches
The attached patch replaces TREE_NO_WARNING, gimple_get_no_warning_p and gimple_set_no_warning with the new APIs, get_no_warning, set_no_warning, and copy_no_warning. Add support for per-location warning groups. gcc/ChangeLog: * builtins.c (warn_string_no_nul): Replace uses of TREE_NO_WARNING,

[PATCH 10/11] use xxx_no_warning APIs in libcc1

2021-05-24 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in libc11. Add support for per-location warning groups. libcc1/ChangeLog: * libcp1plugin.cc (record_decl_address): Replace a direct use of TREE_NO_WARNING with set_no_warning. diff --git a/libcc1/libcp1plugin.cc b/libcc1/libcp1plugin.cc

[PATCH 9/11] use xxx_no_warning APIs in rl78 back end

2021-05-24 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the rl78 back end. Add support for per-location warning groups. gcc/ChangeLog: * config/rl78/rl78.c (rl78_handle_naked_attribute): Replace a direct use of TREE_NO_WARNING with set_no_warning. diff --git a/gcc/config/rl78/rl78.c

[PATCH 8/11] use xxx_no_warning APIs in Objective-C

2021-05-24 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the Objective-C front end. Add support for per-location warning groups. gcc/objc/ChangeLog: * objc-act.c (objc_maybe_build_modify_expr): Replace direct uses of TREE_NO_WARNING with get_no_warning, and set_no_warning.

[PATCH 7/11] use xxx_no_warning APIs in Fortran

2021-05-24 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the LTO front end. The streaming support doesn't extend to multiple bits yet. I plan to do that in a follow-up change. Add support for per-location warning groups. gcc/lto/ChangeLog: * gimple-streamer-out.c (output_gimple_stmt): Same.

[PATCH 6/11] use xxx_no_warning APIs in Fortran

2021-05-24 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the Fortran front end. I don't know the Fortran front end and I made no effort to try to find the right warning options in the calls to set/get_no_warning. Add support for per-location warning groups. gcc/fortran/ChangeLog: *

[PATCH 5/11] use xxx_no_warning APIs in C++

2021-05-24 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the C++ front end. For the set/get_no_warning calls I tried to find the most appropriate option to disable and query. In some cases there are helpful comments nearby that made this easy. In other cases it was less straightforward, and

[PATCH 4/11] use xxx_no_warning APIs in C family

2021-05-24 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the C family common subset of the C and C++ front ends. Add support for per-location warning groups. gcc/c-family/ChangeLog: * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING. (c_common_truthvalue_conversion): Replace direct

[PATCH 3/11] use xxx_no_warning APIs in C

2021-05-24 Thread Martin Sebor via Gcc-patches
The attached patch replaces the uses of TREE_NO_WARNING in the C front end. Add support for per-location warning groups. gcc/c/ChangeLog: * c-decl.c (pop_scope): Replace direct uses of TREE_NO_WARNING with get_no_warning, set_no_warning, and copy_no_warning. (diagnose_mismatched_decls):

[PATCH 2/11] use xxx_no_warning APIs in Ada

2021-05-24 Thread Martin Sebor via Gcc-patches
[PATCH 2/11] use xxx_no_warning APIs in Ada. Add support for per-location warning groups. gcc/ada/ChangeLog: * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Replace TREE_NO_WARNING with set_no_warning. (gnat_gimplify_expr): Same. * gcc-interface/utils.c (gnat_pushdecl):

[PATCH 1/11] introduce xxx_no_warning APIs

2021-05-24 Thread Martin Sebor via Gcc-patches
by Martin Sebor + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 3, or (at your option) any later + version. + + GCC is distributed

[PATCH 0/11] warning control by group and location (PR 74765)

2021-05-24 Thread Martin Sebor via Gcc-patches
Having just one bit control whether an expression or statement should be allowed to trigger warnings has been a source of bug reports about false negatives for years. PR 74765 has a representative test case that shows how by setting the bit to avoid -Wparentheses the C++ front end also ends up

Re: [PATCH 4/5] Convert remaining passes to RANGE_QUERY.

2021-05-24 Thread Martin Sebor via Gcc-patches
On 5/21/21 5:39 AM, Aldy Hernandez via Gcc-patches wrote: This patch converts the remaining users of get_range_info and get_ptr_nonnull to the range_query API. No effort was made to move passes away from VR_ANTI_RANGE, or any other use of deprecated methods. This was a straight up conversion

Re: [PATCH 1/5] Common API for accessing global and on-demand ranges.

2021-05-24 Thread Martin Sebor via Gcc-patches
On 5/21/21 5:39 AM, Aldy Hernandez via Gcc-patches wrote: This patch provides a generic API for accessing global ranges. It is meant to replace get_range_info() and get_ptr_nonnull() with one common interface. It uses the same API as the ranger (class range_query), so there will now be one API

[PATCH] add missing GTY support for hash-map (PR 100463)

2021-05-24 Thread Martin Sebor via Gcc-patches
Instantiating a hash_map on a number of integer types including, for example, int or unsigned int (such as location_t), or HOST_WIDE_INT, and using it with the garbage collector causes many cryptic compilation errors due to incomplete support for such types (the PR shows a few examples). I ran

Re: [PATCH] c++: Add new warning options for C++ language mismatches

2021-05-20 Thread Martin Sebor via Gcc-patches
On 5/20/21 6:56 AM, Jonathan Wakely wrote: On 19/05/21 16:05 -0400, Jason Merrill wrote: On 5/19/21 3:55 PM, Jonathan Wakely wrote: On 19/05/21 13:26 -0400, Jason Merrill wrote: On 5/19/21 12:46 PM, Jonathan Wakely wrote: On 19/05/21 17:39 +0100, Jonathan Wakely wrote: Jakub pointed out I'd

Re: [PATCH 1/2] c-family: Copy DECL_USER_ALIGN even if DECL_ALIGN is similar.

2021-05-19 Thread Martin Sebor via Gcc-patches
On 5/3/21 8:53 AM, Robin Dapp via Gcc-patches wrote: Hi, on s390 a warning test fails: inline int ATTR ((cold, aligned (8))) finline_hot_noret_align (int); inline int ATTR ((warn_unused_result)) finline_hot_noret_align (int); inline int ATTR ((aligned (4)))   finline_hot_noret_align (int); 

[PATCH] avoid -Wnonnull with lambda (PR 100684)

2021-05-19 Thread Martin Sebor via Gcc-patches
The front end -Wnonnull handler has code to suppress warning for lambdas with null this pointers but the middle end handler has no corresponding logic. This leads to spurious -Wnonnull in lambda calls that aren't inlined. That might happen at low optimization levels such as -O1 or -Og and with

[PATCH] handle VLAs with arbitrary many bounds (PR 100619)

2021-05-19 Thread Martin Sebor via Gcc-patches
The GCC 11 -Warray-parameter and -Wvla-parameter enhancement uses a small local buffer to format the description of the VLA bounds for the internal attribute access. When the number of bounds is in excess of the size of the buffer the code asserts as the test case in pr100619 shows. The

Re: [PATCH] c++: Add new warning options for C++ language mismatches

2021-05-19 Thread Martin Sebor via Gcc-patches
On 5/19/21 10:39 AM, Jonathan Wakely via Gcc-patches wrote: Jakub pointed out I'd forgotten the spaces before the opening parens for function calls. The attached patch should fix all those, with no other changes. Tested x86_64-linux. OK for trunk? Looks good to me, it just needs an update to

Re: [PATCH v2] x86: Warn for excessive argument alignment in main

2021-05-18 Thread Martin Sebor via Gcc-patches
On 5/17/21 11:49 AM, H.J. Lu via Gcc-patches wrote: On Thu, May 13, 2021 at 9:15 AM Bernd Edlinger wrote: On 5/13/21 3:37 PM, H.J. Lu via Gcc-patches wrote: Warn for excessive argument alignment in main instead of ICE. gcc/ PR c/100575 * cfgexpand.c (expand_stack_alignment):

Re: RFA: Improve message for wrong number of alternatives

2021-05-16 Thread Martin Sebor via Gcc-patches
On 5/16/21 7:57 AM, Joern Rennecke wrote: When you have lots of operands and lots of alternatives in a pattern, it is often not immediately apparent if the problem is in the indicated alternative or in the one that genoutput uses as a reference for the 'correct' number of alternatives, and/or if

Re: [PATCH] Add gnu::diagnose_as attribute

2021-05-14 Thread Martin Sebor via Gcc-patches
On 5/4/21 5:13 AM, Matthias Kretz wrote: From: Matthias Kretz This attribute overrides the diagnostics output string for the entity it appertains to. The motivation is to improve QoI for library TS implementations, where diagnostics have a very bad signal-to-noise ratio due to the long

<    1   2   3   4   5   6   7   8   9   10   >