[PATCH 32/45] analyzer: new file: sm-sensitive.cc

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Rework on_leak vfunc: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02028.html - Rework for changes to is_named_call_p, resolving function point

[PATCH 10/45] Add diagnostic paths

2019-12-13 Thread David Malcolm
Changed in v4: - Add support for paths for signal-handlers: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00215.html - Fix comment Changed in v3: - Fixup for rebase (r278634): c-format.c: get_pointer_to_named_type -> get_named_type https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00530.html C

[PATCH 29/45] analyzer: new files: sm-malloc.cc and sm-malloc.dot

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Rework on_leak vfunc: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02028.html - Rework for changes to is_named_call_p, resolving function point

[PATCH 37/45] analyzer: new files: program-point.{cc|h}

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Add support for more validation, part of: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02517.html - Rework logging to avoid exploded_graph mult

[PATCH 36/45] analyzer: new files: call-string.{cc|h}

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Add call_string::validate, part of: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02517.html This patch adds call_string, a class for representing the call stacks at a pr

[PATCH 34/45] analyzer: new file: sm-taint.cc

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Rework on_leak vfunc: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02028.html - Rework for changes to is_named_call_p, resolving function point

[PATCH 39/45] analyzer: new file: exploded-graph.h

2019-12-13 Thread David Malcolm
Changed in v4: - Remove /// comment lines - Don't use multiple inheritance, instead adding a log_user member. - Add more validation, part of: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02517.html - Generalize rewind_info_t to exploded_edge::custom_info_t https://gcc.gnu.org/ml/gcc-patche

[PATCH 42/45] analyzer: new files: checker-path.{cc|h}

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Add custom events: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00213.html - Add support for global state: https://gcc.gnu.org/ml/gcc-patch

[PATCH 44/45] gdbinit.in: add break-on-saved-diagnostic

2019-12-13 Thread David Malcolm
This patch adds a "break-on-saved-diagnostic" command to gdbinit.in, useful for debugging when a diagnostic is queued by the analyzer. gcc/ChangeLog: * gdbinit.in (break-on-saved-diagnostic): New command. --- gcc/gdbinit.in | 10 ++ 1 file changed, 10 insertions(+) diff --git a/g

[PATCH 40/45] analyzer: new files: state-purge.{cc|h}

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Use TV_ANALYZER_STATE_PURGE rather than an auto_client_timevar - Fix .dot output: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02461.html - Add

[PATCH 41/45] analyzer: new files: engine.{cc|h}

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Rework logging to avoid exploded_graph multiple-inheritance (moving log_user base to a member) - Support resolving function pointers: https://g

[PATCH 43/45] analyzer: new files: diagnostic-manager.{cc|h}

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Add custom events: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00213.html - Generalize rewind_info_t to exploded_edge::custom_info_t https

[PATCH 21/45] analyzer: new files: digraph.{cc|h} and shortest-paths.h

2019-12-13 Thread David Malcolm
Changed in v4: - Moved from gcc/analyzer to gcc, renaming selftests accordingly - Remove comments - Replace auto_client_timevar with TV_ANALYZER_SHORTEST_PATHS This patch adds template classes for directed graphs, their nodes and edges, and for finding the shortest path through such a g

[PATCH 25/45] analyzer: new files: constraint-manager.{cc|h}

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines This patch adds classes for tracking the equivalence classes and constraints that hold at a point on an execution path. gcc/ChangeLog: * ana

[PATCH 30/45] analyzer: new file: sm-file.cc

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Rework on_leak vfunc: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02028.html - Rework for changes to is_named_call_p, resolving function point

[PATCH 31/45] analyzer: new file: sm-pattern-test.cc

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Rework on_leak vfunc: https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02028.html This patch adds a custom state machine checker intended purely f

[PATCH 38/45] analyzer: new files: program-state.{cc|h}

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Remove /// comment lines - Add support for global state: - https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00217.html - Rework logging to avoid exploded_graph multiple-inherit

[PATCH 35/45] analyzer: new files: analysis-plan.{cc|h}

2019-12-13 Thread David Malcolm
Changed in v4: - Remove include of gcc-plugin.h, reworking includes accordingly. - Wrap everything in #if ENABLE_ANALYZER - Use TV_ANALYZER_PLAN rather than an auto_client_timevar. - Update for new param API. - Add DISABLE_COPY_AND_ASSIGN (analysis_plan); This patch adds an analysis_plan class, wh

[PATCH 33/45] analyzer: new file: sm-signal.cc

