[2/2] analyzer: diagnostic_path: fix up expected analyzer output

Message ID 20200102224444.2835-2-dmalcolm@redhat.com
State New
Headers show
Series
  • [1/2] analyzer: diagnostic_path: avoid printing redundant data
Related show

Commit Message

David Malcolm Jan. 2, 2020, 10:44 p.m.
Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to dmalcolm/analyzer on the GCC git mirror.

gcc/testsuite/ChangeLog:
	* gcc.dg/analyzer/analyzer-verbosity-0.c: Update expected
	output to remove source code from diagnostic locus, made redundant
	by path.  Remove interprocedural margin and event-run header from
	purely intraprocedural case.
	* gcc.dg/analyzer/analyzer-verbosity-1.c: Likewise.
	* gcc.dg/analyzer/analyzer-verbosity-2.c: Likewise.
	* gcc.dg/analyzer/malloc-ipa-11.c: Update to remove source code
	for diagnostic locus.
	* gcc.dg/analyzer/malloc-ipa-8-double-free.c: Likewise.
	* gcc.dg/analyzer/malloc-ipa-8-unchecked.c: Likewise.
	* gcc.dg/analyzer/malloc-macro-inline-events.c: Likewise, also to
	remove function names from event-run headers and remove
	interprocedural margin.
	* gcc.dg/analyzer/malloc-paths-9.c: Update to remove source code
	for diagnostic locus, event-run header, and interprocedural margin.
	* gcc.dg/analyzer/setjmp-2.c: Update to remove source code for
	diagnostic locus, function name from event-run headers, and
	interprocedural margin.
	* gcc.dg/analyzer/setjmp-3.c: Update to remove source code for
	diagnostic locus.
	* gcc.dg/analyzer/setjmp-4.c: Likewise.
	* gcc.dg/analyzer/setjmp-5.c: Likewise.
	* gcc.dg/analyzer/setjmp-7a.c: Likewise.
	* gcc.dg/analyzer/setjmp-8.c: Likewise.
	* gcc.dg/analyzer/setjmp-9.c: Likewise.
	* gcc.dg/analyzer/signal-4a.c: Likewise.
	* gcc.dg/analyzer/signal-4b.c: Likewise.
---
 .../gcc.dg/analyzer/analyzer-verbosity-0.c    |  23 +-
 .../gcc.dg/analyzer/analyzer-verbosity-1.c    |  23 +-
 .../gcc.dg/analyzer/analyzer-verbosity-2.c    |  23 +-
 gcc/testsuite/gcc.dg/analyzer/malloc-ipa-11.c |   2 -
 .../analyzer/malloc-ipa-8-double-free.c       |   2 -
 .../gcc.dg/analyzer/malloc-ipa-8-unchecked.c  |   2 -
 .../analyzer/malloc-macro-inline-events.c     |  32 +-
 .../gcc.dg/analyzer/malloc-paths-9.c          | 387 ++++++++----------
 gcc/testsuite/gcc.dg/analyzer/setjmp-2.c      |  78 ++--
 gcc/testsuite/gcc.dg/analyzer/setjmp-3.c      |   2 -
 gcc/testsuite/gcc.dg/analyzer/setjmp-4.c      |   2 -
 gcc/testsuite/gcc.dg/analyzer/setjmp-5.c      |   2 -
 gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c     |   2 -
 gcc/testsuite/gcc.dg/analyzer/setjmp-8.c      |   2 -
 gcc/testsuite/gcc.dg/analyzer/setjmp-9.c      |   2 -
 gcc/testsuite/gcc.dg/analyzer/signal-4a.c     |   2 -
 gcc/testsuite/gcc.dg/analyzer/signal-4b.c     |   2 -
 17 files changed, 238 insertions(+), 350 deletions(-)

-- 
2.21.0

Patch

diff --git a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-0.c b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-0.c
index 1103cc6642d3..bf5ec32c0def 100644
--- a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-0.c
+++ b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-0.c
@@ -20,8 +20,6 @@  void test_1 (void *ptr, int a, int b)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |   free (ptr);
-      |   ^~~~~~~~~~
   'test_1': event 1
     |
     |   NN |     calls_free_1 (ptr);
@@ -90,8 +88,6 @@  void test_2 (void *ptr, int a, int b)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |   free (ptr);
-      |   ^~~~~~~~~~
   'test_2': event 1
     |
     |   NN |       calls_free_2 (ptr);
@@ -147,16 +143,11 @@  void test_3 (void *ptr)
 /* { dg-begin-multiline-output "" }
    NN |   free (ptr);
       |   ^~~~~~~~~~
-  'test_3': events 1-2
-    |
-    |   NN |   free (ptr);
-    |      |   ^~~~~~~~~~
-    |      |   |
-    |      |   (1) first 'free' here
-    |   NN |   called_by_test_3 ();
-    |   NN |   free (ptr);
-    |      |   ~~~~~~~~~~
-    |      |   |
-    |      |   (2) second 'free' here; first 'free' was at (1)
-    |
+      |   |
+      |   (1) first 'free' here
+   NN |   called_by_test_3 ();
+   NN |   free (ptr);
+      |   ~~~~~~~~~~
+      |   |
+      |   (2) second 'free' here; first 'free' was at (1)
   { dg-end-multiline-output "" } */
diff --git a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-1.c b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-1.c
index 80039d5d9d24..b678790dbc9b 100644
--- a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-1.c
+++ b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-1.c
@@ -20,8 +20,6 @@  void test_1 (void *ptr, int a, int b)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |   free (ptr);
-      |   ^~~~~~~~~~
   'test_1': events 1-2
     |
     |   NN | void test_1 (void *ptr, int a, int b)
@@ -105,8 +103,6 @@  void test_2 (void *ptr, int a, int b)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |   free (ptr);
-      |   ^~~~~~~~~~
   'test_2': events 1-2
     |
     |   NN | void test_2 (void *ptr, int a, int b)
@@ -175,16 +171,11 @@  void test_3 (void *ptr)
 /* { dg-begin-multiline-output "" }
    NN |   free (ptr);
       |   ^~~~~~~~~~
-  'test_3': events 1-2
-    |
-    |   NN |   free (ptr);
-    |      |   ^~~~~~~~~~
-    |      |   |
-    |      |   (1) first 'free' here
-    |   NN |   called_by_test_3 ();
-    |   NN |   free (ptr);
-    |      |   ~~~~~~~~~~
-    |      |   |
-    |      |   (2) second 'free' here; first 'free' was at (1)
-    |
+      |   |
+      |   (1) first 'free' here
+   NN |   called_by_test_3 ();
+   NN |   free (ptr);
+      |   ~~~~~~~~~~
+      |   |
+      |   (2) second 'free' here; first 'free' was at (1)
   { dg-end-multiline-output "" } */
diff --git a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2.c b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2.c
index 9b87d43544fe..d02207774e69 100644
--- a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2.c
+++ b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2.c
@@ -20,8 +20,6 @@  void test_1 (void *ptr, int a, int b)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |   free (ptr);
-      |   ^~~~~~~~~~
   'test_1': events 1-4
     |
     |   NN | void test_1 (void *ptr, int a, int b)
@@ -116,8 +114,6 @@  void test_2 (void *ptr, int a, int b)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |   free (ptr);
-      |   ^~~~~~~~~~
   'test_2': events 1-4
     |
     |   NN | void test_2 (void *ptr, int a, int b)
@@ -206,16 +202,11 @@  void test_3 (void *ptr)
 /* { dg-begin-multiline-output "" }
    NN |   free (ptr);
       |   ^~~~~~~~~~
-  'test_3': events 1-2
-    |
-    |   NN |   free (ptr);
-    |      |   ^~~~~~~~~~
-    |      |   |
-    |      |   (1) first 'free' here
-    |   NN |   called_by_test_3 ();
-    |   NN |   free (ptr);
-    |      |   ~~~~~~~~~~
-    |      |   |
-    |      |   (2) second 'free' here; first 'free' was at (1)
-    |
+      |   |
+      |   (1) first 'free' here
+   NN |   called_by_test_3 ();
+   NN |   free (ptr);
+      |   ~~~~~~~~~~
+      |   |
+      |   (2) second 'free' here; first 'free' was at (1)
   { dg-end-multiline-output "" } */
diff --git a/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-11.c b/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-11.c
index d02250f16f60..5a49f5d41129 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-11.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-11.c
@@ -28,8 +28,6 @@  void test (void *ptr)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |   free (victim);
-      |   ^~~~~~~~~~~~~
   'test': events 1-2
     |
     |   NN | void test (void *ptr)
diff --git a/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-double-free.c b/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-double-free.c
index 50d907f738c1..c848125bd576 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-double-free.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-double-free.c
@@ -46,8 +46,6 @@  void test (int i)
 
 /* double-'free'.  */
 /* { dg-begin-multiline-output "" }
-   NN |   free (ptr);
-      |   ^~~~~~~~~~
   'test': events 1-2
     |
     |   NN | void test (int i)
diff --git a/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-unchecked.c b/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-unchecked.c
index f204331f0a95..35a7a296b8d1 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-unchecked.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-unchecked.c
@@ -24,8 +24,6 @@  make_boxed_int (int i)
 
 /* "dereference of possibly-NULL 'result' [CWE-690]".  */
 /* { dg-begin-multiline-output "" }
-   NN |   result->i = i;
-      |   ~~~~~~~~~~^~~
   'make_boxed_int': events 1-2
     |
     |   NN | make_boxed_int (int i)
diff --git a/gcc/testsuite/gcc.dg/analyzer/malloc-macro-inline-events.c b/gcc/testsuite/gcc.dg/analyzer/malloc-macro-inline-events.c
index fad6d6e63744..6f355ca71e8d 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-macro-inline-events.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-macro-inline-events.c
@@ -17,29 +17,21 @@  int test (void *ptr)
   /* { dg-regexp "\[^|\]+/malloc-macro.h:\[0-9\]+:\[0-9\]+:" } */
 
   /* { dg-begin-multiline-output "" }
+  event 1
+
+   NN | #define WRAPPED_FREE(PTR) free(PTR)
+      |                           ^~~~~~~~~
+      |                           |
+      |                           (1) first 'free' here
+   NN |   WRAPPED_FREE (ptr);
+      |   ^~~~~~~~~~~~
+  event 2
+
    NN | #define WRAPPED_FREE(PTR) free(PTR)
       |                           ^~~~~~~~~
+      |                           |
+      |                           (2) second 'free' here; first 'free' was at (1)
    NN |   WRAPPED_FREE (ptr);
       |   ^~~~~~~~~~~~
-  'test': event 1
-    |
-    |
-    |   NN | #define WRAPPED_FREE(PTR) free(PTR)
-    |      |                           ^~~~~~~~~
-    |      |                           |
-    |      |                           (1) first 'free' here
-    |   NN |   WRAPPED_FREE (ptr);
-    |      |   ^~~~~~~~~~~~
-    |
-  'test': event 2
-    |
-    |
-    |   NN | #define WRAPPED_FREE(PTR) free(PTR)
-    |      |                           ^~~~~~~~~
-    |      |                           |
-    |      |                           (2) second 'free' here; first 'free' was at (1)
-    |   NN |   WRAPPED_FREE (ptr);
-    |      |   ^~~~~~~~~~~~
-    |
      { dg-end-multiline-output "" } */
 }
diff --git a/gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c b/gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c
index 6bee885e7de0..d456fee96115 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c
@@ -9,23 +9,18 @@  void test_1 (void)
   free (ptr); /* { dg-warning "double-'free' of 'ptr'"  } */
 }
 /* { dg-begin-multiline-output "" }
+   NN |   void *ptr = malloc (1024);
+      |               ^~~~~~~~~~~~~
+      |               |
+      |               (1) allocated here
    NN |   free (ptr);
-      |   ^~~~~~~~~~
-  'test_1': events 1-3
-    |
-    |   NN |   void *ptr = malloc (1024);
-    |      |               ^~~~~~~~~~~~~
-    |      |               |
-    |      |               (1) allocated here
-    |   NN |   free (ptr);
-    |      |   ~~~~~~~~~~   
-    |      |   |
-    |      |   (2) first 'free' here
-    |   NN |   free (ptr);
-    |      |   ~~~~~~~~~~   
-    |      |   |
-    |      |   (3) second 'free' here; first 'free' was at (2)
-    |
+      |   ~~~~~~~~~~   
+      |   |
+      |   (2) first 'free' here
+   NN |   free (ptr);
+      |   ~~~~~~~~~~   
+      |   |
+      |   (3) second 'free' here; first 'free' was at (2)
    { dg-end-multiline-output "" } */
 
 void test_2 (int x, int y)
