public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug analyzer/96641] New: [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082
@ 2020-08-17  4:16 asolokha at gmx dot com
  2020-08-17 13:03 ` [Bug analyzer/96641] " asolokha at gmx dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: asolokha at gmx dot com @ 2020-08-17  4:16 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 96641
           Summary: [11 Regression] ICE in get_rvalue_1, at
                    analyzer/region-model.cc:1082
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: analyzer
          Assignee: dmalcolm at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

gcc-11.0.0-alpha20200816 snapshot (g:c99116aeeb9644ebddec653ee8b19de4d38b65bd)
ICEs when compiling gcc/testsuite/gfortran.dg/goacc/clause-locations.f90 w/ -O1
-fanalyzer -fopenacc -fvar-tracking-assignments:

% powerpc-e300c3-linux-gnu-gfortran-11.0.0 -O1 -fanalyzer -fopenacc
-fvar-tracking-assignments -w -c
gcc/testsuite/gfortran.dg/goacc/clause-locations.f90
gcc/testsuite/gfortran.dg/goacc/clause-locations.f90:9:27:

    9 |     !$acc loop reduction(+:sum)
      |                           ^
note: location of the previous reduction for 'sum'
during IPA pass: analyzer
gcc/testsuite/gfortran.dg/goacc/clause-locations.f90:8:0:

    8 |   !$acc parallel
      |
internal compiler error: in get_rvalue_1, at analyzer/region-model.cc:1082
0x6ffe96 ana::region_model::get_rvalue_1(ana::path_var,
ana::region_model_context*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:1082
0x11c8fc3 ana::region_model::get_rvalue(ana::path_var,
ana::region_model_context*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:1173
0x11b30b1 ana::impl_sm_context::warn_for_state(ana::supernode const*, gimple
const*, tree_node*, unsigned int, ana::pending_diagnostic*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:259
0x11ea426 on_stmt
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/sm-malloc.cc:807
0x11acf7b ana::exploded_node::on_stmt(ana::exploded_graph&, ana::supernode
const*, gimple const*, ana::program_state*) const
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:1098
0x11ae035 ana::exploded_graph::process_node(ana::exploded_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:2526
0x11ae892 ana::exploded_graph::process_worklist()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:2341
0x11b0974 ana::impl_run_checkers(ana::logger*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:4107
0x11b1621 ana::run_checkers()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:4175
0x11a61f8 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/analyzer-pass.cc:84

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

* [Bug analyzer/96641] [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082
  2020-08-17  4:16 [Bug analyzer/96641] New: [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082 asolokha at gmx dot com
@ 2020-08-17 13:03 ` asolokha at gmx dot com
  2020-08-17 22:15 ` dmalcolm at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: asolokha at gmx dot com @ 2020-08-17 13:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Arseny Solokha <asolokha at gmx dot com> ---
A C++ testcase, for that matter.

struct uh {
  virtual void
  sx ();
};

struct iz : uh {
  virtual void
  sx ()
  {
    sx ();
  }
};

void
a2 ()
{
  iz ().sx ();
}

% gcc-11.0.0 -fanalyzer -c dmkwon0d.cc
during IPA pass: analyzer
dmkwon0d.cc: In member function 'virtual void iz::sx()':
dmkwon0d.cc:10:8: internal compiler error: in get_rvalue_1, at
analyzer/region-model.cc:1082
   10 |     sx ();
      |     ~~~^~
0x7e4de2 ana::region_model::get_rvalue_1(ana::path_var,
ana::region_model_context*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:1082
0x1373218 ana::region_model::get_rvalue(ana::path_var,
ana::region_model_context*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:1173
0x1373218 ana::region_model::get_rvalue(tree_node*, ana::region_model_context*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:1186
0x13746e1 ana::region_model::get_fndecl_for_call(gcall const*,
ana::region_model_context*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:2519
0x137806b ana::region_model::on_call_pre(gcall const*,
ana::region_model_context*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:630
0x13571a4 ana::exploded_node::on_stmt(ana::exploded_graph&, ana::supernode
const*, gimple const*, ana::program_state*) const
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:1083
0x135800d ana::exploded_graph::process_node(ana::exploded_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:2526
0x1358afa ana::exploded_graph::process_worklist()
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:2341
0x135ac2f ana::impl_run_checkers(ana::logger*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:4107
0x135b84c ana::run_checkers()
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:4175
0x1350208 execute
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/analyzer-pass.cc:84

(I can file it as a new PR, if it is actually unrelated.)

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

* [Bug analyzer/96641] [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082
  2020-08-17  4:16 [Bug analyzer/96641] New: [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082 asolokha at gmx dot com
  2020-08-17 13:03 ` [Bug analyzer/96641] " asolokha at gmx dot com
@ 2020-08-17 22:15 ` dmalcolm at gcc dot gnu.org
  2020-08-18  0:47 ` cvs-commit at gcc dot gnu.org
  2020-08-18  0:54 ` dmalcolm at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2020-08-17 22:15 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2020-08-17

--- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Thanks for filing this; confirmed both the Fortran and C++ cases.  The tree
codes in question are debug_expr_decl and obj_type_ref respectively.

The old implementation of region_model::get_rvalue_1 gracefully handled tree
codes it didn't understand, returning "UNKNOWN", whereas the new implementation
has an assertion left over from development.  Working on a fix.

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

* [Bug analyzer/96641] [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082
  2020-08-17  4:16 [Bug analyzer/96641] New: [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082 asolokha at gmx dot com
  2020-08-17 13:03 ` [Bug analyzer/96641] " asolokha at gmx dot com
  2020-08-17 22:15 ` dmalcolm at gcc dot gnu.org
@ 2020-08-18  0:47 ` cvs-commit at gcc dot gnu.org
  2020-08-18  0:54 ` dmalcolm at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-08-18  0:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Malcolm <dmalcolm@gcc.gnu.org>:

https://gcc.gnu.org/g:2242b975c08e150dd712d8e64341cae8457788ef

commit r11-2729-g2242b975c08e150dd712d8e64341cae8457788ef
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Mon Aug 17 18:18:00 2020 -0400

    analyzer: fix ICE on unhandled tree codes in get_rvalue_1 [PR96641]

    The old implementation of region_model::get_rvalue_1 gracefully handled
    tree codes it didn't understand, returning "UNKNOWN", whereas the new
    implementation (r11-2694-g808f4dfeb3a95f50f15e71148e5c1067f90a126d) had
    an assertion left over from development, leading to ICEs.

    This patch restores the old behavior for these cases.

    gcc/analyzer/ChangeLog:
            PR analyzer/96641
            * region-model.cc (region_model::get_rvalue_1): Handle
            unrecognized tree codes by returning "UNKNOWN.

    gcc/testsuite/ChangeLog:
            PR analyzer/96641
            * g++.dg/analyzer/pr96641.C: New test.

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

* [Bug analyzer/96641] [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082
  2020-08-17  4:16 [Bug analyzer/96641] New: [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082 asolokha at gmx dot com
                   ` (2 preceding siblings ...)
  2020-08-18  0:47 ` cvs-commit at gcc dot gnu.org
@ 2020-08-18  0:54 ` dmalcolm at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: dmalcolm at gcc dot gnu.org @ 2020-08-18  0:54 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #4 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Should be fixed by the above commit.

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

end of thread, other threads:[~2020-08-18  0:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-17  4:16 [Bug analyzer/96641] New: [11 Regression] ICE in get_rvalue_1, at analyzer/region-model.cc:1082 asolokha at gmx dot com
2020-08-17 13:03 ` [Bug analyzer/96641] " asolokha at gmx dot com
2020-08-17 22:15 ` dmalcolm at gcc dot gnu.org
2020-08-18  0:47 ` cvs-commit at gcc dot gnu.org
2020-08-18  0:54 ` dmalcolm 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).