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'