summaryrefslogtreecommitdiff
path: root/libstdc++-v3
AgeCommit message (Collapse)Author
2015-10-04 Implement N4514, C++ Extensions for Transactional Memory.jason
gcc/ * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute. gcc/c-family/ * c-common.c (c_common_reswords): Add C++ TM TS keywords. (c_common_attribute_table): Add transaction_safe_dynamic. transaction_safe now affects type identity. (handle_tm_attribute): Handle transaction_safe_dynamic. * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT, RID_ATOMIC_CANCEL, RID_SYNCHRONIZED. (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED. (D_TRANSMEM): New. * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory. * c-pretty-print.c (pp_c_attributes_display): Don't print transaction_safe in C++. gcc/c/ * c-parser.c (c_lex_one_token): Handle @synchronized. * c-decl.c (match_builtin_function_types): A declaration of a built-in can change whether the function is transaction_safe. gcc/cp/ * cp-tree.h (struct cp_declarator): Add tx_qualifier field. (BCS_NORMAL, BCS_TRANSACTION): New enumerators. * lex.c (init_reswords): Limit TM kewords to -fgnu-tm. * parser.c (cp_lexer_get_preprocessor_token): Fix @synchronized. (make_call_declarator): Take tx_qualifier. (cp_parser_tx_qualifier_opt): New. (cp_parser_lambda_declarator_opt): Use it. (cp_parser_direct_declarator): Likewise. (cp_parser_statement): Handle atomic_noexcept, atomic_cancel. (cp_parser_compound_statement): Change in_try parameter to bcs_flags. (cp_parser_std_attribute): Map optimize_for_synchronized to transaction_callable. (cp_parser_transaction): Take the token. Handle atomic_noexcept. * lambda.c (maybe_add_lambda_conv_op): Handle transaction-safety. * call.c (enum conversion_kind): Add ck_tsafe. (standard_conversion): Handle transaction-safety conversion. (convert_like_real, resolve_address_of_overloaded_function): Likewise. (check_methods): Diagnose transaction_safe_dynamic on non-virtual function. (look_for_tm_attr_overrides): Don't inherit transaction_safe_dynamic. * cvt.c (tx_safe_fn_type_p, tx_unsafe_fn_variant) (can_convert_tx_safety): New. * typeck.c (composite_pointer_type): Handle transaction-safety. * name-lookup.h (enum scope_kind): Add sk_transaction. * name-lookup.c (begin_scope): Handle it. * semantics.c (begin_compound_stmt): Pass it. * decl.c (check_previous_goto_1): Check it. (struct named_label_entry): Add in_transaction_scope. (poplevel_named_label_1): Set it. (check_goto): Check it. (duplicate_decls): A specialization can be transaction_safe independently of its template. (grokdeclarator): Handle tx-qualifier. * rtti.c (ptr_initializer): Handle transaction-safe. * search.c (check_final_overrider): Check transaction_safe_dynamic. Don't check transaction_safe. * mangle.c (write_function_type): Mangle transaction_safe here. (write_CV_qualifiers_for_type): Not here. (write_type): Preserve transaction_safe when stripping attributes. * error.c (dump_type_suffix): Print transaction_safe. libiberty/ * cp-demangle.c (d_cv_qualifiers): Dx means transaction_safe. (cplus_demangle_type): Let d_cv_qualifiers handle it. (d_dump, d_make_comp, has_return_type, d_encoding) (d_count_templates_scopes, d_print_comp_inner) (d_print_mod_list, d_print_mod, d_print_function_type) (is_ctor_or_dtor): Handle DEMANGLE_COMPONENT_TRANSACTION_SAFE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228462 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-03Remove pretty printing for 'any' with allocatorsredi
* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support for _Manager_alloc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228447 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-03Fix comments saying why headers are includedredi
* 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
2015-10-02Fix testsuite failures with --disable-wchar_tredi
* testsuite/21_strings/basic_string/literals/types.cc: Guard use of wchar_t with _GLIBCXX_USE_WCHAR_T. * testsuite/21_strings/basic_string/literals/values.cc: Likewise. * testsuite/21_strings/basic_string/requirements/citerators.cc: Likewise. * testsuite/22_locale/messages/13631.cc: Likewise. * testsuite/experimental/string_view/literals/types.cc: Likewise. * testsuite/experimental/string_view/literals/values.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228439 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-02Enable dual ABI for Filesystem libraryredi
* 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
2015-10-02 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:redi
Minor tweaks to match narrow char version. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228436 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-02Fix tests that fail with old std::stringredi
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard explicit instantiation with check for new ABI. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: Likewise. Use wchar_t as char_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228435 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-02Use noexcept instead of _GLIBCXX_NOEXCEPTredi
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::front() const, basic_string::back() const): Use noexcept instead of _GLIBCXX_NOEXCEPT macro. (__versa_string::front, __versa_string::back): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228434 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-02 * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.redi
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228433 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-02Allow Filesystem TS to compile without wchar_tredi
* 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
2015-10-02 * testsuite/util/testsuite_fs.h (nonexistent_path): Use less genericredi
name for paths. Prefer snprintf to sprintf. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228416 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-02PR libstdc++/67747 use readdir instead of readdir_rredi
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-10-01 * doc/html/manual/errno.html: Add new file.redi
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228348 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-01Save-and-restore errno more carefully in libstdc++redi
* doc/xml/manual/diagnostics.xml: Document use of errno. * doc/html/*: Regenerate. * config/locale/generic/c_locale.cc (_Save_errno): New helper. (__convert_to_v): Use _Save_errno. * include/ext/string_conversions.h (__stoa): Only restore errno when it isn't set to non-zero. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228328 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-302015-09-30 François Dumont <fdumont@gcc.gnu.org>fdumont
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
2015-09-302015-09-30 Matthias Klose <doko@ubuntu.com>doko
* config/cpu/alpha, config/cpu/ia64: Remove empty directories. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228291 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-29Leave errno unchanged by successful std::stoi etcredi
* include/ext/string_conversions.h (__stoa): Save and restore errno. * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228249 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-29PR libstdc++/67583 Fix invalid sputn calls in testsredi
PR libstdc++/67583 * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call with mismatched arguments. * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228245 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-29Reduce space and time overhead of std::threadredi
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
2015-09-28LWG 2135: terminate() in condition_variable::wait()redi
* 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
2015-09-25Avoid creating dangling references in case of nested tuplesville
for tuple constructors that construct from other tuples. 2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com> Avoid creating dangling references in case of nested tuples for tuple constructors that construct from other tuples. * include/std/tuple (_TC::_NonNestedTuple): New. * include/std/tuple (tuple::_TNTC): New. * include/std/tuple (tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&): Use _TNTC. * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228134 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-24Leave moved-from std::deque in a valid stateredi
PR libstdc++/67707 * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize empty object. * testsuite/23_containers/deque/allocator/move.cc: Check moved-from deque. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228090 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-23Limit number of symlinks that canonical() will resolveredi
* 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
2015-09-23Fix semantics of Filesystem TS directory iteratorsredi
[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
2015-09-23Fix filesystem::create_directories() functionredi
* 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-21Fix bootstrap error introduced in r227870redi
PR libstdc++/67647 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::shrink_to_fit): Fix #endif placement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227966 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-19 PR libstdc++/67361timshen
* include/bits/regex_error.h: Add __throw_regex_error that supports string. * include/bits/regex_automaton.h: Add more specific exception messages. * include/bits/regex_automaton.tcc: Likewise. * include/bits/regex_compiler.h: Likewise. * include/bits/regex_compiler.tcc: Likewise. * include/bits/regex_scanner.h: Likewise. * include/bits/regex_scanner.tcc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227936 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-18Fix errors due to extra includes in extc++.hredi
* include/precompiled/extc++.h: Fix bootstrap error due to unconditional inclusion of <ext/enc_filebuf.h>. * include/ext/random: Check for definition of UINT32_C. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227902 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-172015-09-17 Catherine Moore <clm@codesourcery.com>clm
* src/c++11/debug.cc: Include <cstdio>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227888 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-17Include <cerrno> in src/c++11/random.ccredi
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-172015-09-17 François Dumont <fdumont@gcc.gnu.org>fdumont
* 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
2015-09-17Handle alignment in __atomic_is_lock_freeredi
gcc: 2015-09-17 Richard Henderson <rth@redhat.com> PR libstdc++/65913 * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake pointers that encode the alignment of the object. libstdc++-v3: 2015-09-17 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/65913 * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the immediate pointer value, not a variable. * include/std/atomic (atomic<T>::is_lock_free()): Likewise. * testsuite/29_atomics/atomic/65913.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227878 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-17Remove non-deterministic part of canonical() testredi
* testsuite/experimental/filesystem/operations/canonical.cc: Remove non-deterministic part of the test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227873 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-17Make std::random_device retry after short readsredi
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
2015-09-17Remove redundant conditional expressions in <system_error>redi
* include/std/system_error (error_code::operator bool(), error_condition::operator bool()): Remove redundant conditional expression. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227871 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-17Only do shrink_to_fit() when exceptions enabledredi
* include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it): Do nothing if exceptions are disabled. * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227870 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-16Implement filesystem::canonical() without realpathredi
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
2015-09-11Fix filesystem::canonical on Solaris 10.redi
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
2015-09-11Check read() result in std::random_device.redi
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
2015-09-11Fix invalid UTF-8 in wchar_t tests.redi
2015-09-11 John Marino <gnugcc@marino.st> Jonathan Wakely <jwakely@redhat.com> PR libstdc++/67096 * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points above U+10FFFF. * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise. * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise. * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise. * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise. * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise. * testsuite/27_io/objects/wchar_t/10.cc: Likewise. * testsuite/27_io/objects/wchar_t/11.cc: Likewise. * testsuite/27_io/objects/wchar_t/12.cc: Likewise. * testsuite/27_io/objects/wchar_t/13.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227686 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-11Rationalise PCH headers and 17_intro/headers tests.redi
PR libstdc++/64857 * doc/xml/manual/using.xml: Improve aggregate header documentation. * doc/html/manual/*: Regenerate. * include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11 and later and include more extension headers. * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove redundant header. * testsuite/17_intro/headers/c++200x/: Rename to c++2011. * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove redundant headers. * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New. * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New. * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New. * testsuite/17_intro/headers/c++2014/operator_names.cc: New. * testsuite/17_intro/headers/c++2014/stdc++.cc: New. * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227684 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-11Implement N4258 noexcept for std::basic_string.redi
PR libstdc++/58265 * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions. * doc/html/manual/bugs.html: Regenerate. * include/bits/basic_string.h (basic_string): Implement N4258. Add correct exception-specifications and propagate allocators correctly. * include/bits/basic_string.tcc (basic_string::swap): Propagate allocators correctly. * include/debug/string (__gnu_debug::basic_string): Add correct exceptions-specifications and allcoator-extended constructors. * testsuite/21_strings/basic_string/allocator/char/copy.cc: New. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: New. * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New. * testsuite/21_strings/basic_string/allocator/char/move.cc: New. * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: New. * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New. * testsuite/21_strings/basic_string/allocator/char/swap.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New. * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New. * testsuite/util/testsuite_allocator.h (tracker_allocator): Define defaulted assignment operators. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227681 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-11Allocator-extended constructors for container adaptors.redi
PR libstdc++/65092 * include/bits/stl_queue.h (queue, priority_queue): Add allocator-extended constructors. * include/bits/stl_stack.h (stack): Likewise. * testsuite/23_containers/priority_queue/requirements/ uses_allocator.cc: Test allocator-extended constructors. * testsuite/23_containers/queue/requirements/uses_allocator.cc: Likewise. * testsuite/23_containers/stack/requirements/uses_allocator.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227680 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-10 * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add.redi
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227661 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-10 * testsuite/21_strings/basic_string/operators/char/1.cc: Verify theredi
string contents. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227660 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-09Enable lightweight checks with _GLIBCXX_ASSERTIONS.redi
* doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document. * doc/html/manual/using_macros.html: Regenerate. * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when _GLIBCXX_DEBUG is defined. Disable std::string extern templates when (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG. * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty. * include/backward/auto_ptr.h (auto_ptr::operator*, auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with __glibcxx_assert. * include/bits/basic_string.h (basic_string::operator[], basic_string::front, basic_string::back, basic_string::pop_back): Likewise. * include/bits/random.h (uniform_int_distribution::param_type::param_type, uniform_real_distribution::param_type::param_type, normal_distribution::param_type::param_type, gamma_distribution::param_type::param_type, bernoulli_distribution::param_type::param_type, binomial_distribution::param_type::param_type, geometric_distribution::param_type::param_type, negative_binomial_distribution::param_type::param_type, poisson_distribution::param_type::param_type, exponential_distribution::param_type::param_type): Likewise. * include/bits/regex.h (match_results::operator[], match_results::prefix, match_results::suffix): Likewise. * include/bits/regex.tcc (format, regex_iterator::operator++): Likewise. * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise. * include/bits/regex_compiler.tcc (_Compiler::_Compiler, _Compiler::_M_insert_character_class_matcher): Likewise. * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise. * include/bits/regex_scanner.tcc (_Scanner::_M_advance, _Scanner::_M_scan_normal): Likewise. * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset, __shared_ptr::operator*): Likewise. * include/bits/stl_iterator_base_funcs.h (__advance): Likewise. * include/bits/unique_ptr.h (unique_ptr::operator*, unique_ptr::operator[]): Likewise. * include/experimental/fs_path.h (path::path(string_type, _Type), path::iterator::operator++, path::iterator::operator--, path::iterator::operator*): Likewise. * include/experimental/string_view (basic_string_view::operator[], basic_string_view::front, basic_string_view::back, basic_string_view::remove_prefix): Likewise. * include/ext/random (beta_distribution::param_type::param_type, normal_mv_distribution::param_type::param_type, rice_distribution::param_type::param_type, pareto_distribution::param_type::param_type, k_distribution::param_type::param_type, arcsine_distribution::param_type::param_type, hoyt_distribution::param_type::param_type, triangular_distribution::param_type::param_type, von_mises_distribution::param_type::param_type, hypergeometric_distribution::param_type::param_type, logistic_distribution::param_type::param_type): Likewise. * include/ext/vstring.h (__versa_string::operator[]): Likewise. * include/std/complex (polar): Likewise. * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK] (timed_mutex::~timed_mutex, timed_mutex::unlock, (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock): Likewise. * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER] (__shared_mutex_pthread::__shared_mutex_pthread, __shared_mutex_pthread::~__shared_mutex_pthread): Likewise. (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock, __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared, __shared_mutex_pthread::try_lock_shared): Likewise. (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock, __shared_mutex_cv::unlock_shared): Likewise. (shared_timed_mutex::try_lock_until, shared_timed_mutex::try_lock_shared_until): Likewise. * include/std/valarray (valarray::valarray(const _Tp*, size_t), valarray::operator=, valarray::sum, valarray::min, valarray::max, _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227595 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-07Relax Debug Mode assertions on operator-> for smart pointers.redi
* include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT. * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise. * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on empty shared_ptr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227524 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-07Avoid #ifdef _GLIBCXX_DEBUG in regex_compiler.hredi
* include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready): Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227521 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-07Rename shadowed variable in libstdc++ test.redi
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename shadowed variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227519 138bc75d-0d04-0410-961f-82ee72b054a4
2015-09-07Enable timed mutex unlock tests on darwin.redi
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on darwin. * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227518 138bc75d-0d04-0410-961f-82ee72b054a4