@@ -39,62 +34,52 @@  void test_2 (int x, int y)
 
 /* "double-'free' of 'ptr'".  */
 /* { dg-begin-multiline-output "" }
+   NN |   void *ptr = malloc (1024);
+      |               ^~~~~~~~~~~~~
+      |               |
+      |               (1) allocated here
+   NN |   if (x)
+      |      ~         
+      |      |
+      |      (2) following 'true' branch (when 'x != 0')...
+   NN |     free (ptr);
+      |     ~~~~~~~~~~ 
+      |     |
+      |     (3) ...to here
+      |     (4) first 'free' here
+   NN |   if (y)
+      |      ~         
+      |      |
+      |      (5) following 'true' branch (when 'y != 0')...
    NN |     free (ptr);
-      |     ^~~~~~~~~~
-  'test_2': events 1-7
-    |
-    |   NN |   void *ptr = malloc (1024);
-    |      |               ^~~~~~~~~~~~~
-    |      |               |
-    |      |               (1) allocated here
-    |   NN |   if (x)
-    |      |      ~         
-    |      |      |
-    |      |      (2) following 'true' branch (when 'x != 0')...
-    |   NN |     free (ptr);
-    |      |     ~~~~~~~~~~ 
-    |      |     |
-    |      |     (3) ...to here
-    |      |     (4) first 'free' here
-    |   NN |   if (y)
-    |      |      ~         
-    |      |      |
-    |      |      (5) following 'true' branch (when 'y != 0')...
-    |   NN |     free (ptr);
-    |      |     ~~~~~~~~~~ 
-    |      |     |
-    |      |     (6) ...to here
-    |      |     (7) second 'free' here; first 'free' was at (4)
-    |
+      |     ~~~~~~~~~~ 
+      |     |
+      |     (6) ...to here
+      |     (7) second 'free' here; first 'free' was at (4)
    { dg-end-multiline-output "" } */
 
 /* "leak of 'ptr'.  */
 /* { dg-begin-multiline-output "" }
+   NN |   void *ptr = malloc (1024);
+      |               ^~~~~~~~~~~~~
+      |               |
+      |               (1) allocated here
+   NN |   if (x)
+      |      ~         
+      |      |
+      |      (2) following 'false' branch (when 'x == 0')...
+   NN |     free (ptr);
+   NN |   if (y)
+      |      ~         
+      |      |
+      |      (3) ...to here
+      |      (4) following 'false' branch (when 'y == 0')...
+   NN |     free (ptr);
    NN | }
-      | ^
-  'test_2': events 1-6
-    |
-    |   NN |   void *ptr = malloc (1024);
-    |      |               ^~~~~~~~~~~~~
-    |      |               |
-    |      |               (1) allocated here
-    |   NN |   if (x)
-    |      |      ~         
-    |      |      |
-    |      |      (2) following 'false' branch (when 'x == 0')...
-    |   NN |     free (ptr);
-    |   NN |   if (y)
-    |      |      ~         
-    |      |      |
-    |      |      (3) ...to here
-    |      |      (4) following 'false' branch (when 'y == 0')...
-    |   NN |     free (ptr);
-    |   NN | }
-    |      | ~              
-    |      | |
-    |      | (5) ...to here
-    |      | (6) 'ptr' leaks here; was allocated at (1)
-    |
+      | ~              
+      | |
+      | (5) ...to here
+      | (6) 'ptr' leaks here; was allocated at (1)
    { dg-end-multiline-output "" } */
 
 int test_3 (int x, int y)
