mirror of git://gcc.gnu.org/git/gcc.git
Add these constructors from C++11 which were missing from the COW basic_string. Additionally simplify the definitions of the basic_string::reference and basic_string::const_reference types as required by C++11. This allows filesystem::path::string<Allocator>() to be simplified, so that the same code is used for both basic_string implementations. * config/abi/pre/gnu.ver (GLIBCXX_3.4.26): Export allocator-extended copy/move constructors for old std::basic_string. * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::reference, basic_string::const_reference): Define as plain references for C++11 and later. (basic_string::basic_string()): Put constructor body outside preprocessor conditional groups. (basic_string::basic_string(basic_string&&)): Move _Alloc_hider instead of copying it. (basic_string::basic_string(const basic_string&, const _Alloc&)): Define. (basic_string::basic_string(basic_string&&, const _Alloc&)): Define. * include/bits/fs_path.h [!_GLIBCXX_USE_CXX11_ABI]: Remove special cases for old basic_string. * testsuite/21_strings/basic_string/cons/char/8.cc: Test allocator-extended constructors unconditionally. Add extra members to allocator type when using old string ABI. * testsuite/21_strings/basic_string/allocator/71964.cc: Enable test for old string ABI. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. From-SVN: r267584 |
||
|---|---|---|
| .. | ||
| 17_intro | ||
| 18_support | ||
| 19_diagnostics | ||
| 20_util | ||
| 21_strings | ||
| 22_locale | ||
| 23_containers | ||
| 24_iterators | ||
| 25_algorithms | ||
| 26_numerics | ||
| 27_io | ||
| 28_regex | ||
| 29_atomics | ||
| 30_threads | ||
| abi | ||
| backward | ||
| config | ||
| data | ||
| decimal | ||
| experimental | ||
| ext | ||
| lib | ||
| libstdc++-abi | ||
| libstdc++-dg | ||
| libstdc++-prettyprinters | ||
| libstdc++-xmethods | ||
| performance | ||
| special_functions | ||
| tr1 | ||
| tr2 | ||
| util | ||
| Makefile.am | ||
| Makefile.in | ||