[Bug c++/87867] New: ICE on virtual destructor (-mlong-calls -ffunction-sections) on arm-none-eabi

mihail.ionescu at arm dot com gcc-bugzilla@gcc.gnu.org
Fri Nov 2 17:53:00 GMT 2018


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

            Bug ID: 87867
           Summary: ICE on virtual destructor (-mlong-calls
                    -ffunction-sections) on arm-none-eabi
           Product: gcc
           Version: 8.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mihail.ionescu at arm dot com
  Target Milestone: ---

The issue is fixed on trunk. GCC 7.3 and 8.2 crash when compiling the following
example with these specific options: "-mlong-calls", "-ffunction-sections".

========================================
class A
{
public:
virtual ~A() { }
};

class B
{
public:
virtual ~B() { }
};

class C : public A, public B
{
public:
virtual ~C();
};

C::~C()
{
}
========================================

gcc-arm-error.cpp: In member function 'virtual void* C::_ZThn4_N1CD1Ev()':
gcc-arm-error.cpp:21:1: internal compiler error: in gen_reg_rtx, at
emit-rtl.c:1155
 }
 ^
0xa3a98c gen_reg_rtx(machine_mode)
    /arm-none-eabi/build/src/gcc/gcc/emit-rtl.c:1155
0xa54e1e force_reg(machine_mode, rtx_def*)
    /arm-none-eabi/build/src/gcc/gcc/explow.c:655
0x143237e gen_sibcall(rtx_def*, rtx_def*, rtx_def*)
    /arm-none-eabi/build/src/gcc/gcc/config/arm/arm.md:8272
0x11c3f0e arm32_output_mi_thunk
    /arm-none-eabi/build/src/gcc/gcc/config/arm/arm.c:26778
0x11c3f0e arm_output_mi_thunk
    /arm-none-eabi/build/src/gcc/gcc/config/arm/arm.c:26799
0x9813cb cgraph_node::expand_thunk(bool, bool)
    /arm-none-eabi/build/src/gcc/gcc/cgraphunit.c:1787
0x9836af cgraph_node::assemble_thunks_and_aliases()
    /arm-none-eabi/build/src/gcc/gcc/cgraphunit.c:2067
0x983715 cgraph_node::assemble_thunks_and_aliases()
    /arm-none-eabi/build/src/gcc/gcc/cgraphunit.c:2085
0x983c1c cgraph_node::expand()
    /arm-none-eabi/build/src/gcc/gcc/cgraphunit.c:2202
0x98508a output_in_order
    /arm-none-eabi/build/src/gcc/gcc/cgraphunit.c:2381
0x98508a symbol_table::compile()
    /arm-none-eabi/build/src/gcc/gcc/cgraphunit.c:2623
0x987392 symbol_table::finalize_compilation_unit()
    /arm-none-eabi/build/src/gcc/gcc/cgraphunit.c:2717
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.


More information about the Gcc-bugs mailing list