diff options
author | David Malcolm <dmalcolm@redhat.com> | 2020-01-02 13:21:58 -0500 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2020-01-14 21:10:45 -0500 |
commit | d666ae9862a06cab12108607c516a8475b4fb766 (patch) | |
tree | c53ed2c7527427d05d432a8f8d107f035a1e81bf | |
parent | 71dcf0c4aaef7d9ac814250018242a6b5dc7705b (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.c | 23 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-1.c | 23 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/analyzer-verbosity-2.c | 23 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/malloc-ipa-11.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-double-free.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/malloc-ipa-8-unchecked.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/malloc-macro-inline-events.c | 32 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/malloc-paths-9.c | 387 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/setjmp-2.c | 78 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/setjmp-3.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/setjmp-4.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/setjmp-5.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/setjmp-7a.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/setjmp-8.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/setjmp-9.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/signal-4a.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/analyzer/signal-4b.c | 2 |
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) |