aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
AgeCommit message (Collapse)Author
2017-08-09PR libstdc++/81751 don't call fflush(NULL)Jonathan Wakely
PR libstdc++/79820 PR libstdc++/81751 * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)): Call fflush on the stream instead of calling sync() while _M_cfile is null. Restore original value of errno. * testsuite/ext/stdio_filebuf/char/79820.cc: New. * testsuite/ext/stdio_filebuf/char/81751.cc: New. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@250993 138bc75d-0d04-0410-961f-82ee72b054a4
2017-07-232017-07-23 Michael Collison <michael.collison@arm.com>Michael Collison
Add optimized implementation of mersenne twister for aarch64 * config/cpu/aarch64/opt/ext/opt_random.h: New file. (__arch64_recursion): New function. (__aarch64_lsr_128): New function. (__aarch64_lsl_128): New function. (operator==): New function. (simd_fast_mersenne_twister_engine): Implement method _M_gen_rand. * config/cpu/aarch64/opt/bits/opt_random.h: New file. * include/ext/random: (simd_fast_mersenne_twister_engine): add _M_state private array. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@250464 138bc75d-0d04-0410-961f-82ee72b054a4
2017-07-21Add AddressSanitizer annotations to std::vectorJonathan Wakely
* config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__] (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. * config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__] (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. * doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro. * include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR] (_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit) (_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT) (_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW) (_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC): Define annotation helper types and macros. (vector::~vector, vector::push_back, vector::pop_back) (vector::_M_erase_at_end): Add annotations. * include/bits/vector.tcc (vector::reserve, vector::emplace_back) (vector::insert, vector::_M_erase, vector::operator=) (vector::_M_fill_assign, vector::_M_assign_aux) (vector::_M_insert_rval, vector::_M_emplace_aux) (vector::_M_insert_aux, vector::_M_realloc_insert) (vector::_M_fill_insert, vector::_M_default_append) (vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@250430 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-21Update baseline symbols for aarch64-none-linux-gnuRamana Radhakrishnan
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Regenerate git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@249454 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-20 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.Uros Bizjak
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@249418 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-19Update Solaris baselines for GCC 8.0 (PR libstdc++/81092)Rainer Orth
* config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate. * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise. * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise. * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise. * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise. * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@249362 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-18x32: Update baseline_symbols.txtH.J. Lu
PR libstdc++/81092 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@249349 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-18PR libstdc++/81092Andreas Schwab
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@249348 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-16 PR libstdc++/81092Jakub Jelinek
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@249260 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-16PR libstdc++/81092 add std::wstring symbols and bump library versionJonathan Wakely
PR libstdc++/81092 * acinclude.m4: Bump libtool_VERSION. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/pre/gnu.ver: Add wstring constructor symbols to GLIBCXX_3.4.24 version and move random_device::_M_get_entropy() symbol to new GLIBCXX_3.4.25 version. * doc/xml/manual/abi.xml: Document new versions. * doc/html/*: Regenerate. * testsuite/21_strings/basic_string/cons/char/8.cc: Use base object constructors to ensure required symbols are exported. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. * testsuite/util/testsuite_abi.cc: Add new version. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@249246 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-03* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.Andreas Schwab
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@248854 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-24 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.Andreas Schwab
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@248420 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-23PR libstdc++/67578 Implement non-trivial std::random_device::entropyXi Ruoyao
2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn> Jonathan Wakely <jwakely@redhat.com> PR libstdc++/67578 * acinclude.m4: Bump libtool_VERSION. * config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol. * config.h.in: Regenerate. * configure: Regenerate. * configure.ac: Add test for <linux/random.h>. * doc/xml/manual/abi.xml: Document new library version. * include/bits/random.h (random_device::entropy) [_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member. (random_device::_M_getentropy): Declare. * src/c++11/random.cc (random_device::_M_getentropy): Define. * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known versions, and make it the latest version. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@248374 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-112017-05-11 François Dumont <fdumont@gcc.gnu.org>François Dumont
* include/debug/formatter.h [_GLIBCXX_INLINE_VERSION] (__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove. (__gnu_debug::_Error_formatter::_Parameter::_M_print_description): Remove. (__gnu_debug::_Error_formatter::_M_format_word): Remove. (__gnu_debug::_Error_formatter::_M_print_word): Remove. (__gnu_debug::_Error_formatter::_M_print_string): Remove. (__gnu_debug::_Error_formatter::_M_get_max_length): Remove. * src/c++11/debug.cc: Adapt. * config/abi/pre/gnu-versioned-namespace.ver: Adapt. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@247925 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-102017-05-10 François Dumont <fdumont@gcc.gnu.org>François Dumont
Bump version namespace. * config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0. * acinclude.m4 (libtool_VERSION): Bump to 8:0:0. * include/bits/c++config: Adapt. * include/bits/regex.h: Adapt. * include/experimental/bits/fs_fwd.h: Adapt. * include/experimental/bits/lfts_config.h: Adapt. * include/std/variant: Adapt. * python/libstdcxx/v6/printers.py: Adapt. * testsuite/libstdc++-prettyprinters/48362.cc: Adapt. * include/bits/stl_tree.h (_Rb_tree_impl<>): Remove _Is_pod_comparator template parameter when version namespace is active. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@247858 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-022017-05-02 Hugo Beauzée-Luyssen <hugo@beauzee.fr>Hugo Beauzée-Luyssen
PR libstdc++/69506 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@247502 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-13x32: Update baseline_symbols.txtH.J. Lu
PR libstdc++/79348 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@245394 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-13 PR libstdc++/79348Jakub Jelinek
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@245389 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-02Update libstdc++ baseline symbols for x32H.J. Lu
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@245134 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-02Separate Solaris/SPARC and x86 baselinesRainer Orth
* configure.host: Separate Solaris/SPARC and x86 baselines. * config/abi/post/solaris2.10/baseline_symbols.txt: Move ... * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ... * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: ... here. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ... * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here. * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file. * config/abi/post/solaris2.11/baseline_symbols.txt: Move ... * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here. * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ... * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: ... here. * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ... * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here. * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@245131 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-02Update Solaris baselinesRainer Orth
* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@245130 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-01PR libstdc++/79254 simplify exception-safety in copy assignmentJonathan Wakely
PR libstdc++/79254 * config/abi/pre/gnu.ver: Remove recently added symbols. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::_M_copy_assign): Remove. (basic_string::operator=(const basic_string&)): Don't dispatch to _M_copy_assign. If source object is small just deallocate, otherwise perform new allocation before making any changes. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (basic_string::_M_copy_assign(const basic_string&, true_type)): Remove. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: Test cases where the allocators are equal or the string is small. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@245085 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-27PR libstdc++/79254 fix exception-safety in std::string::operator=Jonathan Wakely
PR libstdc++/79254 * config/abi/pre/gnu.ver: Add new symbols. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::_M_copy_assign): New overloaded functions to perform copy assignment. (basic_string::operator=(const basic_string&)): Dispatch to _M_copy_assign. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (basic_string::_M_copy_assign(const basic_string&, true_type)): Define, performing rollback on exception. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: Test exception-safety guarantee. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Likewise. * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make std::swap visible. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@244986 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-13PR65411 don't retry fclose on EINTRJonathan Wakely
PR libstdc++/65411 * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't retry fclose on EINTR. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@244451 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-04Support exception propagation without lock-free atomic intPauli Nieminen
2017-01-04 Pauli Nieminen <suokkos@gmail.com> Jonathan Wakely <jwakely@redhat.com> PR libstdc++/64735 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define. * config.h.in: Regenerate. * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make exports for exception_ptr, nested_exception, and future conditional. [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add exports for exception_ptr, nested_exception, and future conditional. * configure: Regenerate. * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER. * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE * libsupc++/eh_atomics.h: New file for internal use only. (__eh_atomic_inc, __eh_atomic_dec): New. * libsupc++/eh_ptr.cc (exception_ptr::_M_addref) (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup) (rethrow_exception): Use eh_atomics.h reference counting helpers. * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise. * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise. * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE. * libsupc++/exception_ptr.h: Likewise. * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro. * libsupc++/nested_exception.cc: Remove check for ATOMIC_INT_LOCK_FREE. * libsupc++/nested_exception.h: Likewise. * src/c++11/future.cc: Likewise. * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks. * testsuite/18_support/nested_exception/*: Likewise. * testsuite/30_threads/async/*: Likewise. * testsuite/30_threads/future/*: Likewise. * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise. * testsuite/30_threads/packaged_task/*: Likewise. * testsuite/30_threads/promise/*: Likewise. * testsuite/30_threads/shared_future/*: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@244051 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-01 Update copyright years.Jakub Jelinek
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@243994 138bc75d-0d04-0410-961f-82ee72b054a4
2016-12-21PR 71444 define more error constants for mingw-w64Jonathan Wakely
PR libstdc++/71444 * config/os/mingw32-w64/error_constants.h (address_family_not_supported, address_in_use, address_not_available) (already_connected, connection_aborted, connection_already_in_progress) connection_refused, connection_reset, cross_device_link) (destination_address_required, host_unreachable, message_size) (network_down, network_reset, network_unreachable, no_buffer_space) (no_protocol_option, not_a_socket, not_connected, operation_canceled) (operation_in_progress, operation_not_supported, protocol_error) (protocol_not_supported, too_many_links, too_many_symbolic_link_levels) (value_too_large, wrong_protocol_type): Define. (bad_message, identifier_removed, no_link, no_message_available) (no_message, no_stream_resources, not_a_stream, owner_dead) (state_not_recoverable, stream_timeout, text_file_busy): Define conditionally. * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: Guard test for no_message with _GLIBCXX_HAVE_ENOMSG. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@243853 138bc75d-0d04-0410-961f-82ee72b054a4
2016-12-03 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.John David Anglin
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@243220 138bc75d-0d04-0410-961f-82ee72b054a4
2016-11-072016-11-07 François Dumont <fdumont@gcc.gnu.org>François Dumont
* config/abi/pre/gnu-versioned-namespace.ver: Export C++17 new of over-aligned types symbols. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@241936 138bc75d-0d04-0410-961f-82ee72b054a4
2016-10-03Fix libstdc++ versioned namespace buildJonathan Wakely
PR libstdc++/68323 PR libstdc++/77794 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for __cxa_thread_atexit and __gnu_cxx::__freeres. * include/Makefile.am: Add <experimental/bits/lfts_config.h> * include/Makefile.in: Regenerate. * include.bits/basic_string.h: Fix nesting of versioned namespaces. * include/bits/c++config: Declare versioned namespaces for literals. * include/bits/regex.h (basic_regex, match_results): Add workarounds for PR c++/59256. * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace. * include/std/chrono: Likewise. * include/std/complex: Likewise. * include/std/string_view: Likewise. * include/std/variant: Likewise. Add workaround for PR c++/59256. * include/experimental/bits/fs_fwd.h: Declare versioned namespace. * include/experimental/bits/lfts_config.h: Declare versioned namespaces. * include/experimental/algorithm: Include <experimental/bits/lfts_config.h>. * include/experimental/any: Likewise. * include/experimental/bits/erase_if.h: Likewise. * include/experimental/chrono: Likewise. * include/experimental/functional: Likewise. * include/experimental/memory_resource: Likewise. * include/experimental/optional: Likewise. * include/experimental/propagate_const: Likewise. * include/experimental/random: Likewise. * include/experimental/ratio: Likewise. * include/experimental/system_error: Likewise. * include/experimental/tuple: Likewise. * include/experimental/type_traits: Likewise. * include/experimental/utility: Likewise. * include/experimental/string_view: Likewise. Fix nesting of versioned namespaces. * include/experimental/bits/string_view.tcc: Reopen inline namespace for non-inline function definitions. * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test. * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line. * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise. * testsuite/experimental/propagate_const/assignment/move_neg.cc: Likewise. * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. * testsuite/experimental/propagate_const/requirements2.cc: Likewise. * testsuite/experimental/propagate_const/requirements3.cc: Likewise. * testsuite/experimental/propagate_const/requirements4.cc: Likewise. * testsuite/experimental/propagate_const/requirements5.cc: Likewise. * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@240714 138bc75d-0d04-0410-961f-82ee72b054a4
2016-09-23[RTEMS] Always use atomic builtins for libstdc++Sebastian Huber
libstdc++-v3/ * config/cpu/m68k/atomicity.h: Adjust comment. * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor explicit atomicity_dir setup via configure.host. * configure.host (rtems-*): Set atomicity_dir. * configure: Regenerate. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@240387 138bc75d-0d04-0410-961f-82ee72b054a4
2016-09-12 * config/abi/pre/gnu.ver: Use [jmy] for size_t.Jason Merrill
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@240097 138bc75d-0d04-0410-961f-82ee72b054a4
2016-09-09 Implement P0035R4, C++17 new of over-aligned types.Jason Merrill
gcc/cp/ * cp-tree.h (enum cp_tree_index): Add CPTI_ALIGN_TYPE. (align_type_node): New macro. * call.c (build_operator_new_call): Handle C++17 aligned new. (second_parm_is_size_t, build_op_delete_call): Likewise. (non_placement_deallocation_fn_p): Likewise. Rename to usual_deallocation_fn_p. (aligned_allocation_fn_p, aligned_deallocation_fn_p): New. * decl.c (cxx_init_decl_processing): Add aligned new support. * init.c (type_has_new_extended_alignment): New. (build_new_1): Handle aligned new. * tree.c (vec_copy_and_insert): New. gcc/c-family/ * c.opt: Add -faligned-new and -Waligned-new. * c-common.c (max_align_t_align): Split out from... (cxx_fundamental_alignment_p): ...here. * c-common.h: Declare it. * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new. libstdc++-v3/ * libsupc++/new: Declare aligned new/delete operators. * config/abi/pre/gnu.ver: Export them. * configure.ac: Check for aligned_alloc, posix_memalign, memalign, _aligned_malloc. * libsupc++/new_opa.cc: New. * libsupc++/new_opant.cc: New. * libsupc++/new_opva.cc: New. * libsupc++/new_opva.cc: New. * libsupc++/del_opa.cc: New. * libsupc++/del_opant.cc: New. * libsupc++/del_opsa.cc: New. * libsupc++/del_opva.cc: New. * libsupc++/del_opvant.cc: New. * libsupc++/del_opvsa.cc: New. * libsupc++/Makefile.am: Build them. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@240056 138bc75d-0d04-0410-961f-82ee72b054a4
2016-08-26Add new std::basic_string constructor (LWG 2583)Jonathan Wakely
* config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more precise patterns for basic_string constructors. (GLIBCXX_3.4.23): Export new constructors. * doc/xml/manual/intro.xml: Document LWG 2583 status. * doc/html/*: Regenerate. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string(const basic_string&, size_type, const Alloc&)): Add new constructor for LWG 2583. (basic_string(const basic_string&, size_type, size_type)): Remove default argument. [!_GLIBCXX_USE_CXX11_ABI]: Likewise. * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it. * testsuite/21_strings/basic_string/cons/char/8.cc: New test. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@239773 138bc75d-0d04-0410-961f-82ee72b054a4
2016-08-22libstdc++/68297 avoid throw/catch in make_exception_ptrGleb Natapov
2016-08-22 Gleb Natapov <gleb@scylladb.com> PR libstdc++/68297 * config/abi/pre/gnu-versioned-namespace.ver: Export __cxa_init_primary_exception and std::exception_ptr(void*). * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and export __cxa_init_primary_exception and std::exception_ptr(void*). * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * libsupc++/Makefile.am: Add new headers. * libsupc++/Makefile.in: Regenerate. * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ... * libsupc++/cxxabi_init_exception.h: New header. (__cxa_init_primary_exception): Declare. * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define. (__cxa_throw): Use __cxa_init_primary_exception. * libsupc++/exception (std::exception): Move to ... * libsupc++/exception.h: New header. * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add friend declaration. (__exception_ptr::__dest_thunk): New function template. (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Use __cxa_allocate_exception and __cxa_init_primary_exception to create exception_ptr. * libsupc++/typeinfo: Include bits/exception.h instead of exception. * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@239664 138bc75d-0d04-0410-961f-82ee72b054a4
2016-08-02Update Solaris baselinesRainer Orth
* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238984 138bc75d-0d04-0410-961f-82ee72b054a4
2016-08-01 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.Uros Bizjak
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238934 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29Update libstdc++ baseline symbols for aarch64, ia64, m68kAndreas Schwab
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238860 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29New libstdc++ symbol version for new basic_string symbolsJonathan Wakely
* acinclude.m4 (libtool_VERSION): Bump to 6:23:0. * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string symbols. * configure: Regenerate. * testsuite/util/testsuite_abi.cc: Add new symbol version. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238853 138bc75d-0d04-0410-961f-82ee72b054a4
2016-07-29Update libstdc++ baseline symbols for x86 and ppcJonathan Wakely
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238852 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-29Remove trailing whitespace from libstdc++-v3 filesChris Gregory
2016-04-29 Chris Gregory <czipperz@gmail.com> * config/*: Remove trailing whitespace. * src/*: Likewise. * testsuite/tr1/*: Likewise. * testsuite/util/*: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@235645 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-18 * config/cpu/sh/atomicity.h: Fix typo in comment.Jonathan Wakely
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@235156 138bc75d-0d04-0410-961f-82ee72b054a4
2016-03-24libstdc++/69945 Add __gnu_cxx::__freeres hookJonathan Wakely
PR libstdc++/69945 * config/abi/pre/gnu.ver: Add new symbol. * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define. * testsuite/18_support/free_eh_pool.cc: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@234465 138bc75d-0d04-0410-961f-82ee72b054a4
2016-02-05libstdc++: S/390: Add missing baseline_symbols.txt for s390x/-m31.Dominik Vogt
The attached patch copies the existing libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt to .../s390x-linux-gnu/32/baseline_symbols.txt. This fixes the abi test failure on s390x with -m31. libstdc++-v3/ChangeLog * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC): New file. Copied over from s390-linux-gnu. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@233170 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-29Fix Cygwin bootstrap error due to TM symbolsJonathan Wakely
PR libstdc++/69506 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@232974 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-23 PR libstdc++/69446John David Anglin
* config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@232769 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-22Allow _GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN to be overriddenJonathan Wakely
PR libstdc++/69413 * config/os/gnu-linux/os_defines.h: Define _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC. * include/c_global/cmath (isinf, isnan): Check it. * doc/xml/manual/internals.xml: Document it. * doc/html/*: Regenerate. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@232726 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-20libstdc++: Darwin does not support weak refs without definition.Torvald Riegel
PR libstdc++/69310 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@232628 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-18libstdc++: Fix usage of __GXX_WEAK__ in TM TS support.Torvald Riegel
* include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New. (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF and move after its definition. * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override. * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of __GXX_WEAK__, and only provide transactional clones if _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm functions. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@232539 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-17 PR libstdc++/68734John David Anglin
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@232486 138bc75d-0d04-0410-961f-82ee72b054a4