aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-09-26 16:55:07 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2024-10-09 13:39:16 +0100
commit361d230fd7800a7e749aba8ed020f54f5c26d504 (patch)
treeaa237d273949733bd26601e567893b541ecb91e3 /gcc
parent6ce1df379a64439ea429b6c5834e9f853d520112 (diff)
downloadgcc-361d230fd7800a7e749aba8ed020f54f5c26d504.zip
gcc-361d230fd7800a7e749aba8ed020f54f5c26d504.tar.gz
gcc-361d230fd7800a7e749aba8ed020f54f5c26d504.tar.bz2
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.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions