https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97237
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Toni Neubert from comment #0) > The following valid code: N.B. that's not valid at all. That's why you need to use -fpermissive to compile it. > But this code is valid in all versions: No, it's invalid in all versions. It's only accepted with -fpermissive because that means "please accept my broken code".