https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66944
Marc Glisse <glisse at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2015-12-16 00:00:00 |2018-2-28 --- Comment #8 from Marc Glisse <glisse at gcc dot gnu.org> --- c_parse_final_cleanups calls handle_tls_init several times in the "do ... while(reconsider)" loop. With a single static thread_local, we get lucky and the second time prune_vars_needing_no_initialization returns NULL for an early exit. Otherwise, the function really doesn't look ready for a second call. static_aggregates has a more complicated handling than tls_aggregates.