r260479 - in /trunk/libstdc++-v3: ChangeLog con...
redi@gcc.gnu.org
redi@gcc.gnu.org
Mon May 21 17:18:00 GMT 2018
Author: redi
Date: Mon May 21 17:18:35 2018
New Revision: 260479
URL: https://gcc.gnu.org/viewcvs?rev=260479&root=gcc&view=rev
Log:
Add support for opening file streams from wide character strings
C++17 added new overloads to <fstream> class templates to support
opening files from wide character strings "on systems where
filesystem::path::value_type is not char". This patch adds those
overloads conditional on _wfopen being available, and enables them for
pre-C++17 modes as well.
Add support for opening file streams from wide character strings.
* config/io/basic_file_stdio.cc [_GLIBCXX_HAVE__WFOPEN]
(__basic_file<char>::open(const wchar_t*, ios_base::openmode)):
Define new overload.
* config/io/basic_file_stdio.h [_GLIBCXX_HAVE__WFOPEN]
(__basic_file<char>::open(const wchar_t*, ios_base::openmode)):
Declare new overload.
* configure.ac: Check for _wfopen.
* crossconfig.m4: Likewise.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/bits/fstream.tcc [_GLIBCXX_HAVE__WFOPEN]
(basic_filebuf<C,T>::open(const wchar_t*, ios_base::openmode)):
Define new overload.
* include/std/fstream [_GLIBCXX_HAVE__WFOPEN]
(basic_filebuf<C,T>::open(const wchar_t*, ios_base::openmode)):
Declare new overload.
[_GLIBCXX_HAVE__WFOPEN]
(basic_ifstream<C,T>::basic_ifstream(const wchar_t*, openmode))
(basic_ifstream<C,T>::basic_open(const wchar_t*, openmode))
(basic_ofstream<C,T>::basic_ifstream(const wchar_t*, openmode))
(basic_ofstream<C,T>::basic_open(const wchar_t*, openmode))
(basic_fstream<C,T>::basic_ifstream(const wchar_t*, openmode))
(basic_fstream<C,T>::basic_open(const wchar_t*, openmode)): Define
new overloads.
* testsuite/27_io/basic_filebuf/open/wchar_t/1.cc: New.
* testsuite/27_io/basic_ifstream/cons/wchar_t/1.cc: New.
* testsuite/27_io/basic_ifstream/open/wchar_t/1.cc: New.
* testsuite/27_io/basic_ofstream/cons/wchar_t/1.cc: New.
* testsuite/27_io/basic_ofstream/open/wchar_t/1.cc: New.
* testsuite/27_io/basic_fstream/cons/wchar_t/1.cc: New.
* testsuite/27_io/basic_fstream/open/wchar_t/1.cc: New.
Added:
trunk/libstdc++-v3/testsuite/27_io/basic_filebuf/open/wchar_t/
trunk/libstdc++-v3/testsuite/27_io/basic_filebuf/open/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/27_io/basic_fstream/cons/wchar_t/
trunk/libstdc++-v3/testsuite/27_io/basic_fstream/cons/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/27_io/basic_fstream/open/wchar_t/
trunk/libstdc++-v3/testsuite/27_io/basic_fstream/open/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/wchar_t/
trunk/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/27_io/basic_ifstream/open/wchar_t/
trunk/libstdc++-v3/testsuite/27_io/basic_ifstream/open/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/wchar_t/
trunk/libstdc++-v3/testsuite/27_io/basic_ofstream/cons/wchar_t/1.cc
trunk/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/
trunk/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/1.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config.h.in
trunk/libstdc++-v3/config/io/basic_file_stdio.cc
trunk/libstdc++-v3/config/io/basic_file_stdio.h
trunk/libstdc++-v3/configure
trunk/libstdc++-v3/configure.ac
trunk/libstdc++-v3/crossconfig.m4
trunk/libstdc++-v3/include/bits/fstream.tcc
trunk/libstdc++-v3/include/std/fstream
More information about the Libstdc++-cvs
mailing list