https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65036
Bug ID: 65036 Summary: [5 Regression] ICE (RTL flag check) on arm-linux-gnueabihf Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org seen with 20150205 on arm-linux-gnueabihf, configured with --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb g++ -c -g -O2 -fPIC rollingfileappender.ii rollingfileappender.ii: In destructor 'virtual D::~D()': rollingfileappender.ii:6:7: internal compiler error: RTL flag check: CONSTANT_POOL_ADDRESS_P used with unexpected rtx code 'mem' in place_block_symbol, at varasm.c:7157 class B : ObjectImpl {}; ^ Please submit a full bug report, with preprocessed source if appropriate. $ cat rollingfileappender.ii class A {}; class ObjectImpl : virtual A { public: virtual ~ObjectImpl(); }; class B : ObjectImpl {}; class C : B { virtual const int &m_fn1() const; }; class D : C { const int &m_fn1() const; }; const int &C::m_fn1() const {} const int &D::m_fn1() const {}