https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120637
--- Comment #5 from Antony Lewis <antony at cosmologist dot info> --- Hi Andre, thanks for looking at it and the patch. The smaller patch perhaps makes sense for incremental fix (esp. for earlier branches). However, for master it might be cleaner to remove the code if it is redundant (there was a comment that this "mess" should be tidied up in https://gcc.gnu.org/cgit/gcc/commit/?id=1af22e455584ef5fcad2b4474c1efc3fd26f6cb3). Alternatively, I suppose one could convert the was_finalized test into a compile-time internal error indicating inconsistent finalization. Removing it works fine on the tests and my real-world code.