@@ -117,182 +102,152 @@  int test_3 (int x, int y)
 
 /* "dereference of possibly-NULL 'ptr'".  */
 /* { dg-begin-multiline-output "" }
+   NN |   int *ptr = (int *)malloc (sizeof (int));
+      |                     ^~~~~~~~~~~~~~~~~~~~~
+      |                     |
+      |                     (1) this call could return NULL
    NN |   *ptr = 42;
-      |   ~~~~~^~~~
-  'test_3': events 1-2
-    |
-    |   NN |   int *ptr = (int *)malloc (sizeof (int));
-    |      |                     ^~~~~~~~~~~~~~~~~~~~~
-    |      |                     |
-    |      |                     (1) this call could return NULL
-    |   NN |   *ptr = 42;
-    |      |   ~~~~~~~~~          
-    |      |        |
-    |      |        (2) 'ptr' could be NULL: unchecked value from (1)
-    |
+      |   ~~~~~~~~~          
+      |        |
+      |        (2) 'ptr' could be NULL: unchecked value from (1)
    { dg-end-multiline-output "" } */
 
 /* "use after 'free' of 'ptr'".  */
 /* { dg-begin-multiline-output "" }
+   NN |   int *ptr = (int *)malloc (sizeof (int));
+      |                     ^~~~~~~~~~~~~~~~~~~~~
+      |                     |
+      |                     (1) allocated here
+   NN |   *ptr = 42;
+      |   ~~~~~~~~~          
+      |        |
+      |        (2) assuming 'ptr' is non-NULL
+   NN |   if (x)
+      |      ~               
+      |      |
+      |      (3) following 'true' branch (when 'x != 0')...
+   NN |     free (ptr);
+      |     ~~~~~~~~~~       
+      |     |
+      |     (4) ...to here
+      |     (5) freed here
+   NN | 
    NN |   *ptr = 19;
-      |   ~~~~~^~~~
-  'test_3': events 1-6
-    |
-    |   NN |   int *ptr = (int *)malloc (sizeof (int));
-    |      |                     ^~~~~~~~~~~~~~~~~~~~~
-    |      |                     |
-    |      |                     (1) allocated here
-    |   NN |   *ptr = 42;
-    |      |   ~~~~~~~~~          
-    |      |        |
-    |      |        (2) assuming 'ptr' is non-NULL
-    |   NN |   if (x)
-    |      |      ~               
-    |      |      |
-    |      |      (3) following 'true' branch (when 'x != 0')...
-    |   NN |     free (ptr);
-    |      |     ~~~~~~~~~~       
-    |      |     |
-    |      |     (4) ...to here
-    |      |     (5) freed here
-    |   NN | 
-    |   NN |   *ptr = 19;
-    |      |   ~~~~~~~~~          
-    |      |        |
-    |      |        (6) use after 'free' of 'ptr'; freed at (5)
-    |
+      |   ~~~~~~~~~          
+      |        |
+      |        (6) use after 'free' of 'ptr'; freed at (5)
    { dg-end-multiline-output "" } */
 
 /* "use after 'free' of 'ptr'".  */
 /* { dg-begin-multiline-output "" }
+   NN |   int *ptr = (int *)malloc (sizeof (int));
+      |                     ^~~~~~~~~~~~~~~~~~~~~
+      |                     |
+      |                     (1) allocated here
+   NN |   *ptr = 42;
+      |   ~~~~~~~~~          
+      |        |
+      |        (2) assuming 'ptr' is non-NULL
+   NN |   if (x)
+      |      ~               
+      |      |
+      |      (3) following 'false' branch (when 'x == 0')...
+......
+   NN |   *ptr = 19;
+      |   ~~~~~~~~~          
+      |        |
+      |        (4) ...to here
+......
+   NN |   if (y)
+      |      ~               
+      |      |
+      |      (5) following 'true' branch (when 'y != 0')...
+   NN |     free (ptr);
+      |     ~~~~~~~~~~       
+      |     |
+      |     (6) ...to here
+      |     (7) freed here
+   NN |      
    NN |   return *ptr;
-      |          ^~~~
-  'test_3': events 1-8
-    |
-    |   NN |   int *ptr = (int *)malloc (sizeof (int));
-    |      |                     ^~~~~~~~~~~~~~~~~~~~~
-    |      |                     |
-    |      |                     (1) allocated here
-    |   NN |   *ptr = 42;
-    |      |   ~~~~~~~~~          
-    |      |        |
-    |      |        (2) assuming 'ptr' is non-NULL
-    |   NN |   if (x)
-    |      |      ~               
-    |      |      |
-    |      |      (3) following 'false' branch (when 'x == 0')...
-    |......
-    |   NN |   *ptr = 19;
-    |      |   ~~~~~~~~~          
-    |      |        |
-    |      |        (4) ...to here
-    |......
-    |   NN |   if (y)
-    |      |      ~               
-    |      |      |
-    |      |      (5) following 'true' branch (when 'y != 0')...
-    |   NN |     free (ptr);
-    |      |     ~~~~~~~~~~       
-    |      |     |
-    |      |     (6) ...to here
-    |      |     (7) freed here
-    |   NN |      
-    |   NN |   return *ptr;
-    |      |          ~~~~        
-    |      |          |
-    |      |          (8) use after 'free' of 'ptr'; freed at (7)
-    |
+      |          ~~~~        
+      |          |
+      |          (8) use after 'free' of 'ptr'; freed at (7)
    { dg-end-multiline-output "" } */
 
 /* "leak of 'ptr'".  */
 /* { dg-begin-multiline-output "" }
+   NN |   int *ptr = (int *)malloc (sizeof (int));
+      |                     ^~~~~~~~~~~~~~~~~~~~~
+      |                     |
+      |                     (1) allocated here
+   NN |   *ptr = 42;
+      |   ~~~~~~~~~          
+      |        |
+      |        (2) assuming 'ptr' is non-NULL
+   NN |   if (x)
+      |      ~               
+      |      |
+      |      (3) following 'false' branch (when 'x == 0')...
+......
+   NN |   *ptr = 19;
+      |   ~~~~~~~~~          
+      |        |
+      |        (4) ...to here
+......
+   NN |   if (y)
+      |      ~               
+      |      |
+      |      (5) following 'false' branch (when 'y == 0')...
+......
    NN |   return *ptr;
-      |          ^~~~
-  'test_3': events 1-7
-    |
-    |   NN |   int *ptr = (int *)malloc (sizeof (int));
-    |      |                     ^~~~~~~~~~~~~~~~~~~~~
-    |      |                     |
-    |      |                     (1) allocated here
-    |   NN |   *ptr = 42;
-    |      |   ~~~~~~~~~          
-    |      |        |
-    |      |        (2) assuming 'ptr' is non-NULL
-    |   NN |   if (x)
-    |      |      ~               
-    |      |      |
-    |      |      (3) following 'false' branch (when 'x == 0')...
-    |......
-    |   NN |   *ptr = 19;
-    |      |   ~~~~~~~~~          
-    |      |        |
-    |      |        (4) ...to here
-    |......
-    |   NN |   if (y)
-    |      |      ~               
-    |      |      |
-    |      |      (5) following 'false' branch (when 'y == 0')...
-    |......
-    |   NN |   return *ptr;
-    |      |          ~~~~        
-    |      |          |
-    |      |          (6) ...to here
-    |      |          (7) 'ptr' leaks here; was allocated at (1)
-    |
+      |          ~~~~        
+      |          |
+      |          (6) ...to here
+      |          (7) 'ptr' leaks here; was allocated at (1)
    { dg-end-multiline-output "" } */
 
 /* "use after 'free' of 'ptr'".  */
 /* { dg-begin-multiline-output "" }
+   NN |   if (x)
+      |      ^
+      |      |
+      |      (1) following 'true' branch (when 'x != 0')...
+   NN |     free (ptr);
+      |     ~~~~~~~~~~
+      |     |
+      |     (2) ...to here
+   NN | 
    NN |   *ptr = 19;
-      |   ~~~~~^~~~
-  'test_3': events 1-3
-    |
-    |   NN |   if (x)
-    |      |      ^
-    |      |      |
-    |      |      (1) following 'true' branch (when 'x != 0')...
-    |   NN |     free (ptr);
-    |      |     ~~~~~~~~~~
-    |      |     |
-    |      |     (2) ...to here
-    |   NN | 
-    |   NN |   *ptr = 19;
-    |      |   ~~~~~~~~~
-    |      |        |
-    |      |        (3) use after 'free' of 'ptr' here
-    |
+      |   ~~~~~~~~~
+      |        |
+      |        (3) use after 'free' of 'ptr' here
    { dg-end-multiline-output "" } */
 
 /* "use after 'free' of 'ptr'".  */
 /* { dg-begin-multiline-output "" }
+   NN |   if (x)
+      |      ^
+      |      |
+      |      (1) following 'false' branch (when 'x == 0')...
+......
+   NN |   *ptr = 19;
+      |   ~~~~~~~~~
+      |        |
+      |        (2) ...to here
+......
+   NN |   if (y)
+      |      ~
+      |      |
+      |      (3) following 'true' branch (when 'y != 0')...
+   NN |     free (ptr);
+      |     ~~~~~~~~~~
+      |     |
+      |     (4) ...to here
+   NN |      to dereference it above
    NN |   return *ptr;
-      |          ^~~~
-  'test_3': events 1-5
-    |
-    |   NN |   if (x)
-    |      |      ^
-    |      |      |
-    |      |      (1) following 'false' branch (when 'x == 0')...
-    |......
-    |   NN |   *ptr = 19;
-    |      |   ~~~~~~~~~
-    |      |        |
-    |      |        (2) ...to here
-    |......
-    |   NN |   if (y)
-    |      |      ~
-    |      |      |
-    |      |      (3) following 'true' branch (when 'y != 0')...
-    |   NN |     free (ptr);
-    |      |     ~~~~~~~~~~
-    |      |     |
-    |      |     (4) ...to here
-    |   NN |      to dereference it above
-    |   NN |   return *ptr;
-    |      |          ~~~~
-    |      |          |
-    |      |          (5) use after 'free' of 'ptr' here
-    |
+      |          ~~~~
+      |          |
+      |          (5) use after 'free' of 'ptr' here
    { dg-end-multiline-output "" } */
 /* TODO: this is really a duplicate; can we either eliminate it, or
    improve the path?  */
