Marc Poulhiès <poulh...@adacore.com> writes: > Hello, > > I can't bootstrap using gcc 5.5 since this change. It fails with: > > .../gcc/pair-fusion.cc: In member function ‘bool > pair_fusion_bb_info::fuse_pair(bool, unsigned int, int, rtl_ssa::insn_info*, > rtl_ssa::in > sn_info*, base_cand&, const rtl_ssa::insn_range_info&)’: > .../gcc/pair-fusion.cc:1790:40: error: ‘writeback’ is not a class, namespace, > or enumeration > if (m_pass->should_handle_writeback (writeback::ALL) > ^ > Is it possible that C++11 enum classes are not correctly supported in > older GCC?
Looks to be due to an overloading of "writeback", which is also a local variable in that function. One fix would be to rename the type to "writeback_type". FWIW, the "enum"s in "enum writeback" can also be removed, so it'd be s/enum writeback/writeback_type/. Richard