On Wed, 2021-08-18 at 12:19 -0400, David Malcolm wrote:
> On Tue, 2021-08-17 at 20:40 +0530, Ankur Saini wrote:
> > Here is the final patch after fixing all the nits mentioned.
> >
> > Successfully bootstrapped and completed regress tests on x86_64-
> > linux-
> > gnu.
>
> Great, thanks!
>
> A very minor nit re ChangeLog entries: when referencing a PR in a
> patch, typically *each* ChangeLog fragment should reference the patch,
> not just one. So e.g. in....
>
> gcc/analyzer/ChangeLog:
> PR analyzer/100546
> * analysis-plan.cc (analysis_plan::use_summary_p): Don't use
> call
> summaries if there is no callgraph edge
> [...snip...]
>
> gcc/testsuite/ChangeLog:
> * gcc.dg/analyzer/function-ptr-4.c: New test.
> * gcc.dg/analyzer/pr100546.c: New test.
>
> ...the "gcc/testsuite/ChangeLog:" should also have a reference to "PR
> analyzer/100546".
>
> Please go ahead and push these to trunk/master.
I see you pushed these as
aef703cf982072427e74034f4c460a11c5e04b8e
1b34248527472496ca3fe2a07183beac8cf69041
respectively.
Unfortunately I'm seeing some new failures with
aef703cf982072427e74034f4c460a11c5e04b8e when I do a clean build of
that tree on x86_64.
e.g. with:
$ make check-gcc RUNTESTFLAGS="--target_board=unix\{-m32,-m64\}
analyzer-torture.exp=*.c analyzer.exp=*.c" &>
test-aef703cf982072427e74034f4c460a11c5e04b8e.out
I get the following:
# of unexpected failures 76
# of unexpected successes 2
with at least one ICE (pr101503.c).
I'm attaching the results I get (test.out from above).
Do you see the same failures?
When you said that the patch "completed regress tests on
x86_64-linux-gnu", what checking did you do on the results of those
tests? The idea is that patches shouldn't introduce new failures.
Thanks
Dave
rm -rf testsuite/gcc-parallel
make[1]: Entering directory '/home/david/coding/gcc-newgit-clean/build/gcc'
(rootme=`${PWDCMD-pwd}`; export rootme; \
srcdir=`cd ../../src/gcc; ${PWDCMD-pwd}` ; export srcdir ; \
if [ -n "" ] \
&& [ -n "$GCC_RUNTEST_PARALLELIZE_DIR" ] \
&& [ -f testsuite/gcc-parallel/finished ]; then \
rm -rf testsuite/gcc; \
else \
cd testsuite/gcc; \
rm -f tmp-site.exp; \
sed '/set tmpdir/ s|testsuite$|testsuite/gcc|' \
< ../../site.exp > tmp-site.exp; \
/bin/sh ${srcdir}/../move-if-change tmp-site.exp site.exp; \
EXPECT=`if [ -f ${rootme}/../expect/expect ] ; then echo
${rootme}/../expect/expect ; else echo expect ; fi` ; export EXPECT ; \
if [ -f ${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWDCMD-pwd}` ; \
export TCL_LIBRARY ; \
fi ; \
`if [ -f ${srcdir}/../dejagnu/runtest ] ; then echo
${srcdir}/../dejagnu/runtest ; else echo runtest; fi` --tool gcc
--target_board=unix\{-m32,-m64\} analyzer-torture.exp=*.c analyzer.exp=*.c; \
if [ -n "$GCC_RUNTEST_PARALLELIZE_DIR" ] ; then \
touch ${rootme}/testsuite/gcc-parallel/finished; \
fi ; \
fi )
WARNING: Couldn't find the global config file.
Test run by david on Wed Aug 18 16:35:35 2021
Native configuration is x86_64-pc-linux-gnu
=== gcc tests ===
Schedule of variations:
unix/-m32
unix/-m64
Running target unix/-m32
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/david/coding/gcc-newgit-clean/src/gcc/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/home/david/coding/gcc-newgit-clean/src/gcc/testsuite/gcc.dg/analyzer/analyzer.exp
...
FAIL: gcc.dg/analyzer/analyzer-verbosity-0.c expected multiline pattern lines
24-60 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_1': event 1.*\n \|.*\n \| NN \| calls_free_1 \(ptr\);.*\n
\| \| \^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(1\) calling 'calls_free_1' from 'test_1'.*\n \|.*\n \+-->
'calls_free_1': event 2.*\n \|.*\n \| NN \| free
\(ptr\);.*\n \| \| \^~~~~~~~~~\n \| \| \|.*\n
\| \| \(2\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_1': events 3-4.*\n \|.*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(3\) returning to 'test_1' from
'calls_free_1'.*\n \|\.\.\.\.\.\..*\n \| NN \| calls_free_1
\(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(4\) passing freed pointer 'ptr' in call to 'calls_free_1' from
'test_1'.*\n \|.*\n \+--> 'calls_free_1': event 5.*\n \|.*\n
\| NN \| free \(ptr\);.*\n \| \| \^~~~~~~~~~\n
\| \| \|.*\n \| \| \(5\) second 'free' here; first
'free' was at \(2\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-0.c expected multiline pattern lines
94-130 not found: " NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_2': event 1.*\n \|.*\n \| NN \| calls_free_2 \(ptr\);.*\n
\| \| \^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \|
\| \(1\) calling 'calls_free_2' from 'test_2'.*\n \|.*\n \+-->
'calls_free_2': event 2.*\n \|.*\n \| NN \| free
\(ptr\);.*\n \| \| \^~~~~~~~~~\n \| \| \|.*\n
\| \| \(2\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_2': events 3-4.*\n \|.*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(3\) returning to 'test_2' from
'calls_free_2'.*\n \|\.\.\.\.\.\..*\n \| NN \| calls_free_2
\(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(4\) passing freed pointer 'ptr' in call to
'calls_free_2' from 'test_2'.*\n \|.*\n \+--> 'calls_free_2': event 5.*\n
\|.*\n \| NN \| free \(ptr\);.*\n \| \|
\^~~~~~~~~~\n \| \| \|.*\n \| \| \(5\)
second 'free' here; first 'free' was at \(2\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-0.c (test for excess errors)
FAIL: gcc.dg/analyzer/analyzer-verbosity-1.c expected multiline pattern lines
24-75 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_1': events 1-2.*\n \|.*\n \| NN \| void test_1 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_1'.*\n \|\.\.\.\.\.\..*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(2\) calling 'calls_free_1' from 'test_1'.*\n
\|.*\n \+--> 'calls_free_1': events 3-4.*\n \|.*\n \|
NN \| void calls_free_1 \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(3\) entry to 'calls_free_1'.*\n \| NN \| \{.*\n \| NN
\| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \|
\|.*\n \| \| \(4\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_1': events 5-6.*\n \|.*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(5\) returning to 'test_1' from
'calls_free_1'.*\n \|\.\.\.\.\.\..*\n \| NN \| calls_free_1
\(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(6\) passing freed pointer 'ptr' in call to 'calls_free_1' from
'test_1'.*\n \|.*\n \+--> 'calls_free_1': events 7-8.*\n \|.*\n
\| NN \| void calls_free_1 \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(7\) entry to 'calls_free_1'.*\n \| NN \| \{.*\n \| NN
\| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \|
\|.*\n \| \| \(8\) second 'free' here; first 'free' was at
\(4\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-1.c expected multiline pattern lines
109-160 not found: " NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_2': events 1-2.*\n \|.*\n \| NN \| void test_2 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_2'.*\n \|\.\.\.\.\.\..*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(2\) calling 'calls_free_2' from
'test_2'.*\n \|.*\n \+--> 'calls_free_2': events 3-4.*\n \|.*\n
\| NN \| void calls_free_2 \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(3\) entry to 'calls_free_2'.*\n \| NN \| \{.*\n \| NN
\| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \|
\|.*\n \| \| \(4\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_2': events 5-6.*\n \|.*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(5\) returning to 'test_2' from
'calls_free_2'.*\n \|\.\.\.\.\.\..*\n \| NN \| calls_free_2
\(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(6\) passing freed pointer 'ptr' in call to
'calls_free_2' from 'test_2'.*\n \|.*\n \+--> 'calls_free_2': events
7-8.*\n \|.*\n \| NN \| void calls_free_2 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(7\) entry to 'calls_free_2'.*\n \|
NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(8\) second
'free' here; first 'free' was at \(4\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-1.c (test for excess errors)
FAIL: gcc.dg/analyzer/analyzer-verbosity-2.c expected multiline pattern lines
24-86 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_1': events 1-4.*\n \|.*\n \| NN \| void test_1 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_1'.*\n \| NN \| \{.*\n \| NN \| if
\(a\).*\n \| \| ~\n \| \| \|.*\n \| \|
\(2\) following 'true' branch \(when 'a != 0'\)\.\.\..*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(3\) \.\.\.to here.*\n \| \| \(4\)
calling 'calls_free_1' from 'test_1'.*\n \|.*\n \+--> 'calls_free_1':
events 5-6.*\n \|.*\n \| NN \| void calls_free_1 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(5\) entry to 'calls_free_1'.*\n \|
NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(6\) first
'free' here.*\n \|.*\n <------\+.*\n \|.*\n 'test_1': events
7-10.*\n \|.*\n \| NN \| calls_free_1 \(ptr\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(7\)
returning to 'test_1' from 'calls_free_1'.*\n \| NN \| .*\n \| NN \|
if \(b\).*\n \| \| ~\n \| \| \|.*\n \| \|
\(8\) following 'false' branch \(when 'b == 0'\)\.\.\..*\n
\|\.\.\.\.\.\..*\n \| NN \| calls_free_1 \(ptr\);.*\n \| \|
~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(9\) \.\.\.to
here.*\n \| \| \(10\) passing freed pointer 'ptr' in call to
'calls_free_1' from 'test_1'.*\n \|.*\n \+--> 'calls_free_1': events
11-12.*\n \|.*\n \| NN \| void calls_free_1 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(11\) entry to 'calls_free_1'.*\n
\| NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(12\)
second 'free' here; first 'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-2.c expected multiline pattern lines
120-189 not found: " NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_2': events 1-4.*\n \|.*\n \| NN \| void test_2 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_2'.*\n \| NN \| \{.*\n \| NN \|
switch \(a\).*\n \| \| ~~~~~~\n \| \| \|.*\n \| \|
\(2\) following 'case 3:' branch\.\.\..*\n \|\.\.\.\.\.\..*\n \| NN \|
case 3:.*\n \| \| ~~~~\n \| \| \|.*\n \| \|
\(3\) \.\.\.to here.*\n \| NN \| calls_free_2 \(ptr\);.*\n \|
\| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(4\) calling 'calls_free_2' from 'test_2'.*\n \|.*\n \+-->
'calls_free_2': events 5-6.*\n \|.*\n \| NN \| void
calls_free_2 \(void \*ptr\).*\n \| \| \^~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(5\) entry to
'calls_free_2'.*\n \| NN \| \{.*\n \| NN \| free
\(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \| \|.*\n
\| \| \(6\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_2': events 7-10.*\n \|.*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(7\) returning to 'test_2' from
'calls_free_2'.*\n \|\.\.\.\.\.\..*\n \| NN \| switch \(b\).*\n \|
\| ~~~~~~\n \| \| \|.*\n \| \| \(8\) following
'default:' branch\.\.\..*\n \| NN \| \{.*\n \| NN \|
default:.*\n \| \| ~~~~~~~\n \| \| \|.*\n \| \|
\(9\) \.\.\.to here.*\n \| NN \| calls_free_2 \(ptr\);.*\n \|
\| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(10\) passing freed pointer 'ptr' in call to 'calls_free_2' from
'test_2'.*\n \|.*\n \+--> 'calls_free_2': events 11-12.*\n
\|.*\n \| NN \| void calls_free_2 \(void \*ptr\).*\n \|
\| \^~~~~~~~~~~~\n \| \| \|.*\n \|
\| \(11\) entry to 'calls_free_2'.*\n \| NN \| \{.*\n
\| NN \| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n
\| \| \|.*\n \| \| \(12\) second 'free' here; first
'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-2.c (test for excess errors)
FAIL: gcc.dg/analyzer/analyzer-verbosity-3.c expected multiline pattern lines
24-86 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_1': events 1-4.*\n \|.*\n \| NN \| void test_1 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_1'.*\n \| NN \| \{.*\n \| NN \| if
\(a\).*\n \| \| ~\n \| \| \|.*\n \| \|
\(2\) following 'true' branch \(when 'a != 0'\)\.\.\..*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(3\) \.\.\.to here.*\n \| \| \(4\)
calling 'calls_free_1' from 'test_1'.*\n \|.*\n \+--> 'calls_free_1':
events 5-6.*\n \|.*\n \| NN \| void calls_free_1 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(5\) entry to 'calls_free_1'.*\n \|
NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(6\) first
'free' here.*\n \|.*\n <------\+.*\n \|.*\n 'test_1': events
7-10.*\n \|.*\n \| NN \| calls_free_1 \(ptr\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(7\)
returning to 'test_1' from 'calls_free_1'.*\n \| NN \| .*\n \| NN \|
if \(b\).*\n \| \| ~\n \| \| \|.*\n \| \|
\(8\) following 'false' branch \(when 'b == 0'\)\.\.\..*\n
\|\.\.\.\.\.\..*\n \| NN \| calls_free_1 \(ptr\);.*\n \| \|
~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(9\) \.\.\.to
here.*\n \| \| \(10\) passing freed pointer 'ptr' in call to
'calls_free_1' from 'test_1'.*\n \|.*\n \+--> 'calls_free_1': events
11-12.*\n \|.*\n \| NN \| void calls_free_1 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(11\) entry to 'calls_free_1'.*\n
\| NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(12\)
second 'free' here; first 'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-3.c expected multiline pattern lines
120-189 not found: " NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_2': events 1-4.*\n \|.*\n \| NN \| void test_2 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_2'.*\n \| NN \| \{.*\n \| NN \|
switch \(a\).*\n \| \| ~~~~~~\n \| \| \|.*\n \| \|
\(2\) following 'case 3:' branch\.\.\..*\n \|\.\.\.\.\.\..*\n \| NN \|
case 3:.*\n \| \| ~~~~\n \| \| \|.*\n \| \|
\(3\) \.\.\.to here.*\n \| NN \| calls_free_2 \(ptr\);.*\n \|
\| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(4\) calling 'calls_free_2' from 'test_2'.*\n \|.*\n \+-->
'calls_free_2': events 5-6.*\n \|.*\n \| NN \| void
calls_free_2 \(void \*ptr\).*\n \| \| \^~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(5\) entry to
'calls_free_2'.*\n \| NN \| \{.*\n \| NN \| free
\(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \| \|.*\n
\| \| \(6\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_2': events 7-10.*\n \|.*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(7\) returning to 'test_2' from
'calls_free_2'.*\n \|\.\.\.\.\.\..*\n \| NN \| switch \(b\).*\n \|
\| ~~~~~~\n \| \| \|.*\n \| \| \(8\) following
'default:' branch\.\.\..*\n \| NN \| \{.*\n \| NN \|
default:.*\n \| \| ~~~~~~~\n \| \| \|.*\n \| \|
\(9\) \.\.\.to here.*\n \| NN \| calls_free_2 \(ptr\);.*\n \|
\| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(10\) passing freed pointer 'ptr' in call to 'calls_free_2' from
'test_2'.*\n \|.*\n \+--> 'calls_free_2': events 11-12.*\n
\|.*\n \| NN \| void calls_free_2 \(void \*ptr\).*\n \|
\| \^~~~~~~~~~~~\n \| \| \|.*\n \|
\| \(11\) entry to 'calls_free_2'.*\n \| NN \| \{.*\n
\| NN \| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n
\| \| \|.*\n \| \| \(12\) second 'free' here; first
'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-3.c (test for excess errors)
FAIL: gcc.dg/analyzer/data-model-path-1.c (test for warnings, line 11)
FAIL: gcc.dg/analyzer/function-ptr-2.c (test for excess errors)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 29)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 30)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 36)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 37)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 43)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 55)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 56)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 64)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 66)
XPASS: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 72)
FAIL: gcc.dg/analyzer/malloc-ipa-10.c (test for warnings, line 29)
FAIL: gcc.dg/analyzer/malloc-ipa-11.c expected multiline pattern lines 32-95
not found: "\s*NN \| free \(victim\);.*\n \| \^~~~~~~~~~~~~\n 'test':
events 1-2.*\n \|.*\n \| NN \| void test \(void \*ptr\).*\n \|
\| \^~~~\n \| \| \|.*\n \| \| \(1\) entry to
'test'.*\n \|\.\.\.\.\.\..*\n \| NN \| may_call_free \(ptr\);.*\n
\| \| ~~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(2\)
calling 'may_call_free' from 'test'.*\n \|.*\n \+--> 'may_call_free':
events 3-6.*\n \|.*\n \| NN \| may_call_free \(void
\*victim\).*\n \| \| \^~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(3\) entry to 'may_call_free'.*\n \|
NN \| \{.*\n \| NN \| if \(some_condition \(\)\).*\n \|
\| ~\n \| \| \|.*\n \| \|
\(4\) following 'false' branch\.\.\..*\n \|\.\.\.\.\.\..*\n
\| NN \| free \(victim\);.*\n \| \| ~~~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(5\) \.\.\.to here.*\n
\| \| \(6\) first 'free' here.*\n \|.*\n <------\+.*\n
\|.*\n 'test': events 7-8.*\n \|.*\n \| NN \| may_call_free
\(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(7\) returning to 'test' from 'may_call_free'.*\n
\|\.\.\.\.\.\..*\n \| NN \| may_call_free \(ptr\);.*\n \| \|
~~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(8\) passing
freed pointer 'ptr' in call to 'may_call_free' from 'test'.*\n \|.*\n
\+--> 'may_call_free': events 9-12.*\n \|.*\n \| NN \|
may_call_free \(void \*victim\).*\n \| \| \^~~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(9\) entry to 'may_call_free'.*\n
\| NN \| \{.*\n \| NN \| if \(some_condition \(\)\).*\n
\| \| ~\n \| \| \|.*\n \|
\| \(10\) following 'false' branch\.\.\..*\n \|\.\.\.\.\.\..*\n
\| NN \| free \(victim\);.*\n \| \|
~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(11\)
\.\.\.to here.*\n \| \| \(12\) second 'free' here; first
'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/malloc-ipa-11.c (test for excess errors)
FAIL: gcc.dg/analyzer/malloc-ipa-13.c (test for warnings, line 26)
FAIL: gcc.dg/analyzer/malloc-ipa-13a.c (test for warnings, line 36)
FAIL: gcc.dg/analyzer/malloc-ipa-2.c (test for warnings, line 28)
FAIL: gcc.dg/analyzer/malloc-ipa-5.c (test for warnings, line 10)
FAIL: gcc.dg/analyzer/malloc-ipa-8-double-free.c expected multiline pattern
lines 50-191 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test': events 1-2.*\n \|.*\n \| NN \| void test \(int i\).*\n \|
\| \^~~~\n \| \| \|.*\n \| \| \(1\) entry to
'test'.*\n \| NN \| \{.*\n \| NN \| boxed_int \*obj =
make_boxed_int \(i\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(2\)
calling 'make_boxed_int' from 'test'.*\n \|.*\n \+--> 'make_boxed_int':
events 3-4.*\n \|.*\n \| NN \| make_boxed_int \(int
i\).*\n \| \| \^~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(3\) entry to 'make_boxed_int'.*\n \| NN \| \{.*\n
\| NN \| boxed_int \*result = \(boxed_int \*\)wrapped_malloc
\(sizeof \(boxed_int\)\);.*\n \| \|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \|
\(4\) calling 'wrapped_malloc' from 'make_boxed_int'.*\n \|.*\n
\+--> 'wrapped_malloc': events 5-6.*\n \|.*\n
\| NN \| void \*wrapped_malloc \(size_t size\).*\n \|
\| \^~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(5\) entry to 'wrapped_malloc'.*\n
\| NN \| \{.*\n \| NN \| return malloc \(size\);.*\n
\| \| ~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(6\) allocated here.*\n
\|.*\n <------\+.*\n \|.*\n
'make_boxed_int': events 7-10.*\n \|.*\n \| NN \|
boxed_int \*result = \(boxed_int \*\)wrapped_malloc \(sizeof
\(boxed_int\)\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \|
\(7\) returning to 'make_boxed_int' from 'wrapped_malloc'.*\n \| NN
\| if \(!result\).*\n \| \| ~
.*\n \| \| \|.*\n \| \| \(8\) assuming
'result' is non-NULL.*\n \| \| \(9\) following 'false'
branch \(when 'result' is non-NULL\)\.\.\..*\n \| NN \| abort
\(\);.*\n \| NN \| result->i = i;.*\n \| \|
~~~~~~~~~~~~~ .*\n \| \| \|.*\n
\| \| \(10\) \.\.\.to here.*\n \|.*\n
<------\+.*\n \|.*\n 'test': events 11-12.*\n \|.*\n \| NN \|
boxed_int \*obj = make_boxed_int \(i\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(11\) returning to 'test' from 'make_boxed_int'.*\n \| NN
\| .*\n \| NN \| free_boxed_int \(obj\);.*\n \| \|
~~~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(12\) calling
'free_boxed_int' from 'test'.*\n \|.*\n \+--> 'free_boxed_int': events
13-14.*\n \|.*\n \| NN \| free_boxed_int \(boxed_int
\*bi\).*\n \| \| \^~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(13\) entry to 'free_boxed_int'.*\n \| NN \|
\{.*\n \| NN \| wrapped_free \(bi\);.*\n \| \|
~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(14\)
calling 'wrapped_free' from 'free_boxed_int'.*\n \|.*\n
\+--> 'wrapped_free': events 15-16.*\n \|.*\n
\| NN \| void wrapped_free \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n \|
\| \(15\) entry to 'wrapped_free'.*\n \| NN \| \{.*\n
\| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \|
\(16\) first 'free' here.*\n \|.*\n <------\+.*\n
\|.*\n 'free_boxed_int': event 17.*\n \|.*\n
\| NN \| wrapped_free \(bi\);.*\n \| \|
\^~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(17\) returning to 'free_boxed_int' from 'wrapped_free'.*\n \|.*\n
<------\+.*\n \|.*\n 'test': events 18-19.*\n \|.*\n \| NN \|
free_boxed_int \(obj\);.*\n \| \| \^~~~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(18\) returning to 'test' from
'free_boxed_int'.*\n \| NN \| .*\n \| NN \| free_boxed_int
\(obj\);.*\n \| \| ~~~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(19\) passing freed pointer 'obj' in call to 'free_boxed_int'
from 'test'.*\n \|.*\n \+--> 'free_boxed_int': events 20-21.*\n
\|.*\n \| NN \| free_boxed_int \(boxed_int \*bi\).*\n \|
\| \^~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(20\) entry to 'free_boxed_int'.*\n \| NN \| \{.*\n \|
NN \| wrapped_free \(bi\);.*\n \| \| ~~~~~~~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(21\) passing freed pointer
'bi' in call to 'wrapped_free' from 'free_boxed_int'.*\n \|.*\n
\+--> 'wrapped_free': events 22-23.*\n \|.*\n
\| NN \| void wrapped_free \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(22\) entry to 'wrapped_free'.*\n \| NN \|
\{.*\n \| NN \| free \(ptr\);.*\n \|
\| ~~~~~~~~~~\n \| \| \|.*\n \|
\| \(23\) second 'free' here; first 'free' was at \(16\).*\n
\|.*\n"
FAIL: gcc.dg/analyzer/malloc-ipa-8-double-free.c (test for excess errors)
FAIL: gcc.dg/analyzer/malloc-ipa-8-unchecked.c expected multiline pattern lines
28-66 not found: "\s*NN \| result->i = i;.*\n \| ~~~~~~~~~~\^~~\n
'make_boxed_int': events 1-2.*\n \|.*\n \| NN \| make_boxed_int \(int
i\).*\n \| \| \^~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(1\) entry to 'make_boxed_int'.*\n \| NN \| \{.*\n \| NN \|
boxed_int \*result = \(boxed_int \*\)wrapped_malloc \(sizeof
\(boxed_int\)\);.*\n \| \|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(2\) calling
'wrapped_malloc' from 'make_boxed_int'.*\n \|.*\n \+--> 'wrapped_malloc':
events 3-4.*\n \|.*\n \| NN \| void \*wrapped_malloc
\(size_t size\).*\n \| \| \^~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(3\) entry to
'wrapped_malloc'.*\n \| NN \| \{.*\n \| NN \| return
malloc \(size\);.*\n \| \| ~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(4\) this call could
return NULL.*\n \|.*\n <------\+.*\n \|.*\n 'make_boxed_int':
events 5-6.*\n \|.*\n \| NN \| boxed_int \*result = \(boxed_int
\*\)wrapped_malloc \(sizeof \(boxed_int\)\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \|
\(5\) possible return of NULL to 'make_boxed_int' from 'wrapped_malloc'.*\n
\| NN \| result->i = i;.*\n \| \| ~~~~~~~~~~~~~
.*\n \| \| \|.*\n \| \| \(6\)
'result' could be NULL: unchecked value from \(4\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/malloc-ipa-8-unchecked.c (test for excess errors)
FAIL: gcc.dg/analyzer/pr101503.c (internal compiler error)
FAIL: gcc.dg/analyzer/pr101503.c (test for excess errors)
FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 50)
FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 60)
Running
/home/david/coding/gcc-newgit-clean/src/gcc/testsuite/gcc.dg/analyzer/torture/analyzer-torture.exp
...
=== gcc Summary for unix/-m32 ===
# of expected passes 2687
# of unexpected failures 38
# of unexpected successes 1
# of expected failures 129
# of unsupported tests 59
Running target unix/-m64
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/david/coding/gcc-newgit-clean/src/gcc/testsuite/config/default.exp
as tool-and-target-specific interface file.
Running
/home/david/coding/gcc-newgit-clean/src/gcc/testsuite/gcc.dg/analyzer/analyzer.exp
...
FAIL: gcc.dg/analyzer/analyzer-verbosity-0.c expected multiline pattern lines
24-60 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_1': event 1.*\n \|.*\n \| NN \| calls_free_1 \(ptr\);.*\n
\| \| \^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(1\) calling 'calls_free_1' from 'test_1'.*\n \|.*\n \+-->
'calls_free_1': event 2.*\n \|.*\n \| NN \| free
\(ptr\);.*\n \| \| \^~~~~~~~~~\n \| \| \|.*\n
\| \| \(2\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_1': events 3-4.*\n \|.*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(3\) returning to 'test_1' from
'calls_free_1'.*\n \|\.\.\.\.\.\..*\n \| NN \| calls_free_1
\(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(4\) passing freed pointer 'ptr' in call to 'calls_free_1' from
'test_1'.*\n \|.*\n \+--> 'calls_free_1': event 5.*\n \|.*\n
\| NN \| free \(ptr\);.*\n \| \| \^~~~~~~~~~\n
\| \| \|.*\n \| \| \(5\) second 'free' here; first
'free' was at \(2\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-0.c expected multiline pattern lines
94-130 not found: " NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_2': event 1.*\n \|.*\n \| NN \| calls_free_2 \(ptr\);.*\n
\| \| \^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \|
\| \(1\) calling 'calls_free_2' from 'test_2'.*\n \|.*\n \+-->
'calls_free_2': event 2.*\n \|.*\n \| NN \| free
\(ptr\);.*\n \| \| \^~~~~~~~~~\n \| \| \|.*\n
\| \| \(2\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_2': events 3-4.*\n \|.*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(3\) returning to 'test_2' from
'calls_free_2'.*\n \|\.\.\.\.\.\..*\n \| NN \| calls_free_2
\(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(4\) passing freed pointer 'ptr' in call to
'calls_free_2' from 'test_2'.*\n \|.*\n \+--> 'calls_free_2': event 5.*\n
\|.*\n \| NN \| free \(ptr\);.*\n \| \|
\^~~~~~~~~~\n \| \| \|.*\n \| \| \(5\)
second 'free' here; first 'free' was at \(2\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-0.c (test for excess errors)
FAIL: gcc.dg/analyzer/analyzer-verbosity-1.c expected multiline pattern lines
24-75 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_1': events 1-2.*\n \|.*\n \| NN \| void test_1 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_1'.*\n \|\.\.\.\.\.\..*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(2\) calling 'calls_free_1' from 'test_1'.*\n
\|.*\n \+--> 'calls_free_1': events 3-4.*\n \|.*\n \|
NN \| void calls_free_1 \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(3\) entry to 'calls_free_1'.*\n \| NN \| \{.*\n \| NN
\| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \|
\|.*\n \| \| \(4\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_1': events 5-6.*\n \|.*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(5\) returning to 'test_1' from
'calls_free_1'.*\n \|\.\.\.\.\.\..*\n \| NN \| calls_free_1
\(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(6\) passing freed pointer 'ptr' in call to 'calls_free_1' from
'test_1'.*\n \|.*\n \+--> 'calls_free_1': events 7-8.*\n \|.*\n
\| NN \| void calls_free_1 \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(7\) entry to 'calls_free_1'.*\n \| NN \| \{.*\n \| NN
\| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \|
\|.*\n \| \| \(8\) second 'free' here; first 'free' was at
\(4\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-1.c expected multiline pattern lines
109-160 not found: " NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_2': events 1-2.*\n \|.*\n \| NN \| void test_2 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_2'.*\n \|\.\.\.\.\.\..*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(2\) calling 'calls_free_2' from
'test_2'.*\n \|.*\n \+--> 'calls_free_2': events 3-4.*\n \|.*\n
\| NN \| void calls_free_2 \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(3\) entry to 'calls_free_2'.*\n \| NN \| \{.*\n \| NN
\| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \|
\|.*\n \| \| \(4\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_2': events 5-6.*\n \|.*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(5\) returning to 'test_2' from
'calls_free_2'.*\n \|\.\.\.\.\.\..*\n \| NN \| calls_free_2
\(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(6\) passing freed pointer 'ptr' in call to
'calls_free_2' from 'test_2'.*\n \|.*\n \+--> 'calls_free_2': events
7-8.*\n \|.*\n \| NN \| void calls_free_2 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(7\) entry to 'calls_free_2'.*\n \|
NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(8\) second
'free' here; first 'free' was at \(4\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-1.c (test for excess errors)
FAIL: gcc.dg/analyzer/analyzer-verbosity-2.c expected multiline pattern lines
24-86 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_1': events 1-4.*\n \|.*\n \| NN \| void test_1 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_1'.*\n \| NN \| \{.*\n \| NN \| if
\(a\).*\n \| \| ~\n \| \| \|.*\n \| \|
\(2\) following 'true' branch \(when 'a != 0'\)\.\.\..*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(3\) \.\.\.to here.*\n \| \| \(4\)
calling 'calls_free_1' from 'test_1'.*\n \|.*\n \+--> 'calls_free_1':
events 5-6.*\n \|.*\n \| NN \| void calls_free_1 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(5\) entry to 'calls_free_1'.*\n \|
NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(6\) first
'free' here.*\n \|.*\n <------\+.*\n \|.*\n 'test_1': events
7-10.*\n \|.*\n \| NN \| calls_free_1 \(ptr\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(7\)
returning to 'test_1' from 'calls_free_1'.*\n \| NN \| .*\n \| NN \|
if \(b\).*\n \| \| ~\n \| \| \|.*\n \| \|
\(8\) following 'false' branch \(when 'b == 0'\)\.\.\..*\n
\|\.\.\.\.\.\..*\n \| NN \| calls_free_1 \(ptr\);.*\n \| \|
~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(9\) \.\.\.to
here.*\n \| \| \(10\) passing freed pointer 'ptr' in call to
'calls_free_1' from 'test_1'.*\n \|.*\n \+--> 'calls_free_1': events
11-12.*\n \|.*\n \| NN \| void calls_free_1 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(11\) entry to 'calls_free_1'.*\n
\| NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(12\)
second 'free' here; first 'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-2.c expected multiline pattern lines
120-189 not found: " NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_2': events 1-4.*\n \|.*\n \| NN \| void test_2 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_2'.*\n \| NN \| \{.*\n \| NN \|
switch \(a\).*\n \| \| ~~~~~~\n \| \| \|.*\n \| \|
\(2\) following 'case 3:' branch\.\.\..*\n \|\.\.\.\.\.\..*\n \| NN \|
case 3:.*\n \| \| ~~~~\n \| \| \|.*\n \| \|
\(3\) \.\.\.to here.*\n \| NN \| calls_free_2 \(ptr\);.*\n \|
\| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(4\) calling 'calls_free_2' from 'test_2'.*\n \|.*\n \+-->
'calls_free_2': events 5-6.*\n \|.*\n \| NN \| void
calls_free_2 \(void \*ptr\).*\n \| \| \^~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(5\) entry to
'calls_free_2'.*\n \| NN \| \{.*\n \| NN \| free
\(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \| \|.*\n
\| \| \(6\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_2': events 7-10.*\n \|.*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(7\) returning to 'test_2' from
'calls_free_2'.*\n \|\.\.\.\.\.\..*\n \| NN \| switch \(b\).*\n \|
\| ~~~~~~\n \| \| \|.*\n \| \| \(8\) following
'default:' branch\.\.\..*\n \| NN \| \{.*\n \| NN \|
default:.*\n \| \| ~~~~~~~\n \| \| \|.*\n \| \|
\(9\) \.\.\.to here.*\n \| NN \| calls_free_2 \(ptr\);.*\n \|
\| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(10\) passing freed pointer 'ptr' in call to 'calls_free_2' from
'test_2'.*\n \|.*\n \+--> 'calls_free_2': events 11-12.*\n
\|.*\n \| NN \| void calls_free_2 \(void \*ptr\).*\n \|
\| \^~~~~~~~~~~~\n \| \| \|.*\n \|
\| \(11\) entry to 'calls_free_2'.*\n \| NN \| \{.*\n
\| NN \| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n
\| \| \|.*\n \| \| \(12\) second 'free' here; first
'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-2.c (test for excess errors)
FAIL: gcc.dg/analyzer/analyzer-verbosity-3.c expected multiline pattern lines
24-86 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_1': events 1-4.*\n \|.*\n \| NN \| void test_1 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_1'.*\n \| NN \| \{.*\n \| NN \| if
\(a\).*\n \| \| ~\n \| \| \|.*\n \| \|
\(2\) following 'true' branch \(when 'a != 0'\)\.\.\..*\n \| NN \|
calls_free_1 \(ptr\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(3\) \.\.\.to here.*\n \| \| \(4\)
calling 'calls_free_1' from 'test_1'.*\n \|.*\n \+--> 'calls_free_1':
events 5-6.*\n \|.*\n \| NN \| void calls_free_1 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(5\) entry to 'calls_free_1'.*\n \|
NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(6\) first
'free' here.*\n \|.*\n <------\+.*\n \|.*\n 'test_1': events
7-10.*\n \|.*\n \| NN \| calls_free_1 \(ptr\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(7\)
returning to 'test_1' from 'calls_free_1'.*\n \| NN \| .*\n \| NN \|
if \(b\).*\n \| \| ~\n \| \| \|.*\n \| \|
\(8\) following 'false' branch \(when 'b == 0'\)\.\.\..*\n
\|\.\.\.\.\.\..*\n \| NN \| calls_free_1 \(ptr\);.*\n \| \|
~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(9\) \.\.\.to
here.*\n \| \| \(10\) passing freed pointer 'ptr' in call to
'calls_free_1' from 'test_1'.*\n \|.*\n \+--> 'calls_free_1': events
11-12.*\n \|.*\n \| NN \| void calls_free_1 \(void
\*ptr\).*\n \| \| \^~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(11\) entry to 'calls_free_1'.*\n
\| NN \| \{.*\n \| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \| \(12\)
second 'free' here; first 'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-3.c expected multiline pattern lines
120-189 not found: " NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test_2': events 1-4.*\n \|.*\n \| NN \| void test_2 \(void \*ptr, int
a, int b\).*\n \| \| \^~~~~~\n \| \| \|.*\n \|
\| \(1\) entry to 'test_2'.*\n \| NN \| \{.*\n \| NN \|
switch \(a\).*\n \| \| ~~~~~~\n \| \| \|.*\n \| \|
\(2\) following 'case 3:' branch\.\.\..*\n \|\.\.\.\.\.\..*\n \| NN \|
case 3:.*\n \| \| ~~~~\n \| \| \|.*\n \| \|
\(3\) \.\.\.to here.*\n \| NN \| calls_free_2 \(ptr\);.*\n \|
\| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(4\) calling 'calls_free_2' from 'test_2'.*\n \|.*\n \+-->
'calls_free_2': events 5-6.*\n \|.*\n \| NN \| void
calls_free_2 \(void \*ptr\).*\n \| \| \^~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(5\) entry to
'calls_free_2'.*\n \| NN \| \{.*\n \| NN \| free
\(ptr\);.*\n \| \| ~~~~~~~~~~\n \| \| \|.*\n
\| \| \(6\) first 'free' here.*\n \|.*\n
<------\+.*\n \|.*\n 'test_2': events 7-10.*\n \|.*\n \| NN \|
calls_free_2 \(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(7\) returning to 'test_2' from
'calls_free_2'.*\n \|\.\.\.\.\.\..*\n \| NN \| switch \(b\).*\n \|
\| ~~~~~~\n \| \| \|.*\n \| \| \(8\) following
'default:' branch\.\.\..*\n \| NN \| \{.*\n \| NN \|
default:.*\n \| \| ~~~~~~~\n \| \| \|.*\n \| \|
\(9\) \.\.\.to here.*\n \| NN \| calls_free_2 \(ptr\);.*\n \|
\| ~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(10\) passing freed pointer 'ptr' in call to 'calls_free_2' from
'test_2'.*\n \|.*\n \+--> 'calls_free_2': events 11-12.*\n
\|.*\n \| NN \| void calls_free_2 \(void \*ptr\).*\n \|
\| \^~~~~~~~~~~~\n \| \| \|.*\n \|
\| \(11\) entry to 'calls_free_2'.*\n \| NN \| \{.*\n
\| NN \| free \(ptr\);.*\n \| \| ~~~~~~~~~~\n
\| \| \|.*\n \| \| \(12\) second 'free' here; first
'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/analyzer-verbosity-3.c (test for excess errors)
FAIL: gcc.dg/analyzer/data-model-path-1.c (test for warnings, line 11)
FAIL: gcc.dg/analyzer/function-ptr-2.c (test for excess errors)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 29)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 30)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 36)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 37)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 43)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 55)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 56)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 64)
FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 66)
XPASS: gcc.dg/analyzer/malloc-callbacks.c (test for warnings, line 72)
FAIL: gcc.dg/analyzer/malloc-ipa-10.c (test for warnings, line 29)
FAIL: gcc.dg/analyzer/malloc-ipa-11.c expected multiline pattern lines 32-95
not found: "\s*NN \| free \(victim\);.*\n \| \^~~~~~~~~~~~~\n 'test':
events 1-2.*\n \|.*\n \| NN \| void test \(void \*ptr\).*\n \|
\| \^~~~\n \| \| \|.*\n \| \| \(1\) entry to
'test'.*\n \|\.\.\.\.\.\..*\n \| NN \| may_call_free \(ptr\);.*\n
\| \| ~~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(2\)
calling 'may_call_free' from 'test'.*\n \|.*\n \+--> 'may_call_free':
events 3-6.*\n \|.*\n \| NN \| may_call_free \(void
\*victim\).*\n \| \| \^~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(3\) entry to 'may_call_free'.*\n \|
NN \| \{.*\n \| NN \| if \(some_condition \(\)\).*\n \|
\| ~\n \| \| \|.*\n \| \|
\(4\) following 'false' branch\.\.\..*\n \|\.\.\.\.\.\..*\n
\| NN \| free \(victim\);.*\n \| \| ~~~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(5\) \.\.\.to here.*\n
\| \| \(6\) first 'free' here.*\n \|.*\n <------\+.*\n
\|.*\n 'test': events 7-8.*\n \|.*\n \| NN \| may_call_free
\(ptr\);.*\n \| \| \^~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(7\) returning to 'test' from 'may_call_free'.*\n
\|\.\.\.\.\.\..*\n \| NN \| may_call_free \(ptr\);.*\n \| \|
~~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(8\) passing
freed pointer 'ptr' in call to 'may_call_free' from 'test'.*\n \|.*\n
\+--> 'may_call_free': events 9-12.*\n \|.*\n \| NN \|
may_call_free \(void \*victim\).*\n \| \| \^~~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(9\) entry to 'may_call_free'.*\n
\| NN \| \{.*\n \| NN \| if \(some_condition \(\)\).*\n
\| \| ~\n \| \| \|.*\n \|
\| \(10\) following 'false' branch\.\.\..*\n \|\.\.\.\.\.\..*\n
\| NN \| free \(victim\);.*\n \| \|
~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(11\)
\.\.\.to here.*\n \| \| \(12\) second 'free' here; first
'free' was at \(6\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/malloc-ipa-11.c (test for excess errors)
FAIL: gcc.dg/analyzer/malloc-ipa-13.c (test for warnings, line 26)
FAIL: gcc.dg/analyzer/malloc-ipa-13a.c (test for warnings, line 36)
FAIL: gcc.dg/analyzer/malloc-ipa-2.c (test for warnings, line 28)
FAIL: gcc.dg/analyzer/malloc-ipa-5.c (test for warnings, line 10)
FAIL: gcc.dg/analyzer/malloc-ipa-8-double-free.c expected multiline pattern
lines 50-191 not found: "\s*NN \| free \(ptr\);.*\n \| \^~~~~~~~~~\n
'test': events 1-2.*\n \|.*\n \| NN \| void test \(int i\).*\n \|
\| \^~~~\n \| \| \|.*\n \| \| \(1\) entry to
'test'.*\n \| NN \| \{.*\n \| NN \| boxed_int \*obj =
make_boxed_int \(i\);.*\n \| \| ~~~~~~~~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(2\)
calling 'make_boxed_int' from 'test'.*\n \|.*\n \+--> 'make_boxed_int':
events 3-4.*\n \|.*\n \| NN \| make_boxed_int \(int
i\).*\n \| \| \^~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(3\) entry to 'make_boxed_int'.*\n \| NN \| \{.*\n
\| NN \| boxed_int \*result = \(boxed_int \*\)wrapped_malloc
\(sizeof \(boxed_int\)\);.*\n \| \|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \|
\(4\) calling 'wrapped_malloc' from 'make_boxed_int'.*\n \|.*\n
\+--> 'wrapped_malloc': events 5-6.*\n \|.*\n
\| NN \| void \*wrapped_malloc \(size_t size\).*\n \|
\| \^~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(5\) entry to 'wrapped_malloc'.*\n
\| NN \| \{.*\n \| NN \| return malloc \(size\);.*\n
\| \| ~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(6\) allocated here.*\n
\|.*\n <------\+.*\n \|.*\n
'make_boxed_int': events 7-10.*\n \|.*\n \| NN \|
boxed_int \*result = \(boxed_int \*\)wrapped_malloc \(sizeof
\(boxed_int\)\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \|
\(7\) returning to 'make_boxed_int' from 'wrapped_malloc'.*\n \| NN
\| if \(!result\).*\n \| \| ~
.*\n \| \| \|.*\n \| \| \(8\) assuming
'result' is non-NULL.*\n \| \| \(9\) following 'false'
branch \(when 'result' is non-NULL\)\.\.\..*\n \| NN \| abort
\(\);.*\n \| NN \| result->i = i;.*\n \| \|
~~~~~~~~~~~~~ .*\n \| \| \|.*\n
\| \| \(10\) \.\.\.to here.*\n \|.*\n
<------\+.*\n \|.*\n 'test': events 11-12.*\n \|.*\n \| NN \|
boxed_int \*obj = make_boxed_int \(i\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(11\) returning to 'test' from 'make_boxed_int'.*\n \| NN
\| .*\n \| NN \| free_boxed_int \(obj\);.*\n \| \|
~~~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(12\) calling
'free_boxed_int' from 'test'.*\n \|.*\n \+--> 'free_boxed_int': events
13-14.*\n \|.*\n \| NN \| free_boxed_int \(boxed_int
\*bi\).*\n \| \| \^~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(13\) entry to 'free_boxed_int'.*\n \| NN \|
\{.*\n \| NN \| wrapped_free \(bi\);.*\n \| \|
~~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \| \(14\)
calling 'wrapped_free' from 'free_boxed_int'.*\n \|.*\n
\+--> 'wrapped_free': events 15-16.*\n \|.*\n
\| NN \| void wrapped_free \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n \|
\| \(15\) entry to 'wrapped_free'.*\n \| NN \| \{.*\n
\| NN \| free \(ptr\);.*\n \| \|
~~~~~~~~~~\n \| \| \|.*\n \| \|
\(16\) first 'free' here.*\n \|.*\n <------\+.*\n
\|.*\n 'free_boxed_int': event 17.*\n \|.*\n
\| NN \| wrapped_free \(bi\);.*\n \| \|
\^~~~~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(17\) returning to 'free_boxed_int' from 'wrapped_free'.*\n \|.*\n
<------\+.*\n \|.*\n 'test': events 18-19.*\n \|.*\n \| NN \|
free_boxed_int \(obj\);.*\n \| \| \^~~~~~~~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(18\) returning to 'test' from
'free_boxed_int'.*\n \| NN \| .*\n \| NN \| free_boxed_int
\(obj\);.*\n \| \| ~~~~~~~~~~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(19\) passing freed pointer 'obj' in call to 'free_boxed_int'
from 'test'.*\n \|.*\n \+--> 'free_boxed_int': events 20-21.*\n
\|.*\n \| NN \| free_boxed_int \(boxed_int \*bi\).*\n \|
\| \^~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(20\) entry to 'free_boxed_int'.*\n \| NN \| \{.*\n \|
NN \| wrapped_free \(bi\);.*\n \| \| ~~~~~~~~~~~~~~~~~\n
\| \| \|.*\n \| \| \(21\) passing freed pointer
'bi' in call to 'wrapped_free' from 'free_boxed_int'.*\n \|.*\n
\+--> 'wrapped_free': events 22-23.*\n \|.*\n
\| NN \| void wrapped_free \(void \*ptr\).*\n \| \|
\^~~~~~~~~~~~\n \| \| \|.*\n
\| \| \(22\) entry to 'wrapped_free'.*\n \| NN \|
\{.*\n \| NN \| free \(ptr\);.*\n \|
\| ~~~~~~~~~~\n \| \| \|.*\n \|
\| \(23\) second 'free' here; first 'free' was at \(16\).*\n
\|.*\n"
FAIL: gcc.dg/analyzer/malloc-ipa-8-double-free.c (test for excess errors)
FAIL: gcc.dg/analyzer/malloc-ipa-8-unchecked.c expected multiline pattern lines
28-66 not found: "\s*NN \| result->i = i;.*\n \| ~~~~~~~~~~\^~~\n
'make_boxed_int': events 1-2.*\n \|.*\n \| NN \| make_boxed_int \(int
i\).*\n \| \| \^~~~~~~~~~~~~~\n \| \| \|.*\n \| \|
\(1\) entry to 'make_boxed_int'.*\n \| NN \| \{.*\n \| NN \|
boxed_int \*result = \(boxed_int \*\)wrapped_malloc \(sizeof
\(boxed_int\)\);.*\n \| \|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \| \(2\) calling
'wrapped_malloc' from 'make_boxed_int'.*\n \|.*\n \+--> 'wrapped_malloc':
events 3-4.*\n \|.*\n \| NN \| void \*wrapped_malloc
\(size_t size\).*\n \| \| \^~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(3\) entry to
'wrapped_malloc'.*\n \| NN \| \{.*\n \| NN \| return
malloc \(size\);.*\n \| \| ~~~~~~~~~~~~~\n \|
\| \|.*\n \| \| \(4\) this call could
return NULL.*\n \|.*\n <------\+.*\n \|.*\n 'make_boxed_int':
events 5-6.*\n \|.*\n \| NN \| boxed_int \*result = \(boxed_int
\*\)wrapped_malloc \(sizeof \(boxed_int\)\);.*\n \| \|
\^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n \| \|
\|.*\n \| \|
\(5\) possible return of NULL to 'make_boxed_int' from 'wrapped_malloc'.*\n
\| NN \| result->i = i;.*\n \| \| ~~~~~~~~~~~~~
.*\n \| \| \|.*\n \| \| \(6\)
'result' could be NULL: unchecked value from \(4\).*\n \|.*\n"
FAIL: gcc.dg/analyzer/malloc-ipa-8-unchecked.c (test for excess errors)
FAIL: gcc.dg/analyzer/pr101503.c (internal compiler error)
FAIL: gcc.dg/analyzer/pr101503.c (test for excess errors)
FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 50)
FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 60)
Running
/home/david/coding/gcc-newgit-clean/src/gcc/testsuite/gcc.dg/analyzer/torture/analyzer-torture.exp
...
=== gcc Summary for unix/-m64 ===
# of expected passes 2842
# of unexpected failures 38
# of unexpected successes 1
# of expected failures 129
# of unsupported tests 19
=== gcc Summary ===
# of expected passes 5529
# of unexpected failures 76
# of unexpected successes 2
# of expected failures 258
# of unsupported tests 78
/home/david/coding/gcc-newgit-clean/build/gcc/xgcc version 12.0.0 20210818
(experimental) (GCC)
make[1]: Leaving directory '/home/david/coding/gcc-newgit-clean/build/gcc'