[Bug c++/119154] GCC 15.0 std module with <string> compiled with -O3 breaks when loaded with -O0 (not -O1, -O2 and -Ofast)

nshead at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 24 11:37:41 GMT 2025


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119154

Nathaniel Shead <nshead at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
   Target Milestone|---                         |15.0
             Status|NEW                         |RESOLVED
           Assignee|unassigned at gcc dot gnu.org      |nshead at gcc dot gnu.org

--- Comment #13 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
Fixed on trunk, thanks for the report!

(In reply to Igor Machado Coelho from comment #6)
> It means that, for the moment, the only safe way I manage to build modules
> is either including FORTIFY_SOURCE, and using -O0 to -O3 (-Ofast is broken),
> or then if I don't use FORTIFY_SOURCE, then the only safe possibility is
> building module with -O0. So, FORTIFY_SOURCE is a must now.

I will note though that really the safest way is still to build modules with
exactly the same flags they are consumed by; any other combination is either
known to definitely not work (and ideally we error) or completely untested
currently.

But bug reports caused by these mismatches are still of course welcome :)


More information about the Gcc-bugs mailing list