Hi, On Sat Sep 14, 2024 at 10:00 AM CEST, Jason Merrill wrote: > On 9/13/24 1:31 PM, Simon Martin wrote: >> We currently ICE upon the following testcase when using -ftime-report >> >> === cut here === >> template < int> using __conditional_t = int; >> template < typename _Iter > >> concept random_access_iterator = requires { new _Iter; }; >> template < typename _Iterator > >> struct reverse_iterator { >> using iterator_concept = >> __conditional_t< random_access_iterator< _Iterator>>; >> }; >> void RemoveBottom() { >> int iter; >> for (reverse_iterator< int > iter;;) >> ; >> } >> === cut here === >> >> The problem is that qualified_namespace_lookup does a plain start() of >> the TV_NAME_LOOKUP timer (that asserts that the timer is not already >> started). However this timer has already been cond_start()'d in the call >> stack - by pushdecl - so the assert fails. >> >> This patch simply ensures that we always conditionally start this timer >> (which is done in all other places that use it). > > OK, thanks. Richard B suggested in the ticket to try to backport since that bug can get in the way of some investigations.
I have checked and the patch applies cleanly on GCC 13 and 14, and tests are successful for both on x86_64-pc-linux-gnu. OK for backporting there? Thanks, Simon