https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117268
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Ville Voutilainen from comment #2) > Possibly. It makes fair amounts of sense that predefined macros are > reapplied after an options scope is exited. But it does break existing code. > See https://bugreports.qt.io/browse/QTBUG-130381 The existing code was only added in 2022: https://github.com/qt/qtquick3d/commit/7980cfd07eaaa8e12aecb3a6047805fefe048d80 undefining macros in the implemented defined area is undefined. The better fix is to use `#pragma GCC target("no-sse3")` instead.