diff --git a/gcc/testsuite/gcc.dg/analyzer/setjmp-2.c b/gcc/testsuite/gcc.dg/analyzer/setjmp-2.c
index 2ba3913b4c75..b7ce6ef8cc68 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-2.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-2.c
@@ -34,51 +34,41 @@  void test_2 (void)
 }
 
 /* { dg-begin-multiline-output "" }
+  event 1
+   NN |   i = setjmp(env);
+      |       ^~~~~~
+      |       |
+      |       (1) 'setjmp' called here
+  events 2-4
+   NN |   if (i != 0)
+      |      ^
+      |      |
+      |      (2) following 'false' branch (when 'i == 0')...
+......
+   NN |     longjmp (env, 1);
+      |     ~~~~~~~~~~~~~~~~
+      |     |
+      |     (3) ...to here
+      |     (4) rewinding within 'test_2' from 'longjmp'...
+  event 5
+   NN |   i = setjmp(env);
+      |       ^~~~~~
+      |       |
+      |       (5) ...to 'setjmp' (saved at (1))
+  events 6-8
+   NN |   if (i != 0)
+      |      ^
+      |      |
+      |      (6) following 'true' branch (when 'i != 0')...
+   NN |     {
+   NN |       foo (2);
+      |       ~~~~~~~
+      |       |
+      |       (7) ...to here
    NN |       __analyzer_dump_path ();
-      |       ^~~~~~~~~~~~~~~~~~~~~~~
-  'test_2': event 1
-    |
-    |   NN |   i = setjmp(env);
-    |      |       ^~~~~~
-    |      |       |
-    |      |       (1) 'setjmp' called here
-    |
-  'test_2': events 2-4
-    |
-    |   NN |   if (i != 0)
-    |      |      ^
-    |      |      |
-    |      |      (2) following 'false' branch (when 'i == 0')...
-    |......
-    |   NN |     longjmp (env, 1);
-    |      |     ~~~~~~~~~~~~~~~~
-    |      |     |
-    |      |     (3) ...to here
-    |      |     (4) rewinding within 'test_2' from 'longjmp'...
-    |
-  'test_2': event 5
-    |
-    |   NN |   i = setjmp(env);
-    |      |       ^~~~~~
-    |      |       |
-    |      |       (5) ...to 'setjmp' (saved at (1))
-    |
-  'test_2': events 6-8
-    |
-    |   NN |   if (i != 0)
-    |      |      ^
-    |      |      |
-    |      |      (6) following 'true' branch (when 'i != 0')...
-    |   NN |     {
-    |   NN |       foo (2);
-    |      |       ~~~~~~~
-    |      |       |
-    |      |       (7) ...to here
-    |   NN |       __analyzer_dump_path ();
-    |      |       ~~~~~~~~~~~~~~~~~~~~~~~
-    |      |       |
-    |      |       (8) here
-    |
+      |       ~~~~~~~~~~~~~~~~~~~~~~~
+      |       |
+      |       (8) here
     { dg-end-multiline-output "" } */
 
 void test_3 (void)
diff --git a/gcc/testsuite/gcc.dg/analyzer/setjmp-3.c b/gcc/testsuite/gcc.dg/analyzer/setjmp-3.c
index e89599c42878..25e81d5cf6c9 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-3.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-3.c
@@ -35,8 +35,6 @@  void outer (void)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |       __analyzer_dump_path ();
-      |       ^~~~~~~~~~~~~~~~~~~~~~~
   'outer': event 1
     |
     |   NN | void outer (void)
diff --git a/gcc/testsuite/gcc.dg/analyzer/setjmp-4.c b/gcc/testsuite/gcc.dg/analyzer/setjmp-4.c
index a5b9e9d5d3d6..4efcf41c37d2 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-4.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-4.c
@@ -30,8 +30,6 @@  int main (void)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |     __analyzer_dump_path ();
-      |     ^~~~~~~~~~~~~~~~~~~~~~~
   'main': event 1
     |
     |   NN | int main (void)
diff --git a/gcc/testsuite/gcc.dg/analyzer/setjmp-5.c b/gcc/testsuite/gcc.dg/analyzer/setjmp-5.c
index e9d49b41a6e3..71cfadfa1590 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-5.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-5.c
@@ -21,8 +21,6 @@  void outer (void)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |   longjmp (env, 42);
-      |   ^~~~~~~~~~~~~~~~~
   'outer': events 1-2
     |
     |   NN | void outer (void)
