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