This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Empty loops removal (Was Re: Some extra decorations)
2009/5/4 Peter Dimov:
> Jonathan Wakely:
>>
>> 2009/5/4 Joseph S. Myers:
>> > On Mon, 4 May 2009, Jan Hubicka wrote:
>> >
>> >> On mainline I enabled infinite loop removal at
>> >> -funsafe-loop-optimizations. I would suggest adding
>> >> -fempty-loops-terminate and make it default for C++? It does not apply
>> >> for C, right?
>> >
>> > You mean for C++0x (I see no such rule in C++03), and there is no such
>> > rule for C at present.
>>
>> Yes, the rule is new for C++0x, and it is in the context of for, while
>> and do-while loops only, not recursive calls.
>
> It might be worth raising this issue on c++std-core, because it's easy for a
> compiler to transform recursion to a loop using tail call elimination, and I
> suspect that it is in line with the original intent to treat recursion with
> no side effects as finite in the same way.
Thanks for the suggestion, Peter. I've asked for clarification and
will report back here whatever conclusion is reached.
Jonathan