[Bug analyzer/96395] New: gcc.dg/analyzer/explode-2.c fails when compiled as C++

sandra at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jul 31 02:07:29 GMT 2020


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

            Bug ID: 96395
           Summary: gcc.dg/analyzer/explode-2.c fails when compiled as C++
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: analyzer
          Assignee: dmalcolm at gcc dot gnu.org
          Reporter: sandra at gcc dot gnu.org
  Target Milestone: ---

gcc.dg/analyzer/explode-2.c triggers a -Wanalyzer-too-complex diagnostic when
compiled as C++, but not as C:

$ x86_64-linux-gnu-g++ /path/to/gcc/testsuite/gcc.dg/analyzer/explode-2.c 
-fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers
-fdiagnostics-color=never  -fdiagnostics-urls=never   -fanalyzer
-fdiagnostics-path-format=separate-events -Wanalyzer-too-complex
-fanalyzer-call-summaries --param analyzer-max-enodes-per-program-point=200
--param analyzer-bb-explosion-factor=50 -S 
cc1plus: warning: analysis bailed out early (701 'after-snode' enodes; 2762
enodes) [-Wanalyzer-too-complex]
...

Increasing both of the params specified in the test case by a factor of 5
didn't seem to help.

I ran into this problem in connection with my patches to unify loop
representations in the C and C++ front ends

https://gcc.gnu.org/pipermail/gcc-patches/2020-March/541954.html

but it can be reproduced separately without those patches just by compiling
with g++ instead of gcc.


More information about the Gcc-bugs mailing list