Richard Sandiford <richard.sandif...@arm.com> writes:

> 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/.

Thanks Richard!

I've submitted a patch based on your suggestion and checked the compiler
was correctly built using gcc 5.5.

Marc

Reply via email to