public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002
@ 2021-08-19 14:50 seurer at gcc dot gnu.org
  2021-08-19 15:06 ` [Bug analyzer/101980] " dmalcolm at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: seurer at gcc dot gnu.org @ 2021-08-19 14:50 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

            Bug ID: 101980
           Summary: [12 regressions] many test case failures after
                    r12-3002
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: analyzer
          Assignee: dmalcolm at gcc dot gnu.org
          Reporter: seurer at gcc dot gnu.org
  Target Milestone: ---

g:aef703cf982072427e74034f4c460a11c5e04b8e, r12-3002

FAIL: g++.dg/analyzer/malloc.C  -std=c++14  (test for warnings, line 24)
FAIL: g++.dg/analyzer/malloc.C  -std=c++17  (test for warnings, line 24)
FAIL: g++.dg/analyzer/malloc.C  -std=c++2a  (test for warnings, line 24)
FAIL: g++.dg/analyzer/malloc.C  -std=c++98  (test for warnings, line 24)
FAIL: gcc.dg/analyzer/analyzer-verbosity-0.c (test for excess errors)
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-1.c (test for excess errors)
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 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-2.c (test for excess errors)
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 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 (test for excess errors)
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 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/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)
FAIL: gcc.dg/analyzer/malloc-ipa-10.c  (test for warnings, line 29)
FAIL: gcc.dg/analyzer/malloc-ipa-11.c (test for excess errors)
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-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 (test for excess errors)
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-unchecked.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/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)
FAIL: gfortran.dg/analyzer/pr96949.f90   -O  (internal compiler error)
FAIL: gfortran.dg/analyzer/pr96949.f90   -O  (test for excess errors)

commit aef703cf982072427e74034f4c460a11c5e04b8e (HEAD, refs/bisect/bad)
Author: Ankur Saini <arsenic@sourceware.org>
Date:   Thu Jul 29 15:48:07 2021 +0530

    analyzer: detect and analyze calls via function pointer

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug analyzer/101980] [12 regressions] many test case failures after r12-3002
  2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
@ 2021-08-19 15:06 ` dmalcolm at gcc dot gnu.org
  2021-08-20  8:28 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2021-08-19 15:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

David Malcolm <dmalcolm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2021-08-19
     Ever confirmed|0                           |1

--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Confirmed

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug analyzer/101980] [12 regressions] many test case failures after r12-3002
  2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
  2021-08-19 15:06 ` [Bug analyzer/101980] " dmalcolm at gcc dot gnu.org
@ 2021-08-20  8:28 ` rguenth at gcc dot gnu.org
  2021-08-21  5:04 ` cvs-commit at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-08-20  8:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |12.0

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug analyzer/101980] [12 regressions] many test case failures after r12-3002
  2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
  2021-08-19 15:06 ` [Bug analyzer/101980] " dmalcolm at gcc dot gnu.org
  2021-08-20  8:28 ` rguenth at gcc dot gnu.org
@ 2021-08-21  5:04 ` cvs-commit at gcc dot gnu.org
  2021-08-23 14:29 ` arsenic at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-08-21  5:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Ankur saini <arsenic@gcc.gnu.org>:

https://gcc.gnu.org/g:e92d0ff6b5e6d4b95c04fc3e326d40efeb136086

commit r12-3052-ge92d0ff6b5e6d4b95c04fc3e326d40efeb136086
Author: Ankur Saini <arsenic@sourceware.org>
Date:   Thu Aug 19 19:54:56 2021 +0530

    analyzer: Fix PR analyzer/101980

    2021-08-19  Ankur Saini  <arsenic@sourceware.org>

    gcc/analyzer/ChangeLog:
            PR analyzer/101980
            * diagnostic-manager.cc
            (diagnostic_manager::prune_for_sm_diagnostic)<case EK_CALL_EDGE>:
Use
            caller_model only when the supergraph_edge doesn't exixt.
            (diagnostic_manager::prune_for_sm_diagnostic)<case EK_RETURN_EDGE>:
            Likewise.
            * engine.cc (exploded_graph::create_dynamic_call): Rename to...
            (exploded_graph::maybe_create_dynamic_call): ...this, return call
            creation status.
            (exploded_graph::process_node): Handle calls which were not
dynamically
            discovered.
            * exploded-graph.h (exploded_graph::create_dynamic_call): Rename
to...
            (exploded_graph::maybe_create_dynamic_call): ...this.
            * region-model.cc (region_model::update_for_gcall): New param, use
it
            to push call to frame.
            (region_model::update_for_call_superedge): Pass callee function to
            update_for_gcall.
            * region-model.h (region_model::update_for_gcall): New param.

    gcc/testsuite/ChangeLog:
            PR analyzer/101980
            * gcc.dg/analyzer/function-ptr-2.c : Add issue for double 'free'.
            * gcc.dg/analyzer/malloc-callbacks.c : Fix xfail testcase.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug analyzer/101980] [12 regressions] many test case failures after r12-3002
  2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-08-21  5:04 ` cvs-commit at gcc dot gnu.org
