aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfgcleanup.c
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2018-05-23 23:48:51 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2018-05-23 23:48:51 +0100
commit49d729eaee6bf42c46bbe3182b26b7f15a3909b5 (patch)
treed08da15f28a50c0b6346de87dbfc4b14d3327da7 /gcc/tree-cfgcleanup.c
parent2aece9c19970ad94abeeca4f85782f50799abdfc (diff)
downloadgcc-49d729eaee6bf42c46bbe3182b26b7f15a3909b5.zip
gcc-49d729eaee6bf42c46bbe3182b26b7f15a3909b5.tar.gz
gcc-49d729eaee6bf42c46bbe3182b26b7f15a3909b5.tar.bz2
Refactor path construction from null terminated iterator ranges
Move duplicated code to new _S_string_from_iter function and fix constraints to accept iterators with const value type. * include/bits/fs_path.h (path::__is_encoded_char): Change from class template to alias template. (path::__value_type_is_char): Use remove_const_t. (path:_S_string_from_iter): New helper function. (path::_S_convert(InputIter, __null_terminated)) (path::_S_convert_loc(InputIter, __null_terminated, const locale&)): Use _S_string_from_iter. (path::string<_CharT, _Allocator>(const _Allocator&)): Allow sharing rep for COW strings. * include/experimental/bits/fs_path.h (path::__is_encoded_char): Change from class template to alias template. (path::__value_type_is_char): Use remove_const. (path:_S_string_from_iter): New helper function. (path::_S_convert(InputIter, __null_terminated)) (path::_S_convert_loc(InputIter, __null_terminated, const locale&)): Use _S_string_from_iter. * testsuite/27_io/filesystem/path/append/source.cc: Test appending wide strings. * testsuite/27_io/filesystem/path/concat/strings.cc: Check for exact string equality, not path equivalence. * testsuite/27_io/filesystem/path/construct/format.cc: Check construction from std::string and std::wstring and input iterators. * testsuite/27_io/filesystem/path/construct/locale.cc: Check construction from iterators. * testsuite/experimental/filesystem/path/concat/strings.cc: Check for exact string equality, not path equivalence. * testsuite/experimental/filesystem/path/construct/locale.cc: Check construction from iterators. From-SVN: r260628
Diffstat (limited to 'gcc/tree-cfgcleanup.c')
0 files changed, 0 insertions, 0 deletions