2019-12-13 Thread David Malcolm
New in v4; part of: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00214.html with various fixups gcc/ChangeLog: * analyzer/sm-signal.cc: New file. --- gcc/analyzer/sm-signal.cc | 306 ++ 1 file changed, 306 insertions(+) create mode 100644 gcc/analyz

Re: [PATCH 16/45] analyzer: new builtins

2019-12-13 Thread Jakub Jelinek
On Fri, Dec 13, 2019 at 01:11:05PM -0500, David Malcolm wrote: > gcc/ChangeLog: > * builtins.def (BUILT_IN_ANALYZER_BREAK): New builtin. > (BUILT_IN_ANALYZER_DUMP): New builtin. > (BUILT_IN_ANALYZER_DUMP_EXPLODED_NODES): New builtin. > (BUILT_IN_ANALYZER_DUMP_NUM_HEAP_REGION

Re: [PATCH 16/45] analyzer: new builtins

2019-12-13 Thread David Malcolm
On Fri, 2019-12-13 at 19:27 +0100, Jakub Jelinek wrote: > On Fri, Dec 13, 2019 at 01:11:05PM -0500, David Malcolm wrote: > > gcc/ChangeLog: > > * builtins.def (BUILT_IN_ANALYZER_BREAK): New builtin. > > (BUILT_IN_ANALYZER_DUMP): New builtin. > > (BUILT_IN_ANALYZER_DUMP_EXPLODED_NODES):

Re: [PATCH, c] all plattforms: support using a CC_REG instead cc0_rtx

2019-12-13 Thread Stefan Franke
Am 2019-12-13 18:58, schrieb Segher Boessenkool: Hi! On Fri, Dec 13, 2019 at 05:25:41PM +0100, Stefan Franke wrote: I suggest this patch to allow architectures do substitute cc0_rtx with a generated cc register. Why? If you are using a cc register plus your architecture as many instructions w

libbacktrace patch committed: Add DWARF 5 support

2019-12-13 Thread Ian Lance Taylor
This patch to libbacktrace adds DWARF 5 support. I tested this with GCC 8, GCC tip, and clang 8, using the -gdwarf-5 option. Bootstrapped and ran libbacktrace and libgo tests on x86_64-pc-linux-gnu. Committed to mainline. Ian 2019-12-13 Ian Lance Taylor Add DWARF 5 support. * dwarf.c (struc

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-13 Thread Marek Polacek
On Thu, Dec 12, 2019 at 02:38:29PM -0500, Jason Merrill wrote: > On 12/11/19 5:50 PM, Marek Polacek wrote: > > On Fri, Nov 22, 2019 at 04:11:53PM -0500, Jason Merrill wrote: > > > On 11/8/19 4:24 PM, Marek Polacek wrote: > > > > > 2) [class.cdtor] says that when a dynamic_cast is used in a constru

Re: [PATCH, c] all plattforms: support using a CC_REG instead cc0_rtx

2019-12-13 Thread Segher Boessenkool
On Fri, Dec 13, 2019 at 08:55:15PM +0100, Stefan Franke wrote: > Am 2019-12-13 18:58, schrieb Segher Boessenkool: > >On Fri, Dec 13, 2019 at 05:25:41PM +0100, Stefan Franke wrote: > >>Why? If you are using a cc register plus your architecture as many > >>instructions which may clobber that cc regis

[Darwin, PPC, committed] Use Darwin9 dylib header for Rosetta builds.

2019-12-13 Thread Iain Sandoe
On Darwin10 it's possible to make a 32b PPC build using the 'Rosetta' emulator. However, these builds need to make use of Darwin9 crts (for exes and dylibs). This adds the change to cater for dylibs. tested on a powerpc-darwin10 native and a powerpc-darwin10 cross from x86_64-darwin16. applied

[PATCH] Fix pretty printers tests

2019-12-13 Thread François Dumont
Here is a patch to fix prettyprinters.exp failures in normal and debug modes. In 80276.cc I replicate the #define with comment from other tests even if it isn't true that cxx11 abi string isn't supported. It's just that it doesn't appear as 'std::string', the aliasing doesn't work. I still h

gccgo branch updated

2019-12-13 Thread Ian Lance Taylor
I've updated the gccgo branch to revision 279380 of trunk. Ian

Re: C++ PATCH for c++/88337 - Implement P1327R1: Allow dynamic_cast in constexpr

2019-12-13 Thread Jason Merrill
On 12/13/19 3:20 PM, Marek Polacek wrote: On Thu, Dec 12, 2019 at 02:38:29PM -0500, Jason Merrill wrote: On 12/11/19 5:50 PM, Marek Polacek wrote: On Fri, Nov 22, 2019 at 04:11:53PM -0500, Jason Merrill wrote: On 11/8/19 4:24 PM, Marek Polacek wrote: 2) [class.cdtor] says that when a dynami

Re: [OpenACC] Elaborate/simplify 'exit data' 'finalize' handling (was: [OpenACC] Update OpenACC data clause semantics to the 2.5 behavior)

2019-12-13 Thread Julian Brown
On Fri, 13 Dec 2019 15:13:53 +0100 Thomas Schwinge wrote: > Hi! > > Julian, Tobias, regarding the following OpenACC 'exit data' 'finalize' > handling: > > On 2018-05-25T13:01:58-0700, Cesar Philippidis > wrote: > > --- a/gcc/gimplify.c > > +++ b/gcc/gimplify.c > > > @@ -10859,6 +10849,53 @@

Re: 'find_group_last' (was: [PATCH] OpenACC reference count overhaul)

2019-12-13 Thread Julian Brown
On Fri, 13 Dec 2019 16:25:25 +0100 Thomas Schwinge wrote: > Hi Julian! > > On 2019-10-29T12:15:01+, Julian Brown > wrote: > > static int > > -find_pointer (int pos, size_t mapnum, unsigned short *kinds) > > +find_group_last (int pos, size_t mapnum, unsigned short *kinds) > > { > > - if (

Re: [PING 3][PATCH] track dynamic allocation in strlen (PR 91582)

2019-12-13 Thread Martin Sebor
After more testing by Jeff's buildbot and correcting the problems it exposed I have committed the attached patch in r279392. Martin On 12/11/19 4:23 PM, Martin Sebor wrote: Jeff's buildbot exposed a bug in the patch that caused false positives in cases involving negative offsets into destinatio

Re: [PATCH, c] all plattforms: support using a CC_REG instead cc0_rtx

2019-12-13 Thread Stefan Franke
Am 2019-12-13 21:59, schrieb Segher Boessenkool: On Fri, Dec 13, 2019 at 08:55:15PM +0100, Stefan Franke wrote: Am 2019-12-13 18:58, schrieb Segher Boessenkool: >On Fri, Dec 13, 2019 at 05:25:41PM +0100, Stefan Franke wrote: >>Why? If you are using a cc register plus your architecture as many >>

Re: [PATCH, c] all plattforms: support using a CC_REG instead cc0_rtx

2019-12-13 Thread Andrew Pinski
On Fri, Dec 13, 2019 at 6:56 PM Stefan Franke wrote: > > Am 2019-12-13 21:59, schrieb Segher Boessenkool: > > On Fri, Dec 13, 2019 at 08:55:15PM +0100, Stefan Franke wrote: > >> Am 2019-12-13 18:58, schrieb Segher Boessenkool: > >> >On Fri, Dec 13, 2019 at 05:25:41PM +0100, Stefan Franke wrote: >

Re: [PATCH, c] all plattforms: support using a CC_REG instead cc0_rtx

2019-12-13 Thread Stefan Franke
Am 2019-12-14 04:03, schrieb Andrew Pinski: On Fri, Dec 13, 2019 at 6:56 PM Stefan Franke wrote: Am 2019-12-13 21:59, schrieb Segher Boessenkool: > On Fri, Dec 13, 2019 at 08:55:15PM +0100, Stefan Franke wrote: >> Am 2019-12-13 18:58, schrieb Segher Boessenkool: >> >On Fri, Dec 13, 2019 at 05:

Re: [PATCH] Fix PR70985

2019-12-13 Thread Andrew Pinski
On Mon, May 9, 2016 at 2:32 AM Richard Biener wrote: > > > I am testing the following followup to my BIT_FIELD_REF simplification > changes which resolve issues when applying to memory BIT_FIELD_REFs. > > Bootstrap and regtest running on x86_64-unknown-linux-gnu. My question is not directly relat

Re: [PATCH] Fix PR70985

2019-12-13 Thread Richard Biener
On December 14, 2019 6:28:48 AM GMT+01:00, Andrew Pinski wrote: >On Mon, May 9, 2016 at 2:32 AM Richard Biener >wrote: >> >> >> I am testing the following followup to my BIT_FIELD_REF >simplification >> changes which resolve issues when applying to memory BIT_FIELD_REFs. >> >> Bootstrap and regt

<    1   2