diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2020-08-10 12:02:18 +0100 |
---|---|---|
committer | Giuliano Belinassi <giuliano.belinassi@usp.br> | 2020-08-17 15:07:54 -0300 |
commit | dcabf1582dfa1b858a827ed4040cce5a6dcd27c9 (patch) | |
tree | 9979bdccf578221e388e5187c765233f48fae56f | |
parent | cee4e70e77efe0c85ee27232223b706d983ad3e2 (diff) | |
download | gcc-dcabf1582dfa1b858a827ed4040cce5a6dcd27c9.zip gcc-dcabf1582dfa1b858a827ed4040cce5a6dcd27c9.tar.gz gcc-dcabf1582dfa1b858a827ed4040cce5a6dcd27c9.tar.bz2 |
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.
-rw-r--r-- | libstdc++-v3/include/bits/basic_string.tcc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index a64b63a..95d2fdb 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> |