aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2020-01-02 13:21:58 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2020-01-14 21:10:45 -0500
commitd666ae9862a06cab12108607c516a8475b4fb766 (patch)
treec53ed2c7527427d05d432a8f8d107f035a1e81bf
parent71dcf0c4aaef7d9ac814250018242a6b5dc7705b (diff)
diagnostic_path: fix up expected analyzer output
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.
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-0.c23
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-1.c23
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2.c23
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/malloc-ipa-11.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-double-free.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-unchecked.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/malloc-macro-inline-events.c32
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c387
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/setjmp-2.c78
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/setjmp-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/setjmp-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/setjmp-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/setjmp-8.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/setjmp-9.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/signal-4a.c2
-rw-r--r--gcc/testsuite/gcc.dg/analyzer/signal-4b.c2
17 files changed, 238 insertions, 350 deletions
diff --git a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-0.c b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-0.c
index f21cd377824..f8714a5d8bc 100644
--- a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-0.c
+++ b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-0.c
@@ -21,8 +21,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);
@@ -91,8 +89,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);
@@ -148,16 +144,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 6d6e70a8ae1..3085c001eeb 100644
--- a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-1.c
+++ b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-1.c
@@ -21,8 +21,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)
@@ -106,8 +104,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)
@@ -176,16 +172,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 3d3316af1f9..9d601df0d23 100644
--- a/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2.c
+++ b/gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2.c
@@ -21,8 +21,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)
@@ -117,8 +115,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)
@@ -207,16 +203,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 b65ff9165e4..2676109f91c 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-11.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-11.c
@@ -29,8 +29,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 f86e8ac72d7..23ca47e77d4 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
@@ -47,8 +47,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 a778a29852f..8072524927c 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-unchecked.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-unchecked.c
@@ -25,8 +25,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 f08aee626a5..d07faa05799 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-macro-inline-events.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-macro-inline-events.c
@@ -18,29 +18,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 7b3a0a110e2..12e4541f58a 100644
--- a/gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c
+++ b/gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c
@@ -10,23 +10,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)
@@ -40,62 +35,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)
@@ -118,182 +103,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 f0fd23cf264..018771015f5 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-2.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-2.c
@@ -35,51 +35,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 0c082b82a70..7159f93ff4e 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-3.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-3.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-4.c b/gcc/testsuite/gcc.dg/analyzer/setjmp-4.c
index bfac6170d91..738d2d0a3a3 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-4.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-4.c
@@ -31,8 +31,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 2c41e6dff77..fb802c40d28 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-5.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-5.c
@@ -22,8 +22,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 1e2c348af3e..82812fc9f0c 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c
@@ -38,8 +38,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 fb931653803..ca88893d683 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-8.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-8.c
@@ -37,8 +37,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 fa2d3152c27..69ac83157d2 100644
--- a/gcc/testsuite/gcc.dg/analyzer/setjmp-9.c
+++ b/gcc/testsuite/gcc.dg/analyzer/setjmp-9.c
@@ -39,8 +39,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 4b68b6d045b..878ee67d418 100644
--- a/gcc/testsuite/gcc.dg/analyzer/signal-4a.c
+++ b/gcc/testsuite/gcc.dg/analyzer/signal-4a.c
@@ -29,8 +29,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 38d40247357..606a4818676 100644
--- a/gcc/testsuite/gcc.dg/analyzer/signal-4b.c
+++ b/gcc/testsuite/gcc.dg/analyzer/signal-4b.c
@@ -32,8 +32,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)