diff --git a/gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c b/gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c
index a462f62649fc..06be82673c67 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c
@@ -37,8 +37,6 @@  void outer (void)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |   longjmp (env, 1);
-      |   ^~~~~~~~~~~~~~~~
   'outer': event 1
     |
     |   NN | void outer (void)
diff --git a/gcc/testsuite/gcc.dg/analyzer/setjmp-8.c b/gcc/testsuite/gcc.dg/analyzer/setjmp-8.c
index f876b8f8a12f..6c391f3c9f47 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-8.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-8.c
@@ -36,8 +36,6 @@  void outer (void)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |       __analyzer_dump_path ();
-      |       ^~~~~~~~~~~~~~~~~~~~~~~
   'outer': event 1
     |
     |   NN | void outer (void)
diff --git a/gcc/testsuite/gcc.dg/analyzer/setjmp-9.c b/gcc/testsuite/gcc.dg/analyzer/setjmp-9.c
index 153676bca8c1..a26218396c35 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-9.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-9.c
@@ -38,8 +38,6 @@  void outer (void)
 }
 
 /* { dg-begin-multiline-output "" }
-   NN |       __analyzer_dump_path ();
-      |       ^~~~~~~~~~~~~~~~~~~~~~~
   'outer': event 1
     |
     |   NN | void outer (void)
diff --git a/gcc/testsuite/gcc.dg/analyzer/signal-4a.c b/gcc/testsuite/gcc.dg/analyzer/signal-4a.c
index 19e6b83b032a..9a1a13da06dd 100644
--- a/gcc/testsuite/gcc.dg/analyzer/signal-4a.c
+++ b/gcc/testsuite/gcc.dg/analyzer/signal-4a.c
@@ -28,8 +28,6 @@  void test (void)
 
 /* "call to 'fprintf' from within signal handler [CWE-479]".  */
 /* { dg-begin-multiline-output "" }
-   NN |   fprintf(stderr, "LOG: %s", msg);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   'test': events 1-2
     |
     |   NN | void test (void)
diff --git a/gcc/testsuite/gcc.dg/analyzer/signal-4b.c b/gcc/testsuite/gcc.dg/analyzer/signal-4b.c
index 764af10b1b64..53d0f2e82399 100644
--- a/gcc/testsuite/gcc.dg/analyzer/signal-4b.c
+++ b/gcc/testsuite/gcc.dg/analyzer/signal-4b.c
@@ -31,8 +31,6 @@  void test (void)
 
 /* "call to 'fprintf' from within signal handler [CWE-479]".  */
 /* { dg-begin-multiline-output "" }
-   NN |   fprintf(stderr, "LOG: %s", msg);
-      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   'test': events 1-2
     |
     |   NN | void test (void)