[Bug c++/92009] New: [10 Regression] ICE: Segmentation fault (in is_really_empty_class)

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Mon Oct 7 04:42:00 GMT 2019


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

            Bug ID: 92009
           Summary: [10 Regression] ICE: Segmentation fault (in
                    is_really_empty_class)
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

g++-10.0.0-alpha20191006 snapshot (r276640) ICEs when compiling the following
testcase reduced from test/CodeGenCXX/rtti-layout.cpp from the clang 9.0.0 test
suite:

namespace std {
  class type_info {};
}

bool
a2 ()
{
  return ((void **) &typeid (int))[0];
}

% g++-10.0.0-alpha20191006 -c i5vvdig1.cpp
i5vvdig1.cpp: In function 'bool a2()':
i5vvdig1.cpp:8:37: internal compiler error: Segmentation fault
    8 |   return ((void **) &typeid (int))[0];
      |                                     ^
0xe6abc6 crash_signal
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/toplev.c:326
0x80a407 tree_check(tree_node*, char const*, int, char const*, tree_code)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/tree.h:3266
0x80a407 is_really_empty_class(tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/class.c:8450
0x8214d3 cxx_eval_constant_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/constexpr.c:4759
0x82a6be cxx_eval_component_reference
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/constexpr.c:2846
0x822c5f cxx_eval_constant_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/constexpr.c:5178
0x82a6be cxx_eval_component_reference
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/constexpr.c:2846
0x822c5f cxx_eval_constant_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/constexpr.c:5178
0x829b53 cxx_eval_indirect_ref
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/constexpr.c:3672
0x821194 cxx_eval_constant_expression
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/constexpr.c:5003
0x824e57 cxx_eval_outermost_constant_expr
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/constexpr.c:5713
0x828dde maybe_constant_value(tree_node*, tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/constexpr.c:5964
0x839efe cp_fully_fold(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/cp-gimplify.c:2215
0x9a5951 cp_build_binary_op(op_location_t const&, tree_code, tree_node*,
tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/typeck.c:5597
0x9a8e4e build_binary_op(unsigned int, tree_code, tree_node*, tree_node*, bool)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/typeck.c:4316
0x9a8e4e cp_truthvalue_conversion(tree_node*)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/typeck.c:5926
0x83fd98 cp_convert(tree_node*, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/cvt.c:636
0x83fd98 cp_convert_and_check(tree_node*, tree_node*, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/cvt.c:655
0x7f0e08 convert_like_real
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/call.c:7520
0x7f2335 perform_implicit_conversion_flags(tree_node*, tree_node*, int, int)
       
/var/tmp/portage/sys-devel/gcc-10.0.0_alpha20191006/work/gcc-10-20191006/gcc/cp/call.c:11259


More information about the Gcc-bugs mailing list