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

            Bug ID: 106936
           Summary: [13 Regression] ICE in get_value_range, at
                    value-query.cc:170
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Started between 20220717 and 20220724, at -O2+, reduced from
llvm-project-llvmorg-14.0.6/clang/test/Analysis/pointer-to-member.cpp :
(gcc configured with --enable-checking=yes)


$ cat z1.cc
namespace testPointerToMemberMiscCasts2 {
struct B {
  int f;
};
struct L : public B { };
struct R : public B { };
struct D : public L, R { };
  int B::* pb = &B::f;
  int R::* pr = pb;
  int D::* pdr = pr;
}


$ g++-13-20220911 -c z1.cc -O2 -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre
during GIMPLE pass: vrp
z1.cc: In function '(static initializers for z1.cc)':
z1.cc:11:1: internal compiler error: in get_value_range, at value-query.cc:170
   11 | }
      | ^
0x153dd5b range_query::get_value_range(tree_node const*, gimple*)
        ../../gcc/value-query.cc:170
0x15a0aee simplify_using_ranges::simplify_casted_cond(gcond*)
        ../../gcc/vr-values.cc:3720
0x15a3f27 simplify_using_ranges::simplify(gimple_stmt_iterator*)
        ../../gcc/vr-values.cc:4420
0x14ff342 rvrp_folder::fold_stmt(gimple_stmt_iterator*)
        ../../gcc/tree-vrp.cc:4321
0x13d34a6 substitute_and_fold_dom_walker::before_dom_children(basic_block_def*)
        ../../gcc/tree-ssa-propagate.cc:870
0x1f34077 dom_walker::walk(basic_block_def*)
        ../../gcc/domwalk.cc:311
0x13d2525 substitute_and_fold_engine::substitute_and_fold(basic_block_def*)
        ../../gcc/tree-ssa-propagate.cc:987
0x14f38dd execute_ranger_vrp(function*, bool)
        ../../gcc/tree-vrp.cc:4349

Reply via email to