[gcc(refs/users/giulianob/heads/autopar_rebase2)] libstdc++: Check __cpp_exceptions in basic_string::reserve()
Giuliano Belinassi
giulianob@gcc.gnu.org
Tue Aug 18 01:35:04 GMT 2020
https://gcc.gnu.org/g:dcabf1582dfa1b858a827ed4040cce5a6dcd27c9
commit dcabf1582dfa1b858a827ed4040cce5a6dcd27c9
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Mon Aug 10 12:02:18 2020 +0100
libstdc++: Check __cpp_exceptions in basic_string::reserve()
If exceptions are disabled then reallocating could abort, so ignore
shrink-to-fit requests.
libstdc++-v3/ChangeLog:
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI=0]
(basic_string::reserve()): Do nothing if exceptions are not
enabled.
Diff:
---
libstdc++-v3/include/bits/basic_string.tcc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc
index a64b63a37fb..95d2fdbd6d6 100644
--- a/libstdc++-v3/include/bits/basic_string.tcc
+++ b/libstdc++-v3/include/bits/basic_string.tcc
@@ -1179,6 +1179,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
basic_string<_CharT, _Traits, _Alloc>::
reserve()
{
+#if __cpp_exceptions
if (length() < capacity() || _M_rep()->_M_is_shared())
try
{
@@ -1191,6 +1192,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ throw; }
catch (...)
{ /* swallow the exception */ }
+#endif
}
template<typename _CharT, typename _Traits, typename _Alloc>
More information about the Libstdc++-cvs
mailing list