@ 2021-08-23 14:29 ` arsenic at gcc dot gnu.org
  2021-08-24 23:07 ` hp at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: arsenic at gcc dot gnu.org @ 2021-08-23 14:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

Ankur Saini <arsenic at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
           Assignee|dmalcolm at gcc dot gnu.org        |arsenic at gcc dot gnu.org
             Status|NEW                         |RESOLVED

--- Comment #3 from Ankur Saini <arsenic at gcc dot gnu.org> ---
Fixed after the following commits:
e92d0ff6b5e6d4b95c04fc3e326d40efeb136086
537878152ded8b7d271333b803b36c27a9aea8d2

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug analyzer/101980] [12 regressions] many test case failures after r12-3002
  2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-08-23 14:29 ` arsenic at gcc dot gnu.org
@ 2021-08-24 23:07 ` hp at gcc dot gnu.org
  2021-08-25  8:32 ` arsenic at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: hp at gcc dot gnu.org @ 2021-08-24 23:07 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

Hans-Peter Nilsson <hp at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hp at gcc dot gnu.org
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #4 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
(In reply to Ankur Saini from comment #3)
> Fixed after the following commits:
> e92d0ff6b5e6d4b95c04fc3e326d40efeb136086
> 537878152ded8b7d271333b803b36c27a9aea8d2

g++.dg/analyzer/pr96641.C, a regression introduced by this commit (or unlikely,
another commit in the series 640df4ef815a..f0fca213bc52), remains to be fixed.
It seems to fail everywhere:

s390x-ibm-linux-gnu
https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716425.html

x86_64-pc-linux-gnu 3c496e92d795a8fe5c527e3c5b5a6606669ae50d
https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716406.html

powerpc64-unknown-linux-gnu 6d692ef43b2b3368c92c3fb757c7884fc94ee627
https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716400.html

powerpc64le-unknown-linux-gnu 3c496e92d795a8fe5c527e3c5b5a6606669ae50d
https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716428.html

i686-pc-linux-gnu 6e5401e87d02919b0594e04f828892deef956407
https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716332.html

powerpc-ibm-aix7.2.3.0 0312e263b6afa5b545c2d3b7c7ac5295ecaa7fa8
https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716308.html

m68k-unknown-linux-gnu 192d4edd15c
https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716297.html

For cris-elf, I see this in g++.log:
/X/gcc/testsuite/g++.dg/analyzer/pr96641.C:8:3: warning: analysis bailed out
early (91 'after-snode' enodes; 228 enodes) [-Wanalyzer-too-complex]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug analyzer/101980] [12 regressions] many test case failures after r12-3002
  2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2021-08-24 23:07 ` hp at gcc dot gnu.org
@ 2021-08-25  8:32 ` arsenic at gcc dot gnu.org
  2021-08-25 13:30 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: arsenic at gcc dot gnu.org @ 2021-08-25  8:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

--- Comment #5 from Ankur Saini <arsenic at gcc dot gnu.org> ---
(In reply to Hans-Peter Nilsson from comment #4)
> (In reply to Ankur Saini from comment #3)
> > Fixed after the following commits:
> > e92d0ff6b5e6d4b95c04fc3e326d40efeb136086
> > 537878152ded8b7d271333b803b36c27a9aea8d2
> 
> g++.dg/analyzer/pr96641.C, a regression introduced by this commit (or
> unlikely, another commit in the series 640df4ef815a..f0fca213bc52), remains
> to be fixed.
> It seems to fail everywhere:
> 
> s390x-ibm-linux-gnu
> https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716425.html
> 
> x86_64-pc-linux-gnu 3c496e92d795a8fe5c527e3c5b5a6606669ae50d
> https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716406.html
> 
> powerpc64-unknown-linux-gnu 6d692ef43b2b3368c92c3fb757c7884fc94ee627
> https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716400.html
> 
> powerpc64le-unknown-linux-gnu 3c496e92d795a8fe5c527e3c5b5a6606669ae50d
> https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716428.html
> 
> i686-pc-linux-gnu 6e5401e87d02919b0594e04f828892deef956407
> https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716332.html
> 
> powerpc-ibm-aix7.2.3.0 0312e263b6afa5b545c2d3b7c7ac5295ecaa7fa8
> https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716308.html
> 
> m68k-unknown-linux-gnu 192d4edd15c
> https://gcc.gnu.org/pipermail/gcc-testresults/2021-August/716297.html
> 
> For cris-elf, I see this in g++.log:
> /X/gcc/testsuite/g++.dg/analyzer/pr96641.C:8:3: warning: analysis bailed out
> early (91 'after-snode' enodes; 228 enodes) [-Wanalyzer-too-complex]

Thanks for pointing this out.
This is due to the fact that analyzer doesn't have a maximum recursion limit
when analysing dynamically discovered calls ( vfunc calls or calls that happen
via a function pointer ).

I have sent a patch on the patches list which should fix this problem.

- - -

Patch : https://gcc.gnu.org/pipermail/gcc-patches/2021-August/578091.html

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug analyzer/101980] [12 regressions] many test case failures after r12-3002
  2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2021-08-25  8:32 ` arsenic at gcc dot gnu.org
@ 2021-08-25 13:30 ` cvs-commit at gcc dot gnu.org
  2021-08-25 13:33 ` arsenic at gcc dot gnu.org
  2021-08-25 21:08 ` hp at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-08-25 13:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Ankur saini <arsenic@gcc.gnu.org>:

https://gcc.gnu.org/g:43a5d46feabd93ba78983919234f05f5fc9a0982

commit r12-3139-g43a5d46feabd93ba78983919234f05f5fc9a0982
Author: Ankur Saini <arsenic@sourceware.org>
Date:   Wed Aug 25 12:33:06 2021 +0530

    analyzer: Impose recursion limit on indirect calls.

    2021-08-25  Ankur Saini  <arsenic@sourceware.org>

    gcc/analyzer/ChangeLog:
            PR analyzer/101980
            * engine.cc (exploded_graph::maybe_create_dynamic_call): Don't
create
            calls if max recursion limit is reached.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug analyzer/101980] [12 regressions] many test case failures after r12-3002
  2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2021-08-25 13:30 ` cvs-commit at gcc dot gnu.org
@ 2021-08-25 13:33 ` arsenic at gcc dot gnu.org
  2021-08-25 21:08 ` hp at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: arsenic at gcc dot gnu.org @ 2021-08-25 13:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

Ankur Saini <arsenic at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #7 from Ankur Saini <arsenic at gcc dot gnu.org> ---
Should be fixed after the above commit.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug analyzer/101980] [12 regressions] many test case failures after r12-3002
  2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2021-08-25 13:33 ` arsenic at gcc dot gnu.org
@ 2021-08-25 21:08 ` hp at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: hp at gcc dot gnu.org @ 2021-08-25 21:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101980

--- Comment #8 from Hans-Peter Nilsson <hp at gcc dot gnu.org> ---
(In reply to Ankur Saini from comment #7)
> Should be fixed after the above commit.

Confirmed (at 43a5d46feabd). Thanks for the prompt fix.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-08-25 21:08 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-19 14:50 [Bug analyzer/101980] New: [12 regressions] many test case failures after r12-3002 seurer at gcc dot gnu.org
2021-08-19 15:06 ` [Bug analyzer/101980] " dmalcolm at gcc dot gnu.org
2021-08-20  8:28 ` rguenth at gcc dot gnu.org
2021-08-21  5:04 ` cvs-commit at gcc dot gnu.org
2021-08-23 14:29 ` arsenic at gcc dot gnu.org
2021-08-24 23:07 ` hp at gcc dot gnu.org
2021-08-25  8:32 ` arsenic at gcc dot gnu.org
2021-08-25 13:30 ` cvs-commit at gcc dot gnu.org
2021-08-25 13:33 ` arsenic at gcc dot gnu.org
2021-08-25 21:08 ` hp at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).