summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/libsupc++/cxxabi.h
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright years in libstdc++-v3/rsandifo2014-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206301 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-11-15 Ondřej Bílka <neleai@seznam.cz>redi2013-11-151-1/+1
| | | | | | | | | | | | | | | | | | | Jonathan Wakely <jwakely.gcc@gmail.com> * doc/xml/manual/build_hacking.xml: Fix documentation typos. * doc/xml/manual/configure.xml: Likewise. * include/bits/atomic_base.h: Fix typos in comments. * include/bits/random.h: Likewise. * include/ext/cast.h: Likewise. * libsupc++/cxxabi.h: Likewise. * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/testcase.h: Likewise. * testsuite/util/exception/safety.h: Likewise. * testsuite/util/testsuite_containers.h: Likewise. * testsuite/util/testsuite_hooks.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204850 138bc75d-0d04-0410-961f-82ee72b054a4
* N3639 C++1y VLA supportjason2013-05-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * gimplify.c (gimplify_vla_decl): Don't touch an existing DECL_VALUE_EXPR. gcc/cp/ * decl.c (compute_array_index_type): Allow VLAs in C++1y mode. (check_array_initializer): Allow VLA init. (reshape_init_array_1): Adjust. (cp_finish_decl): Check for invalid VLA length. * typeck2.c (process_init_constructor_array): Adjust. (store_init_value): Use build_vec_init for VLAs. * semantics.c (add_capture): Capture VLA as ptr+len. (vla_capture_type): New. (build_capture_proxy): Rebuild the VLA. * typeck.c (build_simple_component_ref): Split out from... (build_ptrmemfunc_access_expr): ...here. * tree.c (array_of_runtime_bound_p): New. * init.c (throw_bad_array_length): New. (build_vec_init): Use it. * parser.c (cp_convert_range_for): When iterating over a VLA, use it directly rather than bind a reference. * cp-tree.h: Declare new functions. libstdc++-v3/ * libsupc++/new: Add std::bad_array_length. * libsupc++/bad_array_length.cc: New. * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length. * libsupc++/Makefile.in: Build them. * config/abi/pre/gnu.ver: Add new symbols. * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198745 138bc75d-0d04-0410-961f-82ee72b054a4
* Core 624/N2932: Throw bad_array_new_length on overflowjason2013-05-091-0/+3
| | | | | | | | | | | | | | | | | | | in array new size calculation. libstdc++-v3/ * libsupc++/new: Add std::bad_array_new_length. * libsupc++/bad_array_new.cc: New. * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length. * libsupc++/Makefile.in: Build them. * config/abi/pre/gnu.ver: Add new symbols. * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. gcc/cp/ * init.c (throw_bad_array_new_length): New. (build_new_1): Use it. Don't warn about braced-init-list. (build_vec_init): Use it. * call.c (build_operator_new_call): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198731 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright in libstdc++-v3.rsandifo2013-02-031-2/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195701 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/os/mingw32/os_defines.h (_GLIBCXX_LLP64): Define if llp64ktietz2012-12-211-0/+4
| | | | | | | | | | | | | | | | abi is used. * config/os/mingw32-w64/os_defines.h: Likewise. * libsupc++/cxxabi.h (__base_class_type_info): Adjust type of __offset_flags for llp64. * libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define proper for llp64 abi. (EMERGENCY_OBJ_COUNT): Likewise. (bitmask_type): Likewise. * libsupc++/hash_bytes.cc (_Hash_bytes): Handle llp64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194658 138bc75d-0d04-0410-961f-82ee72b054a4
* Support C++11 thread_local destructors.jason2012-10-081-0/+4
| | | | | | | | | | | | | gcc/cp/ * decl.c (get_thread_atexit_node): New. (register_dtor_fn): Use it for TLS. libstdc++-v3/ * libsupc++/cxxabi.h: Declare __cxa_thread_atexit. * libsupc++/atexit_thread.cc: New. * libsupc++/Makefile.am (nested_exception.lo): Add it. * config/abi/pre/gnu.ver: Add __cxa_thread_atexit. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192210 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/51135ktietz2011-12-161-1/+5
| | | | | | | | | | | | | | | | | * libsupc++/unwind-cxx.h (__cxa_exception): Mark exceptionDestructor by _GLIBCXX_CDTOR_CALLABI. * libsupc++/eh_throw.cc (__cxa_throw): Mark destructor function argument by _GLIBCXX_CDTOR_CALLABI. * libsupc++/cxxabi.h (__cxa_throw): Likewise. (_GLIBCXX_CDTOR_CALLABI): Add empty default definition. * config/os/mingw32-w64/os_defines.h (_GLIBCXX_CDTOR_CALLABI): Define for IA-32 target as __thiscall. * config/os/mingw32/os_defines.h (_GLIBCXX_CDTOR_CALLABI): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182410 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-12-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2011-12-121-5/+1
| | | | | | | | | | | | | | | | | | | Revert: 2011-12-12 Kai Tietz <ktietz@redhat.com> PR libstdc++/51135 * libsupc++/cxxabi.h (__cxa_dtor_type): New type. (__cxa_throw): Use it for destructor-argument. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member exceptionDestructor to __cxa_dtor_type. * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR): Define. (__cxa_dtor_type): Declare target secific type variant. * config/os/mingw32/os_defines.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182250 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/511135ktietz2011-12-121-1/+5
| | | | | | | | | | | | | | | | * libsupc++/cxxabi.h (__cxxabi_dtor_type): New type. (__cxa_throw): Use it for destructor-argument. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member exceptionDestructor to __cxxabi_dtor_type. * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR): Define. (__cxa_dtor_type): Declare target secific type variant. * config/os/mingw32/os_defines.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182237 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-10-10 Benjamin Kosnik <bkoz@redhat.com>bkoz2011-10-101-13/+76
| | | | | | | | | | | | | | | | PR libstdc++/49818 * config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols. * testsuite/util/testsuite_abi.cc: Same. * libsupc++/unwind-cxx.h: Move required eh API... * libsupc++/cxxabi.h: ... to here. Add required forward declarations. Use _GLIBCXX_NOTHROW. * libsupc++/pure.cc (__cxa_deleted_virtual): Add. * libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW. * libsupc++/eh_catch.cc: Same. * libsupc++/eh_globals.cc: Same. * libsupc++/eh_type.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179769 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/cxxabi.h: Adjust link to FAQ entry.gerald2011-04-241-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172915 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-01-14 Benjamin Kosnik <bkoz@redhat.com>bkoz2011-01-151-106/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/36104 * include/Makefile.am (bits_sup_headers, stamp-bits-sup): New. * include/Makefile.in: Regenerate. * libsupc++/Makefile.am (std_HEADERS, bits_HEADERS): New. (install-stdHEADERS, install-bitsHEADERS): New. * libsupc++/Makefile.in: Regenerate. * include/bits/c++config: Update for inline namespaces. * libsupc++/cxxabi-forced.h: To... * libsupc++/cxxabi_forced.h: ...this. * libsupc++/hash_bytes.h: Separate file. * libsupc++/typeinfo: Use it. * libsupc++/exception: Adjust for bits subdirectory. * libsupc++/eh_aux_runtime.cc: Same. * libsupc++/eh_ptr.cc: Same. * libsupc++/new_op.cc: Same. * libsupc++/exception_defines.h: Same. * libsupc++/nested_exception.h: Same. * libsupc++/eh_terminate.cc: Same. * libsupc++/vec.cc: Same. * libsupc++/vterminate.cc: Same. * libsupc++/exception_ptr.h: Same. * libsupc++/eh_personality.cc: Same. * libsupc++/eh_call.cc: Same. * libsupc++/new_opnt.cc: Same. * libsupc++/hash_bytes.cc: Same. * config/cpu/arm/cxxabi_tweaks.h: Same. * config/cpu/generic/cxxabi_tweaks.h: Same. * libsupc++/cxxabi.h: Same. Consolidate _GLIBCXX_NOTHROW defines. * include/std/bitset: Same. * include/ext/vstring.tcc: Same. * include/bits/hashtable.h: Same. * include/bits/functional_hash.h: Same. * include/bits/hashtable_policy.h: Same. * include/bits/basic_string.h: Same. * include/bits/istream.tcc: Same. * include/bits/ostream.tcc: Same. * include/bits/algorithmfwd.h: Same. * include/bits/basic_string.tcc: Same. * include/bits/ostream_insert.h: Same. * include/bits/fstream.tcc: Same. * include/bits/functexcept.h: Same. * doc/doxygen/user.cfg.in: Adjust names. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168831 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-09 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-09-091-19/+19
| | | | | | | | | * libsupc++/cxxabi.h: Uglify nothrow to __nothrow__; fix a few inconsistent uglifications everywhere. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164073 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-02-18 Paolo Carlini <paolo.carlini@oracle.com>paolo2010-02-181-1/+3
| | | | | | | | | | | | * libsupc++/typeinfo: Add system_header pragma. * libsupc++/exception: Likewise. * libsupc++/cxxabi-forced.h: Likewise. * libsupc++/new: Likewise. * libsupc++/cxxabi.h: Likewise. * libsupc++/initializer_list: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156869 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-15 Steve Ward <planet36@gmail.com>redi2009-11-151-1/+1
| | | | | | | | * libsupc++/cxxabi.h (__cxa_demangle): Fix typo in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154191 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-09 Benjamin Kosnik <bkoz@redhat.com>bkoz2009-11-091-1/+22
| | | | | | | | | | | | | * doc/doxygen/user.cfg.in: Regenerate, add files. * libsupc++/eh_ptr.cc: Format. * libsupc++/exception_ptr.h: Same. * libsupc++/cxxabi.h(recursive_init_error): Move declaration here. * libsupc++/guard.cc: From here. * libsupc++/nested_exception.h: Add markup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154054 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-06 Benjamin Kosnik <bkoz@redhat.com>bkoz2009-11-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/doxygen/user.cfg.in: Adjust includes. * doc/doxygen/doxygroups.cc: Move group markup. * include/tr1_impl/regex: Change " to '. Add group markup. * include/std/utility: Same. * include/std/type_traits: Same. * include/std/streambuf: Same. * include/std/iosfwd: Same. * include/std/limits: Same. * include/std/sstream: Same. * include/profile/impl/profiler_state.h: Same. * include/profile/impl/profiler_hashtable_size.h: Same. * include/bits/stl_algobase.h: Same. * include/bits/stl_iterator_base_types.h: Same. * include/bits/stream_iterator.h: Same. * include/bits/stl_iterator.h: Same. * include/bits/stl_tempbuf.h: Same. * include/bits/streambuf_iterator.h: Same. * libsupc++/exception: Same. * libsupc++/cxxabi.h: Same. * include/tr1_impl/type_traits: Same. * include/parallel/multiway_merge.h: Change @__c to @c, @__f to @f. * include/parallel/list_partition.h: Same. * include/parallel/for_each.h: Same. * include/parallel/workstealing.h: Same. * include/parallel/base.h: Same. * include/parallel/equally_split.h: Same. * include/parallel/random_shuffle.h: Same. * include/parallel/balanced_quicksort.h: Same. * include/parallel/merge.h: Same. * include/parallel/multiway_mergesort.h: Same. * include/parallel/compatibility.h: Same. * include/parallel/queue.h: Same. * include/parallel/checkers.h: Same. * include/parallel/random_number.h: Same. * include/c_global/csignal: Change # to \#. * include/c_global/cstdlib: Same. * include/c_global/cstdio: Same. * include/c_global/cstdarg: Same. * include/c_global/cctype: Same. * include/c_global/cerrno: Same. * include/c_global/cstdatomic: Same. * include/c_global/cmath: Same. * include/c_global/ciso646: Same. * include/c_global/ctime: Same. * include/c_global/clocale: Same. * include/c_global/climits: Same. * include/c_global/cassert: Same. * include/c_global/csetjmp: Same. * include/c_global/cwchar: Same. * include/c_global/cfloat: Same. * include/c_global/cstring: Same. * include/c_global/cstddef: Same. * include/c_global/cwctype: Same. * include/std/memory: Only dance around boost_sp_counted_base.h. * include/tr1_impl/boost_sp_counted_base.h: Add markup. * include/tr1/shared_ptr.h: Strip markup. * include/bits/shared_ptr.h: Move base types... * include/bits/shared_ptr_base.h: ...here. * include/Makefile.am: Add. * include/Makefile.in: Regenerate. * configure: Same. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153980 138bc75d-0d04-0410-961f-82ee72b054a4
* * eh_type.cc (__cxa_current_exception_type) Mark throw().hubicka2009-04-181-6/+6
| | | | | | | | | | | | | | | | | | | | | | * unwind-cxx.h (__cxa_get_globals, __cxa_get_globals_fast): Mark const. (__cxa_get_exception_ptr): Mark pure. (__cxa_bad_cast, __cxa_bad_typeid): Mark noreturn (__terminate): Makr throw (). * exception (terminate): Mark throw(). (uncaught_exception): Mark pure. * eh_ptr.cc (_M_safe_bool_dummy): Mark throw(). * guard.cc (__cxa_guard_abort, __cxa_guard_release): Mark throw(). * eh_terminate.cc (__terminate, terminate): Mark throw(). * vec.cc (__cxa_vec_cleanup): Mark throw(). * cxxabi.h (__cxa_vec_cleanup, __cxa_guard_release, __cxa_guard_abort): Mark throw (). (__cxa_pure_virtual): Mark noreturn. (__cxa_current_exception_type): Mark throw and pure. * exception_ptr.h (operator ==, !=, _M_get, !, ==, __cxa_exception_type): Mark pure. (_M_safe_bool_dummy): Mark pure and const. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146331 138bc75d-0d04-0410-961f-82ee72b054a4
* Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.jakub2009-04-091-14/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145841 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-02-20 Benjamin Kosnik <bkoz@redhat.com>bkoz2009-02-211-3/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/doxygen/user.cfg.in: Tweaks. * doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere, be elsewhere. * include/tr1_impl/unordered_map: Just use most specialized container module. * include/tr1_impl/unordered_set: Same. * include/tr1_impl/array: Same. * include/bits/stl_list.h: Same. * include/bits/stl_map.h: Same. * include/bits/stl_queue.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_stack.h: Same. * include/bits/forward_list.h: Same. * include/bits/basic_string.h: Same. * include/bits/stl_multimap.h: Same. * include/bits/stl_vector.h: Same. * include/bits/stl_deque.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/stl_bvector.h: Same. * include/backward/binders.h: Change binder module to binders. * include/std/complex: Add complex_numers module. * include/tr1_impl/complex: Same. * include/std/valarray: Add numeric_arrays module. * include/bits/gslice_array.h: Same. * include/bits/gslice.h: Same. * include/bits/mask_array.h: Same. * include/bits/slice_array.h: Same. * include/bits/indirect_array.h: Same. * include/bits/allocator.h: Add allocators module. * include/ext/throw_allocator.h * include/ext/pool_allocator.h * include/ext/bitmap_allocator.h * include/ext/new_allocator.h * include/ext/malloc_allocator.h * include/ext/array_allocator.h * include/ext/mt_allocator.h * include/ext/debug_allocator.h * include/ext/extptr_allocator.h * include/tr1_impl/functional: Move namespace markup here. * include/tr1_impl/regex: Same. * include/tr1_impl/type_traits: Add metaprogramming module. * include/std/type_traits: Same. * include/std/memory: Add memory module. * include/std/ratio: Add ratio module. * include/std/chrono: Move namespace markup here, add time module. * include/std/thread: Move namespace markup here, add concurrency module. * include/std/mutex: Use concurrency module. * include/std/condition_variable: Same. * include/bits/ios_base.h: Refine io module. * include/bits/basic_ios.h: Same. * include/std/fstream: Same. * include/std/istream: Same. * include/std/ostream: Same. * include/std/sstream: Same. * include/ext/vstring.h: Correct parameter markup. * include/bits/shared_ptr.h: Add pointer_abstractions module. * include/bits/unique_ptr.h: Same. * include/bits/algorithmfwd.h: Add mutating_algorithms, non_mutating_algorithms, sorting_algorithms. Adjust nesting. * include/bits/stl_heap.h: Add markup for new groupings. * include/bits/stl_algobase.h: Same. * include/bits/stl_algo.h: Same. * include/c_compatibility/stdatomic.h: Add atomics module. * include/c_global/cstdatomic: Same. * libsupc++/exception: Add exceptions module. * libsupc++/typeinfo: Same. * libsupc++/new: Same. * libsupc++/exception_ptr.h: Same. * include/std/system_error: Same. * include/std/stdexcept: Same. * libsupc++/cxxabi.h: Move doxygroups.cc markup here. * libsupc++/cxxabi-forced.h: Same. * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers. * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same. * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same. * testsuite/30_threads/mutex/cons/assign_neg.cc: Same. * testsuite/30_threads/mutex/cons/copy_neg.cc: Same. * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same. * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same. * testsuite/30_threads/thread/cons/assign_neg.cc: Same. * testsuite/30_threads/thread/cons/copy_neg.cc: Same. * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same. * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same. * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same. * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same. * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same. * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/vector/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/deque/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/20_util/duration/cons/1_neg.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same. * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same. * testsuite/20_util/unique_ptr/assign/assign.cc: Same. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same. * testsuite/20_util/ratio/cons/cons_overflow.cc: Same. * testsuite/20_util/ratio/operations/ops_overflow.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144343 138bc75d-0d04-0410-961f-82ee72b054a4
* * libstdc++-v3/libsupc++/cxxabi.h (_GLIBCXX_NOTHROW): New macro.mmitchel2007-05-091-5/+7
| | | | | | | | | | (__cxa_atexit): Use it. * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): For installed-tree testing, search more include directories. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124565 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/cxxabi-internal.h: Remove, to be replaced by...jason2007-05-081-2/+491
| | | | | | | | | | | | | | | | | * libsupc++/cxxabi-forced.h: ...this new file. * include/ext/vstring.tcc: Include cxxabi-forced.h instead. * include/bits/istream.tcc: Likewise. * include/bits/ostream.tcc: Likewise. * include/bits/basic_string.tcc: Likewise. * include/bits/ostream_insert.h: Likewise. * include/bits/fstream.tcc: Likewise. * include/std/bitset: Likewise. * libsupc++/cxxabi.h: Restore previous contents. * Makefile.am (headers): Add cxxabi-forced.h. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124539 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/28145jason2007-05-071-480/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * libsupc++/cxxabi.h (__forced_unwind, __foreign_exception): New classes. * libsupc++/eh_exception.cc: Define their destructors. * config/abi/pre/gnu.ver: Export their type_infos. * config/abi/pre/gnu-versioned-namespace.ver: Likewise. * libsupc++/eh_personality.cc: A handler for abi::__forced_unwind matches a forced unwind, and a handler for abi::__foreign_exception matches a foreign exception. * include/bits/istream.tcc: Rethrow forced unwind. * include/bits/ostream.tcc: Likewise. * include/bits/ostream_insert.h: Likewise. * include/bits/basic_string.tcc (operator>>, getline): Likewise. * include/bits/fstream.tcc (basic_filebuf::close): Likewise. * include/ext/vstring.cc (operator>>, getline): Likewise. * src/istream.cc: Likewise. * src/compatibility.cc (basic_istream::ignore): Likewise. * include/std/bitset (operator>>): Likewise. * include/std/fstream (basic_filebuf::close): Remove throw() spec. * libsupc++/cxxabi-internal.h: Split out from... * libsupc++/cxxabi.h: ...here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124517 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/cxxabi.h (__cxa_atexit): Conditionalize exceptionmmitchel2007-05-051-1/+5
| | | | | | | specification on #ifdef __cplusplus. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124456 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/atexit_arm.cc: New file.mmitchel2007-05-041-1/+1
| | | | | | | | | | * libsupc++/vec.cc (__aeabi_atexit): Remove. * libsupc++/cxxabi.h (__cxa_atexit): Add exception specification. * libsupc++/Makefile.am: Add atexit_arm.cc. * libsupc++/Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124436 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-09 Benjamin Kosnik <bkoz@redhat.com>bkoz2006-10-091-3/+3
| | | | | | | | | | | | | | | | | | | | PR libstdc++/29095 * libsupc++/cxxabi.h (__cxa_cdtor_type): Explicit "C" linkage. * config/cpu/arm/cxxabi_tweaks.h: Same. * config/cpu/generic/cxxabi_tweaks.h: Same. * testsuite/abi: Add. * testsuite/abi/header_cxxabi.cc: New. * testsuite/demangle: Move... * testsuite/abi/demangle: ...here. * testsuite/libstdc++-dg/conformance.exp: Adjust testsuite file calculation. * scripts/create_testsuite_files: Same. * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): New. (libstdc++-dg-test): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117589 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/cxxabi.h (class __vmi_class_type_info): Correct typo in comment.dannysmith2006-05-181-1/+1
| | | | | | | * docs/doxygen/doxygroups.cc (__cxa_demangle): Correct typo in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113884 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-08-17 Kelley Cook <kcook@gcc.gnu.org>kcook2005-08-171-2/+2
| | | | | | | * All files: Update FSF address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103192 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-11-23 Benjamin Kosnik <bkoz@redhat.com>bkoz2004-11-241-0/+4
| | | | | | | | | | | | | | | | | | * docs/doxygen/doxygroups.cc: Add std::tr1 namespace. * docs/doxygen/run_doxygen: Renames for std::tr1. * docs/doxygen/user.cfg.in: Add cxxabi.h. * include/bits/*.tcc: Add file markup. * include/bits/allocator.h: Add link to allocator.html. * include/bits/atomicity.h: Add file markup. * include/bits/concurrence.h: Same. * include/bits/functexcept.h: Same. * include/ext*: Adjust file markup, remove GCC3 bits. * include/std/*: Adjust file markup, remove bits about renamed files. * libsupc++/cxxabi.h: Add file markup. * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust line numbers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91135 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):mmitchel2004-09-161-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define. * config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type): Define. * libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type. (__cxa_vec_new): Use it. (__cxa_vec_new2): Likewise. (__cxa_vec_new3): Likewise. (__cxa_vec_cdtor): Likewise. (__cxa_vec_cctor): Likeiwse. (__cxa_vec_dtor): Likewise. (__cxa_vec_cleanup): Likewise. (__cxa_vec_delete2): Likewise. (__cxa_vec_delete3): Likewise. * libsupc++/vec.cc (__cxa_vec_new): Likewise. (__cxa_vec_new2): Likewise. (__cxa_vec_new3): Likewise. (__cxa_vec_cdtor): Likewise. (__cxa_vec_cctor): Likeiwse. (__cxa_vec_dtor): Likewise. (__cxa_vec_cleanup): Likewise. (__cxa_vec_delete2): Likewise. (__cxa_vec_delete3): Likewise. (__aeabi_vec_ctor_nocookie_nodtor): New function. (__aeabi_vec_ctor_cookie_nodtor): Likewise. (__aeabi_vec_cctor_nocookie_nodtor): Likewise. (__aeabi_vec_new_cookie_noctor): Likewise. (__aeabi_vec_new_nocookie): Likewise. (__aeabi_vec_new_cookie_nodtor): Likewise. (__aeabi_vec_new_cookie): Likewise. (__aeabi_vec_dtor): Likewise. (__aeabi_vec_dtor_cookie): Likewise. (__aeabi_vec_delete): Likewise. (__aeabi_vec_delete3): Likewise. (__aeabi_vec_delete3_nodtor): Likewise. (__aeabi_atexit): Likewise. * testsuite/g++.old-deja/g++.abi/cxa_vec.C: Adjust for ARM EABI. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87585 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return andpbrook2004-08-121-2/+2
| | | | | | | | | | | | | | _GLIBCXX_CXA_VEC_CTOR_RETURN. * config/cpu/generic/cxxabi_tweaks.h: Ditto. * libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use __cxa_vec_ctor_return. * libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto. Use _GLIBCXX_CXA_VEC_CTOR_RETURN. * g++.dg/abi/arm_cxa_vec_1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85891 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/cxxabi.h: Make all declarations have defaultmmitchel2004-08-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | visibility. * libsupc++/exception: Likewise. * libsupc++/new: Likewise. * libsupc++/typeinfo: Likewise. * libsupc++/unwind-cxx.h: Likewise. * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into the __cxxabiv1 namespace. (__cxa_free_exception): Likewise. * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise. (__cxa_bad_typeid): Likewise. * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise. (__cxa_end_catch): Likewise. * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise. (__cxa_get_globals): Likewise. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. (__cxa_rethrow): Likewise. * libsupc++/pure.cc (__cxa_pure_virtual): Likewise. * libsupc++/eh_type.cc: Include <cxxabi.h>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85463 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Set ABI_TWEAKS_SRCDIR.pbrook2004-07-021-8/+1
| | | | | | | | | | | | | | | | * configure.host: Set abi_tweaks_dir. Check for atomicity.h when setting atomicity_dir. Override type_cpu for arm based targets. * include/Makefile.am (host_headers): Add cxxabi_tweaks.h. * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard. * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h. * libsupc++/vec.cc: Ditto. * config/cpu/arm/cxxabi_tweaks.h: New file. * config/cpu/generic/cxxabi_tweaks.h: New file. * */Makefile.in: Regenerate. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84032 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/pbrook2004-06-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | * target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT, TARGET_CXX): Define. (TARGET_INITIALIZER): Use TARGET_CXX. * target.h (struct gcc_target): Add struct cxx. * targhooks.h (default_cxx_guard_type): Add prototype. * targhooks.c (default_cxx_guard_type): New function. * config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT): Define. (arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions. * doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and TARGET_CXX_GUARD_MASK_BIT. gcc/cp/ * decl2.c (get_guard): Call targetm.cxx.guard_type. (get_guard_bits, get_guard_cond): Call targetm.cxx.guard_mask_bit. libstdc++/ * libsupc++/cxxabi.h: Define __ARM_EABI__ (__guard): Use it. * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83660 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-05-22 Benjamin Kosnik <bkoz@redhat.com>bkoz2004-05-221-466/+436
| | | | | | | | | | | | | | * libsupc++/cxxabi.h: Remove duplicated and useless public and private keywords in class declarations. Format. Use stddef.h. Expose declarations to "C" compilation. * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and assignment operator. (__dyncast_result): Same. * libsupc++/vec.cc (uncatch_exception): Same, use member initialization list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82147 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-10-02 Harald Boehme <boehme@informatik.hu-berlin.de>bkoz2003-10-031-2/+2
| | | | | | | | PR libstdc++/12451 * libsupc++/cxxabi.h: Move forward declaration of __class_type_info. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72059 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-07-04 Benjamin Kosnik <bkoz@redhat.com>bkoz2003-07-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move from CPP to CXX. * include/bits/c++config: Move to GLIBCXX from GLIBCPP. * testsuite/Makefile.am: Same. * testsuite/Makefile.in: Regenerate. * po/Makefile.am: Same. * po/Makefile.in: Regenerate. * libsupc++/Makefile.am: Same. * libsupc++/Makefile.in: Regenerate. * libmath/Makefile.am: Same. * libmath/Makefile.in: Regenerate. * include/Makefile.am: Same. * include/Makefile.in: Regenerate. * src/Makefile.am: Same. * src/Makefile.in: Regenerate. * acconfig.h: Same. * configure.host: Same. * configure.in: Same. * configure: Regenerate. * acinclude.m4: Same. * aclocal.m4: Same. * src: Change all files in this directory. * testsuite: Same. * include: Same, standardize include guards. * config: Same. * libsupc++: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68958 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>neroden2003-05-241-4/+4
| | | | | | | | | | | | | | | | | | | * libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc, libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc, libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc, libsupc++/eh_catch.cc, libsupc++/eh_exception.cc, libsupc++/eh_globals.cc, libsupc++/eh_personality.cc, libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc, libsupc++/eh_throw.cc, libsupc++/eh_type.cc, libsupc++/eh_unex_handler.cc, libsupc++/exception, libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc, libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc, libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc, libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc: Replace "GNU CC" with "GCC". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67155 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-01-14 Jeffrey D. Oldham <oldham@codesourcery.com>oldham2003-01-141-4/+1
| | | | | | | | | | | | | | | | Further conform g++'s __vmi_class_type_info to the C++ ABI specification. * gcc/cp/rtti.c (dfs_class_hint_mark): Do not set hints not specified by the specification. (class_hint_flags): Likewise. * gcc/testsuite/g++.old-deja/g++.abi/vmihint.C (main): Revise expected flags per the specification. * libstdc++-v3/libsupc++/cxxabi.h (__vmi_class_type_info::__flags_masks): Remove enumerations not required by the specification. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61304 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/cxxabi.h (__cxa_bad_cast): Declare it.mmitchel2002-12-101-0/+16
| | | | | | | | | (__cxa_bad_typeid): Likewise. (__cxa_atexit): Likewise. (__cxa_finalize): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60001 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/cxxabi.h (__cxa_pure_virtual): Declare it.mmitchel2002-12-091-1/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59965 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/Makefile.am (sources): Add guard.cc.mmitchel2002-11-251-0/+14
| | | | | | | | | | | * libsupc++/Makefile.in: Regenerated. * libsupc++/cxxabi.h (__cxa_guard_acquire): New function. (__cxa_guard_release): Likewise. (__cxa_guard_abort): Likewise. * libsupc++/guard.cc: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59475 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-07-31 Benjamin Kosnik <bkoz@redhat.com>bkoz2002-07-311-2/+2
| | | | | | | | | | | | Mark Mitchell <mark@codesourcery.com> PR libstdc++/7442 * libsupc++/cxxabi.h (class __base_class_type_info::hwm_bit): Change to __hwm_bit. (__class_type_info): And here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55911 138bc75d-0d04-0410-961f-82ee72b054a4
* 2002-07-31 Benjamin Kosnik <bkoz@redhat.com>bkoz2002-07-311-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/7442 * libsupc++/cxxabi.h (__base_class_info): Change to __base_class_type_info. 2.9.5p6c (__base_class_info::__base): Change to __base_type. 2.9.5p6c (__base_class_info::offset_shift): Change to __offset_shift. 2.9.5p6c (__vmi_class_type_info::__base_info): Don't make const, of type __base_class_type_info, as per 2.9.5p6c (__pbase_type_info::__qualifier_flags): Change to __flags, as per 2.9.5p7. (__pbase_type_info::__qualifier_masks): Change to __masks, as per 2.9.5p7. (__pointer_to_member_type_info::__context_class): Change member to __context, as per 2.9.5p9. * libsupc++/tinfo2.cc (__pointer_catch): Change __context_class to __context. * libsupc++/tinfo2.cc (__do_catch): Change __qualifier_flags to __flags. * libsupc++/tinfo.cc (__do_find_public_src): Change __base to __base_type. * libsupc++/tinfo.cc (__do_dyncast): Same. * libsupc++/tinfo.cc (__do_upcast): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55910 138bc75d-0d04-0410-961f-82ee72b054a4
* * ChangeLog, docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,jsm282001-11-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | docs/doxygen/doxygroups.cc, docs/doxygen/Intro.3, docs/html/17_intro/BUGS, docs/html/17_intro/C++STYLE, docs/html/17_intro/CHECKLIST, docs/html/17_intro/DESIGN, docs/html/17_intro/howto.html, docs/html/17_intro/porting.html, docs/html/17_intro/porting.texi, docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html, docs/html/21_strings/howto.html, docs/html/23_containers/howto.html, docs/html/26_numerics/howto.html, docs/html/27_io/howto.html, docs/html/27_io/binary_iostreams_kuehl.txt, docs/html/ext/sgiexts.html, docs/html/faq/index.html, docs/html/faq/index.txt, testsuite/24_iterators/iterator.cc, include/bits/basic_file.h, include/bits/locale_facets.h, include/bits/locale_facets.tcc, include/bits/std_sstream.h, include/ext/ropeimpl.h, include/ext/stl_rope.h, libsupc++/tinfo.cc, libsupc++/cxxabi.h, libsupc++/typeinfo, libsupc++/eh_throw.cc, acinclude.m4, aclocal.m4, configure, configure.target, ChangeLog-2000: Fix spelling errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47291 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/eh_personality.cc (__cxa_call_unexpected): Take void*.jason2001-11-181-0/+5
| | | | | | | | | | | | | | | | | | * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise. * libsupc++/unwind-cxx.h: Adjust. * src/Makefile.am (strstream.o): Pass -Wno-deprecated. * libsupc++/eh_type.cc (__cxa_current_exception_type): New file. * libsupc++/cxxabi.h: Declare it. * libsupc++/Makefile.am (sources): Add it. * src/vterminate.cc (verbose_terminate_handler): New file. * libsupc++/exception: Declare it. * src/Makefile.am (sources): Add it. * src/Makefile.am (VPATH): Check the src directory before the top one. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47132 138bc75d-0d04-0410-961f-82ee72b054a4
* * libsupc++/vec.cc (__cxa_vec_cleanup): New fn.jason2001-03-201-0/+7
| | | | | | | | (__cxa_vec_ctor, __cxa_vec_cctor, __cxa_vec_dtor): Call it. * libsupc++/cxxabi.h: Declare it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40657 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove old ABI support from libsupc++.mmitchel2001-02-161-6/+0
| | | | | | | | | | | | | | * libsupc++/cxxabi.h: Remove conditionally compiled code. * libsupc++/exception_support.cc: Likewise. * libsupc++/pure.cc: Likewise. * libsupc++/tinfo.cc: Likewise. * libsupc++/tinfo.h: Likewise. * libsupc++/tinfo2.cc: Likewise. * libsupc++/typeinfo: Likewise. * libsupc++/vec.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39732 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-02-15 Benjamin Kosnik <bkoz@redhat.com>bkoz2001-02-161-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for -fno-exceptions. * include/bits/exception_support.h: Remove. * include/bits/basic_string.h: Remove exception_support. (string::_M_check): Replace __OUTOFRANGE with __throw_out_of_range. (string::at): Same. (string::substr): Same. * include/bits/basic_string.tcc (string::reserve): Replace __LENGTHERROR with __throw_length_error. (string::_S_create): Same. (string::resize): Same. (string::_M_replace): Same. (string::replace): Same. (string::copy): Replace __OUTOFRANGE with __throw_out_of_range. (string::compare): Same. * include/bits/stl_vector.h: Remove exception_support. * src/Makefile.am (base_headers): Remove here. * src/Makefile.in: Regenerate. * include/bits/stl_range_errors.h: Remove. * include/bits/stl_deque.h: Use __throw_range_error. * include/bits/std_deque.h: Include functexcept.h. * include/bits/std_vector.h: Same. * src/Makefile.am (base_headers): Remove here. * src/Makefile.in: Regenerate. * include/ext/stl_bvector.h (class __BVECTOR): Use __throw_range_error. * include/ext/bvector: Remove stl_range_errors.h * include/bits/c++config (_GLIBCPP_USE_EXCEPTIONS): Remove. * include/bits/functexcept.h: New file. * src/functexcept.cc: New file. Definitions for function-based exception routines. * src/Makefile.am (sources): Add functexcept.cc. * src/Makefile.in: Regenerate. * include/bits/stl_config.h (__STL_USE_EXCEPTIONS): Wrap with __EXCEPTIONS. * include/bits/localefwd.h: Include functexcept.h. * include/bits/std_iosfwd.h: Same. * include/bits/basic_ios.h: Use __throw_ios_failure instead of throw basic_ios::failure. * include/bits/fstream.tcc (filebuf::_M_allocate_buffers): Use __throw_exception_again. (filebuf::_M_filebuf_init): Same. * include/bits/streambuf.tcc (__copy_streambufs): Same. * include/bits/ostream.tcc (ostream::operator<<): Same. * include/bits/istream.tcc (istream::operator>>): Same. * include/bits/basic_string.tcc (string::_M_mutate): Same. (string::_S_construct): Same. (string::_M_clone): Same. * include/bits/locale_facets.tcc (use_facet(const locale&)): Use __throw_bad_cast. (num_put<_CharT, _OutIter>::do_put): Use __throw_exception_again. * src/localename.cc (locale::_Imp::_Imp(const _Impl&, size_t): Use __throw_exception_again. (locale::_Imp::_Imp(string, size_t): Same. (locale::_Imp::_M_replace_facet): Use __throw_runtime_error. * src/locale.cc (locale::_M_coalesce): Use __throw_exception_again. (locale::locale(const char*)): Use __throw_runtime_error. (locale::classic): Use __throw_exception_again. (locale::_S_normalize_category): Use __throw_runtime_error. * src/stdexcept.cc: Remove cruft. * libsupc++/exception_defines.h: New file. * libsupc++/new_opnt.cc: Include exception_defines.h. * libsupc++/vec.cc: Same. (__cxa_vec_new2): Use __throw_exception_again. (__cxa_vec_new3): Same. (__cxa_vec_ctor): Same. (__cxa_vec_delete3): Same. (__cxa_vec_cctor): Same. (__cxa_vec_delete2): Same. (__cxa_vec_dtor): Same. * libsupc++/exception_support.cc: Include exception_defines.h. Only compile exception-handling bits if __EXCEPTIONS is defined. Remove old ABI support. * libsupc++/new_op.cc (new): Include exception_defines.h. Use std::__throw_bad_alloc() instead of throw bad_alloc. * libsupc++/Makefile.am: Add exception_defines.h. * libsupc++/Makefile.in: Reformat. * libsupc++/*: Format. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39730 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud