summaryrefslogtreecommitdiff
path: root/libstdc++-v3/src
Commit message (Collapse)AuthorAgeFilesLines
* More fine-grained autoconf checks for C99 libraryredi2015-11-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com> Jonathan Wakely <jwakely@redhat.com> PR libstdc++/58393 PR libstdc++/61580 * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with -std=c++11 as well as -std=c++98, and define separate macros for each. Cache the results of checking for complex math and wide character functions. Reformat for readability. * config.h.in: Regenerate. * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to language standard in use. * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise. * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise. * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR. * configure: Regenerate. * include/bits/basic_string.h: Make numeric conversion functions depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. * include/ext/vstring.h: Likewise. * include/bits/locale_facets.tcc (std::num_put::_M_insert_float): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/bits/locale_facets_nonio.tcc (std::money_put::do_put): Likewise. * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH. * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * src/c++98/locale_facets.cc (std::__num_base::_S_format_float): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stof.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoi.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stol.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stold.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoll.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoul.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoull.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ to_wstring.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/13943.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise. * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions): Change preprocessor #if conditional so that it uses _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH. * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise. * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230324 138bc75d-0d04-0410-961f-82ee72b054a4
* Loop in std::this_thread sleep functionsredi2015-11-111-1/+2
| | | | | | | | | | | PR libstdc++/60421 * include/std/thread (this_thread::sleep_for): Retry on EINTR. (this_thread::sleep_until): Retry if time not reached. * src/c++11/thread.cc (__sleep_for): Retry on EINTR. * testsuite/30_threads/this_thread/60421.cc: Test interruption and non-steady clocks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230183 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix comments saying why headers are includedredi2015-10-032-2/+1
| | | | | | | * src/c++98/locale.cc: Fix comment. * src/c++98/locale_init.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228446 138bc75d-0d04-0410-961f-82ee72b054a4
* Enable dual ABI for Filesystem libraryredi2015-10-028-4/+113
| | | | | | | | | | | | | * src/filesystem/Makefile.am: Add cxx11_abi_sources. * src/filesystem/Makefile.in: Regenerate. * src/filesystem/cow-dir.cc: New. * src/filesystem/cow-ops.cc: New. * src/filesystem/cow-path.cc: New. * src/filesystem/dir.cc: Define macro for new ABI. * src/filesystem/ops.cc: Likewise. * src/filesystem/path.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228437 138bc75d-0d04-0410-961f-82ee72b054a4
* Allow Filesystem TS to compile without wchar_tredi2015-10-021-1/+5
| | | | | | | | | | | | | | | * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T] (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable. * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T] (path::wstring, path::generic_wstring): Disable. * src/filesystem/path.cc (path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. * testsuite/experimental/filesystem/path/assign/assign.cc: Check for wchar_t support. * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise. * testsuite/experimental/filesystem/path/construct/range.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228417 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/67747 use readdir instead of readdir_rredi2015-10-021-32/+25
| | | | | | | | | | PR libstdc++/67747 * src/filesystem/dir.cc (native_readdir): Remove. (_Dir::advance): Use readdir instead of native_readdir. (recursive_directory_iterator(const path&, directory_options, error_code*)): Use swap instead of reset. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228404 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-30 François Dumont <fdumont@gcc.gnu.org>fdumont2015-09-302-0/+12
| | | | | | | | | | | | | | | Jonathan Wakely <jwakely@redhat.com> * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs): Move... * config/locale/gnu/c++locale_internal.h: ...here in std namespace. * config/locale/gnu/c_locale.cc: Move implementation of latter here. * src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates. * src/c++98/Makefile.in: Regenerate. * config/abi/pre/gnu.ver: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228305 138bc75d-0d04-0410-961f-82ee72b054a4
* Reduce space and time overhead of std::threadredi2015-09-291-2/+45
| | | | | | | | | | | | | | | | | | | PR libstdc++/65393 * config/abi/pre/gnu.ver: Export new symbols. * include/std/thread (thread::_State, thread::_State_impl): New types. (thread::_M_start_thread): Add overload taking unique_ptr<_State>. (thread::_M_make_routine): Remove. (thread::_S_make_state): Add. (thread::_Impl_base, thread::_Impl, thread::_M_start_thread) [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally. * src/c++11/thread.cc (execute_native_thread_routine): Rename to execute_native_thread_routine_compat and re-define to use _State. (thread::_State::~_State()): Define. (thread::_M_make_thread): Define new overload. (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old overloads conditionally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228242 138bc75d-0d04-0410-961f-82ee72b054a4
* LWG 2135: terminate() in condition_variable::wait()redi2015-09-281-2/+2
| | | | | | | | | * include/std/condition_variable (condition_variable::wait): Add noexcept. * src/c++11/condition_variable.cc (condition_variable::wait): Call std::terminate on error (DR 2135). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228217 138bc75d-0d04-0410-961f-82ee72b054a4
* Limit number of symlinks that canonical() will resolveredi2015-09-231-33/+27
| | | | | | | * src/filesystem/ops.cc (canonical): Simplify error handling and limit number of symlinks that can be resolved. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228043 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix semantics of Filesystem TS directory iteratorsredi2015-09-231-59/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [class.directory_iterator] p4 and [directory_iterator.members] p4 require that only the default constructor and ignored permission denied errors can create the end iterator. * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_ prefix from HAVE_STRUCT_DIRENT_D_TYPE. * config.h.in: Regenerate. * configure: Regenerate. * include/experimental/fs_dir.h (operator==, operator==): Use owner_before instead of pointer equality. (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. * src/filesystem/dir.cc (ErrorCode): Remove. (_Dir::advance): Change ErrorCode parameter to error_code*, add directory_options parameter and check it on error. (opendir): Rename to open_dir to avoid clashing with macro. Change ErrorCode parameter to error_code*. (make_shared_dir): Remove. (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno. (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. (directory_iterator(const path&, directory_options, error_code*)): Pass options to _Dir::advance and create non-end iterator on error. (recursive_directory_iterator(const path&, directory_options, error_code*)): Clear error_code on ignored error, create non-end iterator otherwise. (recursive_directory_iterator::increment): Pass _M_options to _Dir::advance. (recursive_directory_iterator::pop): Likewise. * testsuite/experimental/filesystem/iterators/directory_iterator.cc: New. * testsuite/experimental/filesystem/iterators/ recursive_directory_iterator.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228042 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix filesystem::create_directories() functionredi2015-09-231-6/+41
| | | | | | | | | * src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers. (create_directories): Fix error handling. * testsuite/experimental/filesystem/operations/create_directories.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228041 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-17 Catherine Moore <clm@codesourcery.com>clm2015-09-171-0/+1
| | | | | | | | * src/c++11/debug.cc: Include <cstdio>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227888 138bc75d-0d04-0410-961f-82ee72b054a4
* Include <cerrno> in src/c++11/random.ccredi2015-09-171-0/+1
| | | | | | | | 2015-09-17 Gerald Pfeifer <gerald@pfeifer.com> * src/c++11/random.cc: Include <cerrno>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227887 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-09-17 François Dumont <fdumont@gcc.gnu.org>fdumont2015-09-171-386/+448
| | | | | | | | | | | | | | | | | | | * include/debug/formatter.h (_Error_formatter::_Parameter::_M_print_field): Deprecate. (_Error_formatter::_Parameter::_M_print_description): Likewise. (_Error_formatter::_M_format_word): Likewise. (_Error_formatter::_M_print_word): Likewise. (_Error_formatter::_M_print_string): Likewise. (_Error_formatter::_M_get_max_length): Likewise. (_Error_formatter::_M_max_length): Delete. (_Error_formatter::_M_indent): Likewise. (_Error_formatter::_M_column): Likewise. (_Error_formatter::_M_first_line): Likewise. (_Error_formatter::_M_wordwrap): Likewise. * src/c++11/debug.cc: Adapt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227885 138bc75d-0d04-0410-961f-82ee72b054a4
* Make std::random_device retry after short readsredi2015-09-171-7/+17
| | | | | | | | PR libstdc++/65142 * src/c++11/random.cc (random_device::_M_getval()): Retry after short reads. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227872 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement filesystem::canonical() without realpathredi2015-09-161-12/+87
| | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/67173 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION and PATH_MAX for _GLIBCXX_USE_REALPATH. * config.h.in: Regenerate. * configure: Regenerate. * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add alternative implementation. * testsuite/experimental/filesystem/operations/canonical.cc: New. * testsuite/experimental/filesystem/operations/exists.cc: Add more tests. * testsuite/experimental/filesystem/operations/absolute.cc: Add test variables. * testsuite/experimental/filesystem/operations/copy.cc: Likewise. * testsuite/experimental/filesystem/operations/current_path.cc: Likewise. * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. * testsuite/experimental/filesystem/operations/status.cc: Likewise. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227836 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix filesystem::canonical on Solaris 10.redi2015-09-111-1/+6
| | | | | | | | PR libstdc++/67173 * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for realpath on Solaris 10. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227689 138bc75d-0d04-0410-961f-82ee72b054a4
* Check read() result in std::random_device.kyukhin/interruptredi2015-09-111-4/+8
| | | | | | | PR libstdc++/65142 * src/c++11/random.cc (random_device::_M_getval()): Check read result. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227687 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/66902redi2015-09-031-1/+1
| | | | | | * src/c++11/debug.cc (_S_debug_messages): Make array const. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227466 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++/66902 Make _S_debug_messages static.redi2015-08-261-1/+1
| | | | | | | PR libstdc++/66902 * src/c++11/debug.cc (_S_debug_messages): Give internal linkage. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227228 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-08-24 François Dumont <fdumont@gcc.gnu.org>fdumont2015-08-251-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/60519 * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry. * include/debug/functions.h (_Irreflexive_checker): New. (__is_irreflexive, __is_irreflexive_pred): New. * include/debug/macros.h (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New macros. (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New macros limited to post-C++11 mode. * include/debug/debug.h (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred): New macros, use latter. (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2): Likewise. * include/bits/stl_algo.h (partial_sort_copy): Add irreflexive debug check. (partial_sort_copy): Likewise. (lower_bound): Likewise. (upper_bound): Likewise. (equal_range): Likewise. (binary_search): Likewise. (inplace_merge): Likewise. (includes): Likewise. (next_permutation): Likewise. (prev_permutation): Likewise. (is_sorted_until): Likewise. (minmax_element): Likewise. (partial_sort): Likewise. (nth_element): Likewise. (sort): Likewise. (merge): Likewise. (stable_sort): Likewise. (set_union): Likewise. (set_intersection): Likewise. (set_difference): Likewise. (set_symmetric_difference): Likewise. (min_element): Likewise. (max_element): Likewise. * include/bits/stl_algobase.h (lower_bound): Likewise. (lexicographical_compare): Likewise. * include/bits/stl_heap.h (push_heap): Likewise. (pop_heap): Likewise. (make_heap): Likewise. (sort_heap): Likewise. (is_heap_until): Likewise. * testsuite/25_algorithms/lexicographical_compare/debug/ irreflexive_neg.cc: New. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New. * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227189 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert my change to commit with PR reference again.fdumont2015-08-251-8/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227187 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-08-24 François Dumont <fdumont@gcc.gnu.org>fdumont2015-08-241-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): New enum entry. * include/debug/functions.h (_Irreflexive_checker): New. (__is_irreflexive, __is_irreflexive_pred): New. * include/debug/macros.h (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New macros. (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New macros limited to post-C++11 mode. * include/debug/debug.h (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred): New macros, use latter. (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2): Likewise. * include/bits/stl_algo.h (partial_sort_copy): Add irreflexive debug check. (partial_sort_copy): Likewise. (lower_bound): Likewise. (upper_bound): Likewise. (equal_range): Likewise. (binary_search): Likewise. (inplace_merge): Likewise. (includes): Likewise. (next_permutation): Likewise. (prev_permutation): Likewise. (is_sorted_until): Likewise. (minmax_element): Likewise. (partial_sort): Likewise. (nth_element): Likewise. (sort): Likewise. (merge): Likewise. (stable_sort): Likewise. (set_union): Likewise. (set_intersection): Likewise. (set_difference): Likewise. (set_symmetric_difference): Likewise. (min_element): Likewise. (max_element): Likewise. * include/bits/stl_algobase.h (lower_bound): Likewise. (lexicographical_compare): Likewise. * include/bits/stl_heap.h (push_heap): Likewise. (pop_heap): Likewise. (make_heap): Likewise. (sort_heap): Likewise. (is_heap_until): Likewise. * testsuite/25_algorithms/lexicographical_compare/debug/ irreflexive_neg.cc: New. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New. * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227147 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++-v3/fragment.am (AM_CPPFLAGS): Add CPPFLAGShaubi2015-07-244-4/+4
| | | | | | | | | | | | | | | | | | | | | 2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> * fragment.am (AM_CPPFLAGS): Add CPPFLAGS. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++98/Makefile.in: Regenerate. * src/filesystem/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226138 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/66855redi2015-07-131-1/+5
| | | | | | | | * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override endianness bit in mode. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225748 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/65393redi2015-06-161-5/+6
| | | | | | | * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr copies with moves. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224530 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/66464redi2015-06-121-1/+1
| | | | | | | * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length): Return 4 not 3. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224415 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/66417redi2015-06-081-1/+1
| | | | | | | | * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order for single UTF-16 units. * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224217 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-05-29 François Dumont fdumont@gcc.gnu.org>fdumont2015-05-291-83/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT, _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition... * include/debug/assertions.h: ...here, new. * include/debug/formatter.h (_Error_formatter::_Is_iterator_value_type): New. (_Error_formatter::_Is_instance): New. (_Error_formatter::_Parameter): Make public and not friend anymore. (_Error_formatter::_Parameter::__instance): New _M_kind enum entry. (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum entry. (_Error_formatter::_Parameter::_Type): New. (_Error_formatter::_Parameter::_Instance): New, inherit from latter. (union _Error_formatter::_Parameter::_M_variant): Reorganize. (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all overloads take iterator through a const reference. (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)): New. (_Parameter(const _Type&, const char*, _Is_instance)): New. (_Error_formatter::_M_print_type): Delete. (_Error_formatter::_M_iterator_value_type): New. (_Error_formatter::_M_instance): New. * include/Makefile.am: Add new above debug file. * include/Makefile.in: Regenerate. * include/debug/functions.h (__check_dereferenceable(const _Safe_iterator<>&), __valid_range(const _Safe_iterator<>&), __is_safe_random_iterator<_Safe_iterator<>>): Move... * include/debug/safe_iterator.h: ... here. Replace debug.h include with assertions.h. (__check_singular_aux): Move... * include/debug/safe_base.h: ... here. * include/debug/functions.h (__check_dereferenceable(const _Safe_local_iterator<>&), __valid_range(const _Safe_local_iterator<>&): Move... * include/debug/safe_local_iterator.h: ...here. * include/debug/safe_sequence.h: Replace debug.h with assertions.h. Remove _Safe_iterator declaration. * include/debug/safe_unordered_container.h: Replace debug.h with assertions.h. * include/debug/array: Replace safe_sequence.h include with formatter.h and macros.h. * include/debug/deque: Include functions.tcc. * include/debug/forward_list: Likewise. * include/debug/list: Likewise. * include/debug/string: Likewise. * include/debug/vector: Likewise. * include/bits/unique_ptr.h: Replace debug.h include with new assertions.h. * include/bits/stl_iterator_base_funcs.h: Likewise. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust dg-error line number. * testsuite/23_containers/array/tuple_interface/ tuple_element_debug_neg.cc: Likewise. * src/c++11/debug.cc: Adapt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223877 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/bits/locale_conv.h: Fix copyright years.redi2015-05-261-1/+1
| | | | | | | | | | | | | | | | | | * include/bits/quoted_string.h: Likewise. * src/filesystem/Makefile.am: Likewise. * testsuite/22_locale/conversions/buffer/1.cc: Likewise. * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: Likewise. * testsuite/22_locale/conversions/string/1.cc: Likewise. * testsuite/22_locale/conversions/string/2.cc: Likewise. * testsuite/22_locale/conversions/string/3.cc: Likewise. * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: Likewise. * testsuite/22_locale/conversions/string/requirements/typedefs.cc: Likewise. * testsuite/util/testsuite_fs.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223676 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-05-20 François Dumont <fdumont@gcc.gnu.org>fdumont2015-05-201-183/+188
| | | | | | | | | | | | | * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify usage of typeid. (_Error_formatter::_M_print_type): New. * src/c++11/debug.cc (_Error_formatter::_Parameter::_M_print_field): Use latter. (_Error_formatter::_M_print_type): Implement latter using __cxaabiv1::__cxa_demangle to print demangled type name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223455 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/filesystem/ops.cc (stat_type): Define alias for struct stat andredi2015-05-151-42/+71
| | | | | | | | | | | | | | | | | use throughout the file. (make_file_type): New function. (file_size(const path&, error_code&)): Report an error for anything that isn't a regular file. (status(const path&), symlink_status(const path&)): Do not throw for file_type::not_found. (temp_directory_path()): Check additional environment variables. * testsuite/experimental/filesystem/operations/exists.cc: New. * testsuite/experimental/filesystem/operations/file_size.cc: New. * testsuite/experimental/filesystem/operations/status.cc: New. * testsuite/experimental/filesystem/operations/temp_directory_path.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223224 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/66011redi2015-05-141-21/+29
| | | | | | | | | | | | | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and sendfile. * config.h.in: Regenerate. * configure: Regenerate. * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do not return after copying contents. Use fchmod, fchmodat, and sendfile when available. (current_path, permissions, space): Use errno not return value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223196 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++: Bump to automake 1.11.6haubi2015-05-134-35/+161
| | | | | | | | | | | | | | | | | | | | | 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> * Makefile.in: Regenerated with automake-1.11.6. * aclocal.m4: Likewise. * configure: Likewise. * doc/Makefile.in: Likewise. * include/Makefile.in: Likewise. * libsupc++/Makefile.in: Likewise. * po/Makefile.in: Likewise. * python/Makefile.in: Likewise. * src/Makefile.in: Likewise. * src/c++11/Makefile.in: Likewise. * src/c++98/Makefile.in: Likewise. * src/filesystem/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223125 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.jason2015-05-094-0/+4
| | | | | | | | * src/c++98/Makefile.in: Regenerate. * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. * src/Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222964 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/experimental/fs_path.h (filesystem_error::~filesystem_error):redi2015-05-021-0/+2
| | | | | | | | Declare. * src/filesystem/path.cc (filesystem_error::~filesystem_error): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222720 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:redi2015-05-021-7/+9
| | | | | | | Set timespec members explicitly instead of with a braced-init-list. [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222718 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/filesystem/path.cc (path::compare): Do not copy strings.redi2015-05-011-2/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222704 138bc75d-0d04-0410-961f-82ee72b054a4
* * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>redi2015-05-012-16/+48
| | | | | | | | | | | | | | | | | | | | is not available. (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat. * configure: Regenerate. * config.h.in: Regenerate. * configure.ac: Check for utime.h * include/experimental/fs_path.h (path::string<>) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword. * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir, closedir, dirent, readdir_r): Replace dummy functions with #error. (native_readdir, _Dir::advance): Use readdir when readdir_r is missing. * src/filesystem/ops.cc (do_stat, is_set): Make inline. (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime. (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod. (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set error_code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222703 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/experimental/fs_path.h (path::_List): Use vector instead ofredi2015-05-011-6/+5
| | | | | | | | | | | list. * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt. * src/filesystem/path.cc: Use std::prev instead of decrementing rvalues. Fix whitespace. * testsuite/experimental/filesystem/path/decompose/parent_path.cc: Do not decrement iterators before begin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222702 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement N4100 File System TSredi2015-04-307-3/+2805
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define. (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define. * config.h.in: Regenerate. * configure: Regenerate. * configure.ac: Enable filesystem TS and check its dependencies. * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in, __str_codecvt_out): Move code conversion logic from wstring_convert into new global functions. (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new functions. (wstring_convert::_M_conv): Remove. * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip. * include/experimental/filesystem: New. * include/experimental/fs_dir.h: New. * include/experimental/fs_fwd.h: New. * include/experimental/fs_ops.h: New. * include/experimental/fs_path.h: New. * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h. * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add. * src/Makefile.am (SUBDIRS): Add filesystem. * src/Makefile.in: Regenerate. * src/filesystem/Makefile.am: New. * src/filesystem/Makefile.in: New. * src/filesystem/dir.cc: New. * src/filesystem/ops.cc: New. * src/filesystem/path.cc: New. * testsuite/experimental/filesystem/operations/absolute.cc: New. * testsuite/experimental/filesystem/operations/copy.cc: New. * testsuite/experimental/filesystem/operations/current_path.cc: New. * testsuite/experimental/filesystem/path/append/path.cc: New. * testsuite/experimental/filesystem/path/assign/assign.cc: New. * testsuite/experimental/filesystem/path/assign/copy.cc: New. * testsuite/experimental/filesystem/path/compare/compare.cc: New. * testsuite/experimental/filesystem/path/compare/path.cc: New. * testsuite/experimental/filesystem/path/compare/strings.cc: New. * testsuite/experimental/filesystem/path/concat/path.cc: New. * testsuite/experimental/filesystem/path/concat/strings.cc: New. * testsuite/experimental/filesystem/path/construct/copy.cc: New. * testsuite/experimental/filesystem/path/construct/default.cc: New. * testsuite/experimental/filesystem/path/construct/locale.cc: New. * testsuite/experimental/filesystem/path/construct/range.cc: New. * testsuite/experimental/filesystem/path/decompose/extension.cc: New. * testsuite/experimental/filesystem/path/decompose/filename.cc: New. * testsuite/experimental/filesystem/path/decompose/parent_path.cc: New. * testsuite/experimental/filesystem/path/decompose/relative_path.cc: New. * testsuite/experimental/filesystem/path/decompose/root_directory.cc: New. * testsuite/experimental/filesystem/path/decompose/root_name.cc: New. * testsuite/experimental/filesystem/path/decompose/root_path.cc: New. * testsuite/experimental/filesystem/path/decompose/stem.cc: New. * testsuite/experimental/filesystem/path/generic/generic_string.cc: New. * testsuite/experimental/filesystem/path/itr/traversal.cc: New. * testsuite/experimental/filesystem/path/modifiers/clear.cc: New. * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc: New. * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: New. * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc: New. * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: New. * testsuite/experimental/filesystem/path/modifiers/swap.cc: New. * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New. * testsuite/experimental/filesystem/path/query/empty.cc: New. * testsuite/experimental/filesystem/path/query/has_extension.cc: New. * testsuite/experimental/filesystem/path/query/has_filename.cc: New. * testsuite/experimental/filesystem/path/query/has_parent_path.cc: New. * testsuite/experimental/filesystem/path/query/has_relative_path.cc: New. * testsuite/experimental/filesystem/path/query/has_root_directory.cc: New. * testsuite/experimental/filesystem/path/query/has_root_name.cc: New. * testsuite/experimental/filesystem/path/query/has_root_path.cc: New. * testsuite/experimental/filesystem/path/query/has_stem.cc: New. * testsuite/experimental/filesystem/path/query/is_relative.cc: New. * testsuite/util/testsuite_fs.h: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222654 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-30 François Dumont <fdumont@gcc.gnu.org>fdumont2015-04-301-1/+3
| | | | | | | | | | | * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): Delete. * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt): Remove usage of latter and compute size of the prime numbers array locally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222611 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64967redi2015-03-232-0/+5
| | | | | | | | | | * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use. * configure: Regenerate. * src/c++11/compatibility-c++0x.cc (error_category), generic_category, system_category): Use macros for versioned namespace. * src/c++11/futex.cc: Add missing end macro for versioned namespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221600 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/65046jason2015-03-191-14/+7
| | | | | | | | | | | | | | | | | | | | | | | Automatically propagate ABI tags to variables and functions from their (return) type. * class.c (check_tag): Handle variables and functions. (mark_or_check_attr_tags): Split out from find_abi_tags_r. (mark_or_check_tags): Likewise. (mark_abi_tags): Use it. Rename from mark_type_abi_tags. (check_abi_tags): Add single argument overload for decls. Handle inheriting tags for decls. * mangle.c (write_mangled_name): Call it. (mangle_return_type_p): Split out from write_encoding. (unmangled_name_p): Split out from write_mangled_name. (write_mangled_name): Ignore abi_tag on namespace. * cp-tree.h (NAMESPACE_IS_INLINE): Replace NAMESPACE_ABI_TAG. * parser.c (cp_parser_namespace_definition): Set it. * name-lookup.c (handle_namespace_attrs): Use arguments. Warn about abi_tag attribute on non-inline namespace. * tree.c (check_abi_tag_args): Split out from handle_abi_tag_attribute. (handle_abi_tag_attribute): Allow tags on variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221521 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/65046redi2015-03-184-7/+22
| | | | | | | | | | | | | | | | | * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs, get_catalogs): Add abi-tag. * include/ext/codecvt_specializations.h (encoding_state, encoding_char_traits): Likewise. * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise. * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string, numpunct_shim, collate_shim, time_get_shim, moneypunct_shim, money_get_shim, money_put_shim, messages_shim): Likewise. * src/c++11/future.cc (future_error_category::message): Likewise. * src/c++11/system_error.cc (generic_error_category::message, system_error_category::message): Likewise. (__sso_string): Disable -Wabi-tag warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221497 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/std/future (future_error(error_code)): Construct baseredi2015-03-061-1/+1
| | | | | | | | class with error_code's message. * src/c++11/future.cc (future_error::what()): Do not call c_str() on temporary string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221236 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/64797redi2015-03-041-40/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle incomplete multibyte sequences correctly. * include/std/codecvt (codecvt_utf8, codecvt_utf16, codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point. * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character): Define constants. (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point): Define convenience functions. (read_utf8_code_point): Return relevant constant to distinguish incomplete characters from invalid sequences. (read_utf16_code_point): Likewise. Check for invalid sequences. (ucs4_in, utf16_in): Use incomplete_mb_character constant. (utf16_out): Check for invalid sequences. (utf16_span): Fix condition. (ucs2_out): Use is_high_surrogate. (ucs2_in): Use incomplete_mb_character constant and fix condition. * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace. * testsuite/22_locale/conversions/buffer/1.cc: New. * testsuite/22_locale/conversions/string/2.cc: Use char16_t and char32_t instead of wchar_t. * testsuite/22_locale/conversions/string/3.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221189 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to outputredi2015-02-181-7/+9
| | | | | | | | | | | surrogate pairs. (utf16_in): Pass mode argument to write_utf16_code_point. (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to native byte order. * testsuite/22_locale/codecvt/char16_t.cc: New. * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220793 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/c++11/futex.cc: Do not define for gthr-single.h targets.redi2015-02-011-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220319 138bc75d-0d04-0410-961f-82ee72b054a4