mirrored from git://gcc.gnu.org/git/gcc.git
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Fix testsuite failures for __gnu_debug::string with old ABI
The __gnu_debug string (mostly) implements the C++11 API, but when it wraps the old COW string many of the member functions in the base class have the wrong parameter types or return types. This makes the __gnu_debug::string type adapt itself to the base class API. This actually makes the debug string slightly more conforming than the underlying string type when using the old ABI. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::__const_iterator): Change access to protected. [!_GLIBCXX_USE_CXX11_ABI] (basic_string::__const_iterator): Define as typedef for iterator. * include/debug/string (__const_iterator): Use typedef from base. (insert(const_iterator, _CharT)) (replace(const_iterator, const_iterator, const basic_string&)) (replace(const_iterator, const_iterator, const _CharT*, size_type)) (replace(const_iterator, const_iterator, const CharT*)) (replace(const_iterator, const_iterator, size_type, _CharT)) (replace(const_iterator, const_iterator, _InputIter, _InputIter)) (replace(const_iterator, const_iterator, initializer_list<_CharT>)): Change const_iterator parameters to __const_iterator. (insert(iterator, size_type, _CharT)): Add C++98 overload. (insert(const_iterator, _InputIterator, _InputIterator)): Change const_iterator parameter to __const_iterator. [!_GLIBCXX_USE_CXX11_ABI]: Add workaround for incorrect return type of base's member function. (insert(const_iterator, size_type, _CharT)) [!_GLIBCXX_USE_CXX11_ABI]: Likewise. (insert(const_iterator, initializer_list<_CharT>)) [!_GLIBCXX_USE_CXX11_ABI]: Likewise. * testsuite/21_strings/basic_string/init-list.cc: Remove effective target directive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263808 138bc75d-0d04-0410-961f-82ee72b054a4
- Loading branch information
redi
committed
Aug 23, 2018
1 parent
d1961e6
commit 431a9dd
Showing
4 changed files
with
77 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters