https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109005
--- Comment #12 from simon at pushface dot org --- Not sure that it’ll make any difference, but I managed to slim the reproducer down to a pure set of data declarations, no user code at all. It’s the very last declaration (TIMx_CCMRx_Lower_Half) that triggers the problem. I think it’s initialization code.