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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>:

https://gcc.gnu.org/g:361d230fd7800a7e749aba8ed020f54f5c26d504

commit r15-4208-g361d230fd7800a7e749aba8ed020f54f5c26d504
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Thu Sep 26 16:55:07 2024 +0100

    libstdc++: Enable _GLIBCXX_ASSERTIONS by default for -O0 [PR112808]

    Too many users don't know about -D_GLIBCXX_ASSERTIONS and so are missing
    valuable checks for C++ standard library preconditions. This change
    enables libstdc++ assertions by default when compiling with -O0 so that
    we diagnose more bugs by default.

    When users enable optimization we don't add the assertions by default
    (because they have non-zero overhead) so they still need to enable them
    manually.

    For users who really don't want the assertions even in unoptimized
    builds, defining _GLIBCXX_NO_ASSERTIONS will prevent them from being
    enabled automatically.

    libstdc++-v3/ChangeLog:

            PR libstdc++/112808
            * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document
            implicit definition for -O0 compilation.
            (_GLIBCXX_NO_ASSERTIONS): Document.
            * doc/html/manual/using_macros.html: Regenerate.
            * include/bits/c++config [!__OPTIMIZE__] (_GLIBCXX_ASSERTIONS):
            Define for unoptimized builds.

Reply via email to