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

            Bug ID: 92864
           Summary: [10 Regression] ICE in is_really_empty_class at
                    gcc/cp/class.c:8595 since r276563
           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: marxin at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org
  Target Milestone: ---

I see the following ICE:

$ cat ice.ii
namespace std {
class type_info {};
} // namespace std
void fn1() { !((void **)&typeid(short))[0]; }

$ g++ ice.ii -c
ice.ii: In function ‘void fn1()’:
ice.ii:4:42: internal compiler error: Segmentation fault
    4 | void fn1() { !((void **)&typeid(short))[0]; }
      |                                          ^
0x10370ef crash_signal
        /home/marxin/Programming/gcc/gcc/toplev.c:328
0x7ff2d3a2814f ???
       
/usr/src/debug/glibc-2.30-1.3.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x91531b tree_check(tree_node*, char const*, int, char const*, tree_code)
        /home/marxin/Programming/gcc/gcc/tree.h:3272
0x91531b is_really_empty_class(tree_node*, bool)
        /home/marxin/Programming/gcc/gcc/cp/class.c:8595
0x92df9d cxx_eval_constant_expression
        /home/marxin/Programming/gcc/gcc/cp/constexpr.c:4919
0x9390af cxx_eval_component_reference
        /home/marxin/Programming/gcc/gcc/cp/constexpr.c:2995
0x92f595 cxx_eval_constant_expression
        /home/marxin/Programming/gcc/gcc/cp/constexpr.c:5374
0x9390af cxx_eval_component_reference
        /home/marxin/Programming/gcc/gcc/cp/constexpr.c:2995
0x92f595 cxx_eval_constant_expression
        /home/marxin/Programming/gcc/gcc/cp/constexpr.c:5374
0x93831b cxx_eval_indirect_ref
        /home/marxin/Programming/gcc/gcc/cp/constexpr.c:3825
0x92dbf9 cxx_eval_constant_expression
        /home/marxin/Programming/gcc/gcc/cp/constexpr.c:5200
0x93106b cxx_eval_outermost_constant_expr
        /home/marxin/Programming/gcc/gcc/cp/constexpr.c:5977
0x935f5b maybe_constant_value(tree_node*, tree_node*, bool)
        /home/marxin/Programming/gcc/gcc/cp/constexpr.c:6254
0x950e85 cp_fully_fold(tree_node*)
        /home/marxin/Programming/gcc/gcc/cp/cp-gimplify.c:2272
0xae096a cp_build_binary_op(op_location_t const&, tree_code, tree_node*,
tree_node*, int)
        /home/marxin/Programming/gcc/gcc/cp/typeck.c:5682
0xae41aa cp_truthvalue_conversion(tree_node*, int)
        /home/marxin/Programming/gcc/gcc/cp/typeck.c:6019
0x9568ab ocp_convert(tree_node*, tree_node*, int, int, int)
        /home/marxin/Programming/gcc/gcc/cp/cvt.c:852
0x957efd cp_convert(tree_node*, tree_node*, int)
        /home/marxin/Programming/gcc/gcc/cp/cvt.c:637
0x957efd cp_convert_and_check(tree_node*, tree_node*, int)
        /home/marxin/Programming/gcc/gcc/cp/cvt.c:656
0x8f9b03 convert_like_real
        /home/marxin/Programming/gcc/gcc/cp/call.c:7784
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to