Commit Graph

544 Commits

Author SHA1 Message Date
Ralf Wildenhues 84fec8a537 LIBTOOLFLAGS, and *_LINK fixes for Automake 1.11
boehm-gc/:
	* Makefile.am (LTCOMPILE, LTLINK): Add $(AM_LIBTOOLFLAGS)
	and $(LIBTOOLFLAGS).
	* Makefile.in: Regenerate.

libgfortran/:
	* Makefile.am (libgfortran_la_LINK): Add $(libgfortran_la_LDFLAGS).
	* Makefile.in: Regenerate.

libjava/:
	* Makefile.am (libgcj_la_LINK, libgcj_tools_la_LINK)
	(lib_gnu_awt_xlib_la_LINK, libgcj_bc_la_LINK, jv_convert_LINK)
	(gcj_dbtool_LINK, gc_analyze_LINK, gij_LINK, ecjx_LINK)
	(gappletviewer_LINK, gjarsigner_LINK, gkeytool_LINK)
	(gjar_LINK, gjavah_LINK, gcjh_LINK, gnative2ascii_LINK)
	(gorbd_LINK, grmid_LINK, gserialver_LINK, gtnameserv_LINK)
	(grmic_LINK, grmiregistry_LINK, gjdoc_LINK): Add $(gjdoc_LDFLAGS).
	(GCJLINK, LIBLINK, CXXLINK): Add $(LIBTOOLFLAGS).
	* Makefile.in: Regenerate.

libstdc++-v3/:
	* libsupc++/Makefile.am (LTCOMPILE, LTCXXCOMPILE, CXXLINK): Add
	$(LIBTOOLFLAGS).
	* libsupc++/Makefile.in: Regenerate.
	* src/Makefile.am (LTCXXCOMPILE, CXXLINK): Add $(AM_LIBTOOLFLAGS)
	and $(LIBTOOLFLAGS).
	* src/Makefile.in: Regenerate.

libgomp/:
	* Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
	* Makefile.in: Regenerate.

libobjc/:
	* Makefile.in (LIBTOOL): Add $(LIBTOOLFLAGS).

From-SVN: r151013
2009-08-22 12:43:24 +00:00
Benjamin Kosnik 8d1b99e26a future: Fixes for -fno-exceptions.
2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/future: Fixes for -fno-exceptions.
	* include/bits/functexcept.h: Same.
	* libsupc++/exception_ptr.h: Same.
	* src/pool_allocator.cc: Same.
	* src/future.cc: Same.
	* src/functexcept.cc: Same.
	* config/abi/pre/gnu.ver: New exports.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

	* testsuite/23_containers/deque/operators/1.cc: Separate in two...
	* testsuite/23_containers/deque/operators/2.cc: New.

From-SVN: r150633
2009-08-10 18:24:47 +00:00
Jason Merrill 67a6e81679 Core issue 901
Core issue 901
	* libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Handle NULL
	dealloc.
	* call.c (build_op_delete_call): If this is for a new-expression
	and the op delete is deleted, do nothing.

From-SVN: r150073
2009-07-24 23:57:20 -04:00
Jason Merrill 61e6d522e0 mangle.c (mangle_type_string_for_rtti): Rename to be clearer.
* mangle.c (mangle_type_string_for_rtti): Rename to be clearer.
	(needs_fake_anon): New.
	(write_name): Check it.
	(write_nested_name): Add a fake anonymous namespace scope if true.
	* name-lookup.c (get_anonymous_namespace_name): No longer static.
	* rtti.c, cp-tree.h: Adjust.

	* libsupc++/typeinfo (__GXX_MERGED_TYPEINFO_NAMES): Default to 0.

From-SVN: r149964
2009-07-22 19:03:22 -04:00
Jason Merrill 62c99ce475 vmi_class_type_info.cc (__do_dyncast): Use src2dst hint to defer searching bases that don't overlap the desired address.
* libsupc++/vmi_class_type_info.cc (__do_dyncast): Use src2dst hint
	to defer searching bases that don't overlap the desired address.

From-SVN: r149297
2009-07-06 18:13:51 -04:00
Jonathan Wakely 9fdcbf4031 exception_ptr.h (exception_ptr::swap(exception_ptr&&)): Remove.
2009-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* libsupc++/exception_ptr.h (exception_ptr::swap(exception_ptr&&)):
	Remove.
	(exception_ptr::operator=(exception_ptr&&)): Cast source to
	rvalue-reference so that move constructor is called.
	* testsuite/18_support/exception_ptr/move.cc: New.

From-SVN: r148555
2009-06-16 22:24:41 +01:00
Paolo Carlini 110a123aae re PR libstdc++/40296 ([C++0x] std::exception_ptr comparisons)
2009-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40296
	* libsupc++/exception_ptr.h (exception_ptr::operator!,
	exception_ptr::operator __safe_bool): Only declare when
	_GLIBCXX_EH_PTR_COMPAT is undefined.
	* libsupc++/eh_ptr.cc: Define _GLIBCXX_EH_PTR_COMPAT before including
	exception_ptr.
	* testsuite/18_support/exception_ptr/40296.cc: New.
	* testsuite/18_support/nested_exception/throw_with_nested.cc: Adjust.
	* testsuite/18_support/nested_exception/cons.cc: Likewise.
	* testsuite/18_support/nested_exception/nested_ptr.cc: Likewise.
	* testsuite/18_support/exception_ptr/current_exception.cc: Likewise.

From-SVN: r148122
2009-06-03 10:37:20 +00:00
Benjamin Kosnik eaf4cf4fdc initializer_list: Format.
2009-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/initializer_list: Format.
	* testsuite/18_support/initializer_list/requirements/typedefs.cc: New.
	* testsuite/18_support/initializer_list/requirements/
	explicit_instantiation.cc: New.

From-SVN: r147931
2009-05-27 21:17:49 +00:00
Eelis van der Weegen ffa52e113d initializer_list (initializer_list): Add missing typedefs.
2009-05-24  Eelis van der Weegen  <eelis@eelis.net>
	
	* libsupc++/initializer_list (initializer_list): Add missing typedefs.

From-SVN: r147828
2009-05-24 04:44:50 +00:00
Jonathan Wakely 182da14a62 exception: Include nested_exception.h in C++0x mode.
2009-05-12  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* libsupc++/exception: Include nested_exception.h in C++0x mode.
	* libsupc++/nested_exception.h: New.
	* libsupc++/Makefile.am: Add new header.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/18_support/nested_exception/rethrow_nested.cc: New.
	* testsuite/18_support/nested_exception/throw_with_nested.cc: New.
	* testsuite/18_support/nested_exception/cons.cc: New.
	* testsuite/18_support/nested_exception/nested_ptr.cc: New.
	* testsuite/18_support/nested_exception/rethrow_if_nested.cc: New.
	* doc/xml/manual/status_cxx200x.xml: Adjust.

From-SVN: r147446
2009-05-12 22:08:00 +01:00
Jan Hubicka b91cc3b9dc settings.h (get): Mark const.
* include/parallel/settings.h (get): Mark const.
	* libsupc++/unwind-cxx.h (__cxa_call_terminate): Mark throw ().
	* libsupc++/eh_call.cc (__cxa_call_terminate): Mark throw ().
	* config/io/basic_file_stdio.cc (sys_open, is_open, fd, seekoff): Mark
	throw ().
	* config/io/basic_file_stdio.h (__basic_file, sys_open): Mark throw ().
	(is_open, fd): Mark pure and throw ().
	(seekoff): Mark throw ().

From-SVN: r147077
2009-05-03 16:51:50 +00:00
Jan Hubicka 5cf217fff1 * eh_type.cc (__cxa_current_exception_type) Mark throw().
* 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.

From-SVN: r146331
2009-04-18 22:18:21 +00:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Jason Merrill a70f5987c4 re PR c++/34691 (Default argument checking not performed after overload resolution with C linkage)
PR c++/34691
        * name-lookup.c (pushdecl_maybe_friend): Diagnose mismatched
        extern C declarations.

        * libsupc++/unwind-cxx.h: Correct __cxa_call_terminate prototype.

From-SVN: r145386
2009-03-31 23:34:30 -04:00
Benjamin Kosnik 5b9daa7e60 user.cfg.in: Tweaks.
2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r144343
2009-02-21 00:45:21 +00:00
Paolo Carlini bc2631e0c6 re PR libstdc++/25191 (exception_defines.h #defines try/catch)
2009-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/25191	
	* libsupc++/exception_defines.h: Depending on __EXCEPTIONS,
	deal consistently with __try and __catch too.
	* src/localename.cc: Replace try -> __try, catch -> __catch.
	* src/ios.cc: Likewise.
	* src/locale.cc: Likewise.
	* src/istream.cc: Likewise.
	* src/thread.cc: Likewise.
	* src/compatibility.cc: Likewise.
	* src/bitmap_allocator.cc: Likewise.
	* src/ios_init.cc: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/list: Likewise.
	* include/tr1_impl/hashtable: Likewise.
	* include/std/bitset: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_standard_resize_policy_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	split_join_branch_bag.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/slist: Likewise.
	* include/ext/memory: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/vstring.tcc: Likewise.
	* include/ext/rope: Likewise.
	* include/ext/sso_string_base.h: Likewise.
	* include/bits/shared_ptr.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/locale_classes.tcc: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/istream.tcc: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/bits/stl_tempbuf.h: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/ostream_insert.h: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/tr1/shared_ptr.h: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/backward/hashtable.h: Likewise.
	* libsupc++/exception_ptr.h: Likewise.
	* libsupc++/eh_personality.cc: Likewise.
	* libsupc++/eh_call.cc: Likewise.
	* config/locale/gnu/monetary_members.cc: Likewise.
	* config/locale/gnu/time_members.h: Likewise.
	* config/locale/generic/time_members.h: Likewise.

From-SVN: r143913
2009-02-03 23:44:53 +00:00
Benjamin Kosnik adc8a1e3e0 re PR libstdc++/32666 (FAIL: abi_check hppa)
2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/32666
	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/32666
	* Makefile.am (hosted_source): Remove libmath directory.
	* Makefile.in: Regenerate.
	* linkage.m4 (GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT): Remove.
	(AC_REPLACE_MATHFUNCS): Remove.
	(GLIBCXX_CHECK_MATH_SUPPORT): Remove copysign, copysignl checks as done
	in GLIBCXX_CHECK_C99_TR1.
	* acinclude.m4: Remove libmath, need_math.
	* crossconfig.m4: Remove use of HAVE_COPYSIGN, HAVE_COPYSIGNL,
	HAVE_COPYSIGNF, GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, need_libmath.
	* configure.ac: Same.
	* configure: Regenerate.
	* fragment.am: Fix comment.
	* config.h.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/Makefile.am: Remove libmath references.
	* doc/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	* src/compatibility.cc: Also export long double versions of "C" math
	library if hppa-linux.
	* config/abi/pre/gnu.ver: Remove unused __signbit exports.
	* doc/xml/manual/appendix_contributing.xml: Remove libmath reference.

	* libmath: Remove.
	* libmath/signbit.c: Same.
	* libmath/stubs.c: Same.
	* libmath/Makefile.in: Same.
	* libmath/copysignf.c: Same.
	* libmath/mathconf.h: Same.
	* libmath/signbitf.c: Same.
	* libmath/Makefile.am: Same.
	* libmath/signbitl.c: Same.

From-SVN: r143406
2009-01-15 20:02:11 +00:00
Jakub Jelinek c4bca01b27 re PR libstdc++/38732 (Openoffice.org segfaults with runtime libs built from GCC trunk)
PR libstdc++/38732
	* libsupc++/unwind-cxx.h (__cxxabiv1::__cxa_exception): Remove
	referenceCount field again.
	(__cxxabiv1::__cxa_refcounted_exception): New struct.
	(__cxxabiv1::__get_refcounted_exception_header_from_obj,
	__cxxabiv1::__get_refcounted_exception_header_from_ue): New static
	inline functions.
	* libsupc++/eh_alloc.cc (__cxxabiv1::__cxa_allocate_exception,
	__cxxabiv1::__cxa_free_exception): Use __cxa_refcounted_exception
	instead of __cxa_exception.
	* libsupc++/eh_throw.cc (__gxx_exception_cleanup,
	__cxxabiv1::__cxa_throw): Likewise.
	* libsupc++/eh_ptr.cc (std::rethrow_exception,
	std::__exception_ptr::exception_ptr::_M_addref,
	std::__exception_ptr::exception_ptr::_M_release,
	__gxx_dependent_exception_cleanup): Likewise.
	* testsuite/18_support/exception/38732.cc: New test.

From-SVN: r143170
2009-01-07 23:50:42 +01:00
Peter O'Gorman 25e5de9afd configure: Regenerate for new libtool.
* configure: Regenerate for new libtool.
        * aclocal.m4: Ditto.
        * Makefile.in: Ditto.
        * src/Makefile.in: Ditto.
        * doc/Makefile.in: Ditto.
        * po/Makefile.in: Ditto.
        * libmath/Makefile.in: Ditto.
        * include/Makefile.in: Ditto.
        * libsupc++/Makefile.in: Ditto.
        * testsuite/Makefile.in: Ditto.

Co-Authored-By: Steve Ellcey <sje@cup.hp.com>

From-SVN: r140702
2008-09-26 16:32:26 +00:00
Paolo Carlini 37383ef55e gnu.ver: Also export __once_functor_lock...
2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
	GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).

	* Makefile.in: Regenerate.
	* src/Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r139968
2008-09-04 00:57:57 +00:00
Aaron W. LaFramboise d89f0ad622 configure.ac (RPATH_ENVVAR): Use PATH on Windows.
2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

	<toplevel>
	* configure.ac (RPATH_ENVVAR): Use PATH on Windows.
	(GCC_SHLIB_SUBDIR): New.
	* Makefile.tpl (HOST_LIB_PATH_gcc): Use GCC_SHLIB_SUBDIR.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

	<gcc>
	* mkmap-flat.awk: Add option pe_dll.
	* config/i386/t-cygming (SHLIB_LINK): Support building libgcc_s.
	* gcc/config/i386/t-cygwin (SHLIB_LC): Add.
	* gcc/config/i386/t-mingw32 (SHLIB_LC): Add.
	* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): New.
	(SUBTARGET_EXTRA_SPECS): Use SHARED_LIBGCC_UNDEFS_SPEC.
	(LINK_SPEC): Support libgcc_s.
	(LIBGCC_SPEC): Support libgcc_s.
	(LIBGCC_SONAME): New.

	<libstdc++-v3>
	* acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* doc/makefile.in: Regenerated.
	* po/Makefile.in: Regenerated.
	* libmath/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* libsupc++/Makefile.in: Regenerated.
	* testsuite/makefile.in: Regenerated.

From-SVN: r139837
2008-08-31 12:14:25 -06:00
Paul Brook c5e46192bf eh_call.cc (__cxa_call_unexpected): Fix name of __get_object_from_ambiguous_exception.
2008-08-27  Paul Brook  <paul@codesourcery.com>

	* libsupc++/eh_call.cc (__cxa_call_unexpected): Fix name of
	__get_object_from_ambiguous_exception.

From-SVN: r139626
2008-08-27 16:10:19 +00:00
Paolo Carlini 30a333ceeb [multiple changes]
2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
	* testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
	* testsuite/18_support/exception_ptr/current_exception.cc: Use it.
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
        * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.

2008-08-23  Sebastian Redl <sebastian.redl@getdesigned.at>

	Add (again) exception propagation support as per N2179.  Feature is
	available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
	* libsupc++/exception_ptr.h (exception_ptr, current_exception,
        copy_exception, rethrow_exception): New file, implement exception
	propagation.
        * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
        rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
        * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
	(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
        __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
        __gxx_dependent_exception_class, __get_object_from_ue,
        __get_object_from_ambiguous_exception): Add.
        (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
        (__is_gxx_exception_class): Handle dependent exceptions.
        * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
        * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
        * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
        * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
        * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception): Add.
        * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
        counting.
        * libsupc++/exception: Conditionally include exception_ptr.h.
        * libsupc++/Makefile.am: Register new files.
        * libsupc++/Makefile.in: Regenerate.
        * config/abi/pre/gnu.ver: Add new symbols.
        * testsuite/18_support/exception_ptr/current_exception.cc: Test the
        core functionality of current_exception().
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
        core functionality of rethrow_exception().
        * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
        exception objects during exception propagation.

From-SVN: r139509
2008-08-23 11:28:30 +00:00
Paolo Carlini 9b410dd0ec 2008-08-22 Paolo Carlini <paolo.carlini@oracle.com>
Revert again the N2179 patch.

From-SVN: r139497
2008-08-22 18:59:41 +00:00
Sebastian Redl eb5712c966 eh_ptr.cc (__gxx_dependent_exception_cleanup): Call __cxa_free_dependent_exception.
2008-08-21  Sebastian Redl <sebastian.redl@getdesigned.at>

	* libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call
	__cxa_free_dependent_exception.

From-SVN: r139402
2008-08-21 17:37:23 +00:00
Paolo Carlini 6d419a6ef3 Re-instate last patch...
2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	Re-instate last patch, amended to use __exchange_and_add_dispatch
	and __atomic_add_dispatch in eh_ptr.cc and eh_throw.cc.

From-SVN: r139091
2008-08-14 01:17:09 +00:00
Paolo Carlini 8d019b6593 2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last patch.

From-SVN: r139075
2008-08-13 20:10:42 +00:00
Paolo Carlini ec001bc928 2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last patch.

From-SVN: r139074
2008-08-13 20:08:55 +00:00
Sebastian Redl 0292e6d2bb Add exception propagation support as per N2179.
2008-08-13  Sebastian Redl <sebastian.redl@getdesigned.at>

	Add exception propagation support as per N2179.
        * libsupc++/exception_ptr.h (exception_ptr, current_exception,
        copy_exception, rethrow_exception): New file, implement exception
	propagation.
        * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
        rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
        * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
	(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
        __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
        __gxx_dependent_exception_class, __get_object_from_ue,
        __get_object_from_ambiguous_exception): Add.
        (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
        (__is_gxx_exception_class): Handle dependent exceptions.
        * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
        * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
        * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
        * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
        * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception): Add.
        * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
        counting.
        * libsupc++/exception: Conditionally include exception_ptr.h.
        * libsupc++/Makefile.am: Register new files.
        * libsupc++/Makefile.in: Regenerate.
        * config/abi/pre/gnu.ver: Add new symbols.
        * testsuite/18_support/exception_ptr/current_exception.cc: Test the
        core functionality of current_exception().
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
        core functionality of rethrow_exception().
        * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
        exception objects during exception propagation.

From-SVN: r139064
2008-08-13 18:14:51 +00:00
Paolo Bonzini ec6fa56a8d acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Reinstate clock_gettime search, but only in libposix4, never link librt.
2008-08-01  Paolo Bonzini  <bonzini@gnu.org>
	    Chris Fairles  <chris.fairles@gmail.com>

	* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Reinstate clock_gettime
	search, but only in libposix4, never link librt.
	* src/Makefile.am: Reinstate previous change to add GLIBCXX_LIBS.
        * configure: Regenerate.
        * configure.in: Likewise.
        * Makefile.in: Likewise.
        * src/Makefile.in: Likewise.
        * libsup++/Makefile.in: Likewise.
        * po/Makefile.in: Likewise.
        * doc/Makefile.in: Likewise.

Co-Authored-By: Chris Fairles <chris.fairles@gmail.com>

From-SVN: r138519
2008-08-01 14:06:38 +00:00
Paolo Carlini 8cbb6b0003 re PR libstdc++/36924 (mt_allocator/deallocate_local_thread-5.cc and ext/mt_allocator/deallocate_local_thread-7.cc fail sometimes)
2008-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

      	PR libstdc++/36924
      	Revert:
      	2008-07-23  Chris Fairles <chris.fairles@gmail.com>

      	* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
      	Holds the lib that defines clock_gettime (-lrt or -lposix4).
      	* src/Makefile.am: Use it.
      	* configure: Regenerate.
      	* configure.in: Likewise.
      	* Makefile.in: Likewise.
      	* src/Makefile.in: Likewise.
      	* libsup++/Makefile.in: Likewise.
      	* po/Makefile.in: Likewise.
      	* doc/Makefile.in: Likewise.

From-SVN: r138127
2008-07-24 22:47:26 +00:00
Chris Fairles 554cd17b8d acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2008-07-23  Chris Fairles <chris.fairles@gmail.com>

        * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
	Holds the lib that defines clock_gettime (-lrt or -lposix4).
        * src/Makefile.am: Use it.
        * configure: Regenerate.
        * configure.in: Likewise.
        * Makefile.in: Likewise.
        * src/Makefile.in: Likewise.
        * libsup++/Makefile.in: Likewise.
        * po/Makefile.in: Likewise.
        * doc/Makefile.in: Likewise.

From-SVN: r138087
2008-07-23 14:49:00 +00:00
Benjamin Kosnik ad68e9fce0 user.cfg.in: Add complex, ratio, intializer_list.
2008-07-15  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add complex, ratio,
	intializer_list.
	(PREDEFINED): Add _GLIBCXX_USE_C99_STDINT_TR1.
	* doc/doxygen/doxygroups.cc: Add std::chrono.
	* include/bits/unique_ptr.h (default_delete, unique_ptr): Add markup.
	* libsupc++/initializer_list (initializer_list): Same.
	* include/std/ratio: Same.
	* include/std/chrono: Same.
	* include/std/complex: Disambiguate file markup.

From-SVN: r137868
2008-07-16 07:01:23 +00:00
Joseph Myers e32717fc89 unwind-cxx.h (__is_gxx_forced_unwind_class, [...]): Define for ARM EABI unwinder.
* libsupc++/unwind-cxx.h (__is_gxx_forced_unwind_class,
	__GXX_INIT_FORCED_UNWIND_CLASS): Define for ARM EABI unwinder.
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Call
	__GXX_INIT_FORCED_UNWIND_CLASS for forced unwind with ARM EABI
	unwinder.
	* libsupc++/eh_arm.cc (__cxa_type_match): Use
	__is_gxx_forced_unwind_class to check for forced unwind.

From-SVN: r137683
2008-07-10 01:57:16 +01:00
Paolo Carlini d07660ccf3 Makefile.am: Add initializer_list to the headers.
2008-07-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* libsupc++/Makefile.am: Add initializer_list to the headers.
	* libsupc++/Makefile.in: Regenerate.

	* libsupc++/initializer_list: Minor cosmetic changes.

From-SVN: r137409
2008-07-03 09:42:30 +00:00
Jason Merrill 6010fae752 tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.
* gcc/tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.                                       
        * gcc/cp/Make-lang.in (cp/typeck2.o): Add  dependency.                                  
        * libstdc++-v3/libsupc++/initializer_list: Uglify and wrap in                                    
        __GXX_EXPERIMENTAL_CXX0X__.                                                                      
        * libstdc++-v3/include/bits/stl_map.h (insert(initializer_list)): Wrap.

From-SVN: r137406
2008-07-03 00:32:25 -04:00
Jason Merrill 0935784671 Implement WG21 N2672, Initializer List proposed wording
gcc/cp/ChangeLog:
2008-07-02  Jason Merrill  <jason@redhat.com>

Implement WG21 N2672, Initializer List proposed wording
* cp-tree.h (enum cp_tree_index): Add CPTI_INIT_LIST_TYPE.
(struct lang_type_class): Add has_list_ctor bitfield.
(TYPE_HAS_LIST_CTOR): New macro.
(BRACE_ENCLOSED_INITIALIZER_P): Expect init_list_type_node.
(CONSTRUCTOR_IS_DIRECT_INIT): New macro.
(LOOKUP_NO_NARROWING): New macro.
(LOOKUP_NO_COPY_CTOR_CONVERSION): New macro.
* parser.c (cp_parse_braced_list): Split out from...
(cp_parser_initializer_clause): ...here.
(cp_parser_postfix_expression): Build up CONSTRUCTOR for compound 
literal here.
(cp_lexer_next_token_is_not_keyword): New fn.
(cp_parser_parenthesized_expression_list): Handle { }.
(cp_parser_new_expression, cp_parser_new_initializer): Likewise.
(cp_parser_assignment_expression, cp_parser_condition): Likewise.
(cp_parser_jump_statement, cp_parser_simple_declaration): Likewise.
(cp_parser_mem_initializer, cp_parser_init_declarator): Likewise.
(cp_parser_initializer, cp_parser_functional_cast): Likewise.
(cp_parser_omp_for_loop, cp_parser_cache_group): Likewise.
(cp_parser_save_member_function_body): Likewise.
* call.c (conversion_kind): Add ck_list, ck_aggr.
(struct conversion): Add check_narrowing bitfield, conversion list.
(build_list_conv): New fn.
(build_aggr_conv): New fn.
(implicit_conversion): Call them.
(standard_conversion): Set check_narrowing if appropriate.
(add_function_candidate): Handle LOOKUP_NO_COPY_CTOR_CONVERSION.
(build_user_type_conversion_1): When converting from an init list,
we allow additional conversions except when calling a copy ctor.
(convert_like_real): Calling an explicit ctor for an init list is 
ill-formed.  Handle ck_list and ck_addr.  Check narrowing.
(build_new_method_call): If CONSTRUCTOR_IS_DIRECT_INIT is set and
class doesn't have a list ctor, break the {} into a TREE_LIST.
(compare_ics): ck_list is better than other UDCs.
(set_up_extended_ref_temp): Split out from initialize_reference.
(is_std_init_list): New fn.
(is_list_ctor): New fn.
* decl.c (cxx_init_decl_processing): Create init_list_type_node.
(reshape_init_array_1): Pass it to build_constructor.
(reshape_init_class): Ditto.
(initialize_artificial_var): Pass the appropriate type.
(build_aggr_init_full_exprs): Split out from...
(check_initializer): ...here.  Handle new semantics.
(build_init_list_var_init): New subroutine of check_initializer.
(grokdeclarator): Converting constructors can have more than one parm.
(grok_special_member_properties): Set TYPE_HAS_LIST_CTOR.
* init.c (expand_default_init): Only do digest_init for aggregates.
* rtti.c (tinfo_base_init): Pass init_list_type_node to 
build_constructor_from_list.
(generic_initializer, ptr_initializer): Ditto.
(ptm_initializer, class_initializer): Ditto.
(get_pseudo_ti_init): Ditto.
* error.c (dump_type): Handle init_list_type_node.
(maybe_warn_cpp0x): New fn.
(maybe_varn_variadic_templates): Call it.
* cvt.c (ocp_convert): Handle conversion from { }.
* tree.c (build_array_of_n_type): New fn.
* typeck2.c (store_init_value): Use init_list_type_node.
(digest_init): Likewise.
(check_narrowing): New fn.
* semantics.c: (finish_compound_literal): Take CONSTRUCTOR instead 
of vector of constructor elts.  Handle non-aggregate types.  Make
constant literals static.
* pt.c: (tsubst_copy_and_build): Adjust.
(unify): Handle { }.
* name-lookup.c (arg_assoc_type): Handle init_list_type_node.

gcc/ChangeLog:
2008-07-02  Jason Merrill  <jason@redhat.com>

* tree.c (ctor_to_list): New fn.
* tree.h: Declare it.
(CONSTRUCTOR_ELT): New macro.
(CONSTRUCTOR_NELTS): New macro.

libstdc++-v3/ChangeLog:
2008-07-02  Jason Merrill  <jason@redhat.com>

* libsupc++/initializer_list: New file.
* include/bits/stl_map.h (insert(initializer_list)): New method.

From-SVN: r137361
2008-07-02 11:38:50 -04:00
Mark Mitchell b8df34454c vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array address.
2008-06-27  Mark Mitchell  <mark@codesourcery.com>

	* libsupc++/vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array
	address.
	(__aeabi_vec_delete): Likewise.
	(__aeabi_vec_delete3): Likewise.
	(__aeabi_vec_delete3_nodtor): Likewise.

2008-06-27  Mark Mitchell  <mark@codesourcery.com>

	* g++.dg/abi/arm_cxa_vec2.C: New test.

From-SVN: r137207
2008-06-27 23:02:06 +00:00
Benjamin Kosnik 35648b4572 acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of all used __sync builtins, in two sizes.
2008-04-24  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of
	all used __sync builtins, in two sizes.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/atomic.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_1.
	* include/ext/atomicity.h: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
	* libsupc++/guard.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
	* doc/xml/manual/concurrency.xm: Update docs.

From-SVN: r134629
2008-04-24 14:40:29 +00:00
Ralf Wildenhues ef5f59f639 Makefile.am: Fix most stamp rules to regenerate the links for all sources newer than the...
libstdc++-v3/
	* include/Makefile.am: Fix most stamp rules to regenerate
	the links for all sources newer than the stamp file.
	* include/Makefile.in: Regenerate.
	* Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r134492
2008-04-20 21:10:38 +00:00
Andreas Tobler ed0840baf2 re PR libstdc++/35915 (atomic.cc:31:20: error: stdint.h: No such file)
2008-04-16  Andreas Tobler  <a.tobler@schweiz.org>

	PR libstdc++/35915
	* configure.ac: Use GCC_HEADER_STDINT.
	* src/atomic.cc: Include gstdint.h
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* aclocal.m4: Likewise.

From-SVN: r134368
2008-04-16 23:30:11 +02:00
Benjamin Kosnik d466a7e21c [multiple changes]
2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_global/cstdatomic: C++ types only, format, doxygen markup.
	* include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup.
	* src/atomic.c: Format, doxygen markup, edits.

	* include/Makefile.am (cstdatomic, stdatomic.h): Add.
	* src/Makefile.am (atomic.c): Add.
	* acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New.
	* configure.ac: Call it.	
	* include/Makefile.in: Regenerate.
	* src/Makefile.in: Same.
	* Makefile.in: Same.
	* doc/Makefile.in: Same.
	* po/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* include/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* config.h.in: Same.
	* configure: Same.
	
	* config/abi/pre/gnu.ver: Add atomics exports.

	* include/ext/typelist.h (apply_generator): New.
	* include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New.
	(_GLIBCXX_END_EXTERN_C): New.
	Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when
	compiling as C.	
	* testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L
	flag for libstdc++.
	* testsuite/util/testsuite_common_types.h (integral_types): New
	typelist.
	(atomics, atomics_tl): Same.
	(assignable, default_constructible, copy_constructible,
	explicit_value_constructible): New.	
	* testsuite/17_intro/headers/c++200x/all.cc: Test new headers.
	* testsuite/29_atomics: New.
	* testsuite/29_atomics/atomic_address: Same.
	* testsuite/29_atomics/atomic_address/cons: Same.
	* testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same.
	* testsuite/29_atomics/atomic_flag: Same.
	* testsuite/29_atomics/atomic_flag/cons: Same.
	* testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements: Same.
	* testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc: 
	Same.
	* testsuite/29_atomics/atomic_flag/
	atomic_global_fence_compatibility.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same.
	* testsuite/29_atomics/headers: Same.
	* testsuite/29_atomics/headers/cstdatomic: Same.
	* testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
	* testsuite/29_atomics/headers/stdatomic.h: Same.
	* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/functions.c: Same.
	* testsuite/29_atomics/atomic: Same.
	* testsuite/29_atomics/atomic/cons: Same.
	* testsuite/29_atomics/atomic/cons/explicit_value.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/default.cc: Same.
	* testsuite/29_atomics/atomic/requirements: Same.
	* testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same.
	* testsuite/29_atomics/atomic/requirements/explicit_instantiation/
	1.cc: Same.
	
2008-04-10  Lawrence Crowl  <crowl@google.com>

	* include/c_global/cstdatomic: New.
	* include/c_compatibility/stdatomic.h: New.
	* src/atomic.c: New.

From-SVN: r134174
2008-04-10 20:26:45 +00:00
Benjamin Kosnik 074c006515 configure.ac (libtool_VERSION): To 6:11:0.
2008-03-18  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.ac (libtool_VERSION): To 6:11:0.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r133317
2008-03-18 17:22:52 +00:00
Ralf Wildenhues 38d24731e9 configure.ac: m4_include config/proginstall.m4.
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * configure.ac: m4_include config/proginstall.m4.
        * configure: Regenerate.

config/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * proginstall.m4: New file, with fixed AC_PROG_INSTALL.

libjava/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * Makefile.am (install-data-local): Rewrite to be more efficient,
        using awk, and `install' with multiple files at once.  Do not gather
        more than 50 files in one go to avoid hitting command line limits.
        (install_data_local_split): New variable.
        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
        * gcj/Makefile.in: Likewise.
        * include/Makefile.in: Likewise.
        * testsuite/Makefile.in: Likewise.

boehm-gc/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
        * include/Makefile.in: Likewise.

libffi/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
        * include/Makefile.in: Likewise.
        * testsuite/Makefile.in: Likewise.

libgfortran/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.

libgomp/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
        * testsuite/Makefile.in: Likewise.

libmudflap/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
        * testsuite/Makefile.in: Likewise.

libssp/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
libssp/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.

libstdc++-v3/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
        * doc/Makefile.in: Likewise.
        * include/Makefile.in: Likewise.
        * libmath/Makefile.in: Likewise.
        * libsupc++/Makefile.in: Likewise.
        * po/Makefile.in: Likewise.
        * src/Makefile.in: Likewise.
        * testsuite/Makefile.in: Likewise.

zlib/
2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.

From-SVN: r133269
2008-03-16 08:19:08 +00:00
Paolo Carlini 7eed349eb9 configure: Regenerate with documented autoconf and automake versions (i.e., 2.59 and 1.9.6).
2008-02-11  Paolo Carlini  <pcarlini@suse.de>

	* configure: Regenerate with documented autoconf and automake
	versions (i.e., 2.59 and 1.9.6).
	* Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* aclocal.m4: Likewise.

From-SVN: r132238
2008-02-11 10:05:33 +00:00
Benjamin Kosnik 8a165db0c0 Convert documentation to DocBook.
2008-02-10  Benjamin Kosnik  <bkoz@redhat.com>

	Convert documentation to DocBook.
	* doc/Makefile.am (doc-doxygen-html): Changed to doc-html-doxygen.
	(doc-doxygen-man): Changed to doc-man-doxygen.
	(doc-performance): Changed to doc-html-performance.
	(doc-xml-doxygen): New.
	(doc-xml-single): New.
	(doc-xml-validate): New.
	(doc-html): New.
	(doc-html-single): New.
	(doc-fo): New.
	(doc-pdf): New.
	(doc-pdf-fop-xml): New.
	(doc-pdf-fop-fo): New.
	(doc-pdf-xmlto): New.
	(doc-pdf-xmlroff): New.
	(doc-pdf-prince): New.
	* doc/xml: New directory.
	* doc/xml/authors.xml: New.
	* doc/xml/images: New directory.
	* doc/xml/images/confdeps.png: Add.
	* doc/xml/images/confdeps.dot: Add.
	* doc/xml/faq.xml: New.
	* doc/xml/api.xml: New.
	* doc/xml/gnu: New directory.
	* doc/xml/gnu/gpl-3.0.xml: New.
	* doc/xml/gnu/fdl-1.2.xml: New.
	* doc/xml/gnu/gpl-2.0.xml: New.
	* doc/xml/manual: New directory.
	* doc/xml/manual/mt_allocator.xml: New.
	* doc/xml/manual/allocator.xml: New.
	* doc/xml/manual/ctype.xml: New.
	* doc/xml/manual/numerics.xml: New.
	* doc/xml/manual/codecvt.xml: New.
	* doc/xml/manual/concurrency.xml: New.
	* doc/xml/manual/backwards_compatibility.xml: New.
	* doc/xml/manual/intro.xml: New.
	* doc/xml/manual/shared_ptr.xml: New.
	* doc/xml/manual/abi.xml: New.
	* doc/xml/manual/status_cxxtr1.xml: New.
	* doc/xml/manual/auto_ptr.xml: New.
	* doc/xml/manual/build.xml: New.
	* doc/xml/manual/internals.xml: New.
	* doc/xml/manual/parallel_mode.xml: New.
	* doc/xml/manual/status_cxx1998.xml: New.
	* doc/xml/manual/containers.xml: New.
	* doc/xml/manual/io.xml: New.
	* doc/xml/manual/appendix_porting.xml: New.
	* doc/xml/manual/utilities.xml: New.
	* doc/xml/manual/bitmap_allocator.xml: New.
	* doc/xml/manual/support.xml: New.
	* doc/xml/manual/configure.xml: New.
	* doc/xml/manual/build_hacking.xml: New.
	* doc/xml/manual/evolution.xml: New.
	* doc/xml/manual/using.xml: New.
	* doc/xml/manual/debug.xml: New.
	* doc/xml/manual/localization.xml: New.
	* doc/xml/manual/strings.xml: New.
	* doc/xml/manual/debug_mode.xml: New.
	* doc/xml/manual/locale.xml: New.
	* doc/xml/manual/extensions.xml: New.
	* doc/xml/manual/appendix_contributing.xml: New.
	* doc/xml/manual/messages.xml: New.
	* doc/xml/manual/diagnostics.xml: New.
	* doc/xml/manual/appendix_free.xml: New.
	* doc/xml/manual/algorithms.xml: New.
	* doc/xml/manual/iterators.xml: New.
	* doc/xml/manual/spine.xml: New.
	* doc/xml/manual/test.xml: New.
	* doc/xml/manual/status_cxx200x.xml: New.
	* doc/xml/spine.xml: New.

	* doc/xml/book.txml: New. Template file.
	* doc/xml/chapter.txml: Same.
	* doc/xml/class.txml: Same.

	* doc/doxygen/guide.html: Removed, integrated into other docs.
	* doc/doxygen/user.cfg.in: Clean up XML generation.
	* doc/doxygen/run_doxygen: Move to..	
	* scripts/run_doxygen: ...here.
	
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.	
	* po/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r132226
2008-02-11 00:01:33 +00:00
Paolo Carlini e08c673e05 configure: Regenerate.
2008-01-19  Paolo Carlini  <pcarlini@suse.de>

	* configure: Regenerate.
	* Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* aclocal.m4: Likewise.

From-SVN: r131671
2008-01-20 01:48:44 +00:00
Benjamin Kosnik 4312e020f1 [multiple changes]
2008-01-18  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/*: To...
	* doc/*: ...here.
	* testsuite/Makefile.am: Move doc-performance to...
	* Makefile.am: Add doc to SUBDIRS, move doxygen-* rules to...
	* doc/Makefile.am: Consolidate documentation creation here.
	(doc-doxygen-html): New.
	(doc-doxygen-man): New.
	(doc-performance): New.
	* doc/Makefile.in: New.
	* acinclude.m4 (glibcxx_SUBDIRS): Add doc directory.
	* doc/doxygen/guide.html: Edit for unified html configuration.
	* doc/doxygen/mainpage.html: Same.
	* doc/doxygen/run_doxygen: Same, more namespace fixups for man
	generation.
	* doc/doxygen/user.cfg.in: Update for doxygen 1.5.4.
	
	* include/tr1_impl/random: Remove maint from doxygen markup.
	* include/tr1_impl/functional: Same.
	* include/std/tuple: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/limits: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/sstream: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/rc_string_base.h: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/postypes.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/stl_construct.h: Same.
	* include/bits/stl_relops.h: Same.
	* include/tr1/tuple: Same.
	* include/backward/auto_ptr.h: Same.

	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Fixups for line number changes.	
	* 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/auto_ptr/assign_neg.cc: Same.

	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	* scripts/make_graphs.py: Correct paths for new layout.
	
2008-01-17  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (AC_LC_MESSAGES): Remove serial.
	* linkage.m4 (AC_REPLACE_MATHFUNCS): Same.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r131625
2008-01-18 08:16:51 +00:00
Paolo Carlini eeb77d993d tree.h: Remove.
2008-01-14  Paolo Carlini  <pcarlini@suse.de>

	* include/parallel/tree.h: Remove.
	* include/Makefile.am: Update.
	* include/Makefile.in: Rebuild.

	* src/Makefile.am: Remove spurious trailing backslash.
	* src/Makefile.in: Rebuild.
	* po/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* aclocal.m4: Likewise.
	* Makefile.in: Likewise.
	* configure: Likewise.

From-SVN: r131529
2008-01-14 18:08:39 +00:00
Jakub Jelinek 0f3e711eef configure.ac (--enable-linux-futex): Add new configure option.
libstdc++-v3/
	* configure.ac (--enable-linux-futex): Add new configure option.
	(HAVE_LINUX_FUTEX): New AC_DEFINE.
	* Makefile.in: Rebuilt.
	* aclocal.m4: Rebuilt.
	* configure: Rebuilt.
	* config.h.in: Rebuilt.
	* config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_BIT,
	_GLIBCXX_GUARD_PENDING_BIT, _GLIBCXX_GUARD_WAITING_BIT): Define.
	* config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_BIT,
	_GLIBCXX_GUARD_PENDING_BIT, _GLIBCXX_GUARD_WAITING_BIT): Define.
	* libsupc++/guard.cc: Include climits and syscall.h.
	(_GLIBCXX_USE_FUTEX): Define if futex syscall and atomic builtins
	are supported.
	(_GLIBCXX_FUTEX_WAIT, _GLIBCXX_FUTEX_WAKE): Likewise.
	(__guard_test_bit): New static inline.
	(__cxa_guard_acquire, __cxa_guard_release, __cxa_guard_abort): Use
	atomic builtins and futex syscall if _GLIBCXX_USE_FUTEX.
config/
	* futex.m4: New file.
libgomp/
	* configure.ac: Move futex checking into ../config/futex.m4.
	* configure: Rebuilt.
	* aclocal.m4: Rebuilt.
	* Makefile.in: Rebuilt.

	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
	2007-10-15 ../config/tls.m4 change.

From-SVN: r131399
2008-01-08 17:14:49 +01:00
Ted Phelps dfd503426c re PR c++/34152 (Erratic behaviour: Exception translation (throw from signal handlers))
PR c++/34152
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Check
	_GLIBCXX_HAVE_GETIPINFO instead of HAVE_GETIPINFO.

From-SVN: r131361
2008-01-06 21:25:57 +01:00
Jason Merrill b0bb87a862 guard.cc (struct mutex_wrapper): Move into anonymous namespace.
* libsupc++/guard.cc (struct mutex_wrapper): Move into
        anonymous namespace.

From-SVN: r129218
2007-10-10 19:06:08 -04:00
Zhou Drangon 3c8b6c602e re PR libstdc++/33682 (libstdc++ broken for !__GTHREAD_HAS_COND hosts)
2007-10-09  Zhou Drangon  <drangon.mail@gmail.com>

	PR libstdc++/33682
        * libsupc++/guard.cc: Make single conditional variable
        implementation dependent to __GTHREAD_HAS_COND.

From-SVN: r129181
2007-10-09 21:24:31 +00:00
Benjamin Kosnik 049d24222d re PR libstdc++/33678 (__do_catch, __do_upcast ABI change)
2007-10-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/33678	
	* libsupc++/typeinfo (typeinfo): Revert ordering of virtual components.

From-SVN: r129058
2007-10-06 23:40:32 +00:00
Doug Kwan afd82ef5ab gthr-posix.h (__gthread_cond_broadcast, [...]): Add to extend interface for POSIX conditional variables.
2007-09-13  Doug Kwan  <dougkwan@google.com>

        * gcc/gthr-posix.h (__gthread_cond_broadcast, __gthread_cond_wait,
        __gthread_cond_wait_recursive): Add to extend interface for POSIX
        conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
        support of conditional variables.
        * gcc/gthr-posix95.h (__gthread_cond_broadcast, __gthread_cond_wait,
        __gthread_cond_wait_recursive): Add to extend interface for POSIX
        conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
        support of conditional variables.
        * gcc/gthr-single.h (__gthread_cond_broadcast, __gthread_cond_wait,
        __gthread_cond_wait_recursive): Add to extend interface for POSIX
        conditional variables.
        * gcc/gthr.h: Update comments to document new interface.
        * libstdc++-v3/include/ext/concurrent.h (class __mutex,
        class __recursive_mutex): Add new method gthread_mutex to access
        inner gthread mutex.
        [__GTHREAD_HAS_COND] (class __concurrence_broadcast_error,
        class __concurrence_wait_error, class __cond): Add.
        * guard.cc (recursive_push, recursive_pop): Delete.
        (init_in_progress_flag, set_init_in_progress_flag): Add to
        replace recursive_push and recursive_pop.
        (throw_recursive_init_exception): Add.
        (acquire, __cxa_guard_acquire, __cxa_guard_abort and
        __cxa_guard_release): [__GTHREAD_HAS_COND] Use a conditional
        for synchronization of static variable initialization.
        The global mutex is only held briefly when guards are
        accessed. [!__GTHREAD_HAS_COND] Fall back to the old code,
        which deadlocks.
        * testsuite/thread/guard.cc: Add new test. It deadlocks with the
        old locking code in libstdc++-v3/libsup++/guard.cc.

From-SVN: r129030
2007-10-05 01:35:46 -04:00
Johannes Singler c2ba97097b Add parallel mode.
2007-09-11  Johannes Singler  <singler@ira.uka.de>
	    Leonor Frias Moya  <lfrias@lsi.upc.edu>
            Felix Putze  <kontakt@felix-putze.de>
            Marius Elvert  <marius.elvert@ira.uka.de>
	    Felix Bondarenko  <f.bondarenko@web.de>
	    Robert Geisberger  <robert.geisberger@stud.uni-karlsruhe.de>
	    Robin Dapp  <r.dapp@freenet.de>
  	    Benjamin Kosnik  <bkoz@redhat.com>

	Add parallel mode.
	* include/parallel: New.
	* include/parallel/iterator.h: New.
	* include/parallel/multiway_merge.h: New.
	* include/parallel/parallel.h: New.
	* include/parallel/algorithm
	* include/parallel/find_selectors.h: New.
	* include/parallel/losertree.h: New.
	* include/parallel/list_partition.h: New.
	* include/parallel/types.h: New.
	* include/parallel/for_each.h: New.
	* include/parallel/multiseq_selection.h: New.
	* include/parallel/workstealing.h: New.
	* include/parallel/base.h: New.
	* include/parallel/par_loop.h: New.
	* include/parallel/numeric
	* include/parallel/features.h: New.
	* include/parallel/quicksort.h: New.
	* include/parallel/algorithmfwd.h: New.
	* include/parallel/equally_split.h: New.
	* include/parallel/compiletime_settings.h: New.
	* include/parallel/for_each_selectors.h: New.
	* include/parallel/basic_iterator.h: New.
	* include/parallel/omp_loop_static.h: New.
	* include/parallel/random_shuffle.h: New.
	* include/parallel/balanced_quicksort.h: New.
	* include/parallel/set_operations.h: New.
	* include/parallel/tags.h: New.
	* include/parallel/merge.h: New.
	* include/parallel/tree.h: New.
	* include/parallel/settings.h: New.
	* include/parallel/unique_copy.h: New.
	* include/parallel/multiway_mergesort.h: New.
	* include/parallel/numericfwd.h: New.
	* include/parallel/search.h: New.
	* include/parallel/partition.h: New.
	* include/parallel/compatibility.h: New.
	* include/parallel/algobase.h: New.
	* include/parallel/find.h: New.
	* include/parallel/partial_sum.h: New.
	* include/parallel/algo.h: New.
	* include/parallel/omp_loop.h: New.
	* include/parallel/queue.h: New.
	* include/parallel/timing.h: New.
	* include/parallel/sort.h: New.
	* include/parallel/checkers.h: New.
	* include/parallel/random_number.h: New.
	* include/bits/algorithmfwd.h: New.

	* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): New.
	* configure.host: Add atomic_flags.
	* configure.ac: Export ATOMIC_FLAGS, call GLIBCXX_ENABLE_PARALLEL.
	* src/Makefile.am: Add parallel_list rules.
	* include/Makefile.am: Add parallel files.
	* testsuite/Makefile.am (check-parallel): Add.
	(check-performance-parallel): Add.
	* config.h.in: Regenerate.
	* configure: Same.
	* libsupc++/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* include/Makefile.in: Same.
	* src/Makefile.in: Same.
	* po/Makefile.in: Same.
	
	* config/abi/pre/gnu.ver: Export parallel list bits.

	* docs/html/parallel_mode.html: New.
	* docs/html/documentation.html: Add link.
	* docs/doxygen/user.cfg.in: Adjust for new files and directory.
	* docs/doxygen/doxygroups.cc: Adjust namespace markup.

	* include/debug/set.h: Adjust for _GLIBCXX_STD_D or _P change.
	* include/debug/bitset: Same.
	* include/debug/multiset.h: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/list: Same.
	* include/debug/debug.h: Same.
	* include/debug/multimap.h: Same.
	* include/std/algorithm: Same.
	* include/std/numeric: Same.
	* include/std/bitset: Same.
	* include/std/string: Same.
	* include/ext/hash_map: Same.
	* include/ext/hash_set: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/c++config: Same.
	* include/bits/vector.tcc: Same.
	* include/bits/deque.tcc: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/list.tcc: Same.
	* src/list.cc: Same.
	* src/parallel_list.cc: New.

	* testsuite/lib/libstdc++.exp (check_v3_target_parallel_mode): New.
	* testsuite/lib/dg-options.exp (dg-require-parallel-mode): New.
	* scripts/testsuite_flags.in (--cxxparallelflags): New.
	* scripts/check_performance: Adjust.
	* testsuite/25_algorithms/headers/parallel_algorithm.cc: New.
	* testsuite/25_algorithms/headers/algorithm_parallel_mode.cc: New.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc: New.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc: New.
	* testsuite/26_numerics/headers/numeric/parallel_numeric.cc: New.
	* testsuite/26_numerics/headers/numeric/numeric_parallel_mode.cc: New.
	* testsuite/26_numerics/headers/numeric/
	parallel_numeric_mixed1.cc: New.
	* testsuite/26_numerics/headers/numeric/
	parallel_numeric_mixed2.cc: New.
	

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
Co-Authored-By: Felix Bondarenko <f.bondarenko@web.de>
Co-Authored-By: Felix Putze <kontakt@felix-putze.de>
Co-Authored-By: Leonor Frias Moya <lfrias@lsi.upc.edu>
Co-Authored-By: Marius Elvert <marius.elvert@ira.uka.de>
Co-Authored-By: Robert Geisberger <robert.geisberger@stud.uni-karlsruhe.de>
Co-Authored-By: Robin Dapp <r.dapp@freenet.de>

From-SVN: r128395
2007-09-11 22:32:51 +00:00
Benjamin Kosnik 9adfc73cd3 functional_hash.h: Add ext/numeric_traits.h.
2007-09-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/functional_hash.h: Add ext/numeric_traits.h.
	* include/tr1/functional_hash.h Same.
	* include/tr1/functional: Remove string, ext/type_traits.h includes.
	* include/tr1_impl/functional_hash.h: Move string, wstring
	definitions for std::<hash>::operator into separate file.
	* include/std/functional
	* src/hash.cc: New, move definitions here.
	* src/hash_c++0x.cc: Same.
	* src/Makefile.am: Add new source files.
	* configure: Regenerate.
	* Makefile.in: Same.
	* src/Makefile.in: Same.
	* po/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* config/abi/pre/gnu.ver: Add symbols.
	* config/abi/pre/gnu-versioned-namespace.ver: Same, fix.

From-SVN: r128278
2007-09-09 00:05:13 +00:00
Benjamin Kosnik 949d9ae181 throw_allocator.h: Fixes for -fno-exceptions.
2007-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/throw_allocator.h: Fixes for -fno-exceptions.
	* testsuite/util/testsuite_shared.cc: Same.
	* testsuite/util/io/illegal_input_error.hpp: Same.
	* testsuite/util/io/verified_cmd_line_input.cc: Same.

	* libsupc++/typeinfo (type_info): Correct comment formatting,
	clarify member access and public interface.
	* libsupc++/exception: Less compressed comments.
	* libsupc++/new: Same.

From-SVN: r126016
2007-06-26 11:01:15 +00:00
Richard Earnshaw ddb4f387ee eh_arm.cc (__cxa_type_match): Handle foreign exceptions.
* libsupc++/eh_arm.cc (__cxa_type_match): Handle foreign
	exceptions.
	* libsubpc++/eh_personality.cc: Don't try to set up foreign or
	forced unwind types here when using the ARM EABI unwinder.

From-SVN: r125683
2007-06-13 19:31:58 +00:00
Steve Ellcey 1cf3d07da6 ltmain.sh: Update from ToT Libtool.
* ltmain.sh: Update from ToT Libtool.
        * libtool.m4: Update from ToT Libtool.
        * ltsugar.m4: New. Update from ToT Libtool.
        * ltversion.m4: New. Update from ToT Libtool.
        * ltoptions.m4: New. Update from ToT Libtool.
        * ltconfig: Remove.
        * ltcf-c.sh: Remove.
        * ltcf-cxx.sh: Remove.
        * ltcf-gcj.sh: Remove.
	* Regenerate all subdirs

From-SVN: r125032
2007-05-24 16:37:27 +00:00
Mark Mitchell 357480cec5 cxxabi.h (_GLIBCXX_NOTHROW): New macro.
* libstdc++-v3/libsupc++/cxxabi.h (_GLIBCXX_NOTHROW): New macro.
	(__cxa_atexit): Use it.

	* testsuite/lib/libstdc++.exp (v3_target_compile_as_c): For
	installed-tree testing, search more include directories.

From-SVN: r124565
2007-05-09 05:21:36 +00:00
Jason Merrill fba10f59ff cxxabi-internal.h: Remove, to be replaced by...
* libsupc++/cxxabi-internal.h: Remove, to be replaced by...
        * 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.

From-SVN: r124539
2007-05-08 02:50:32 -04:00
Benjamin Kosnik 9b4fc32c63 testsuite_abi.cc: Add CXXABI_1.3.2.
2007-05-08  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.2.

	* libsupc++/cxxabi-internal.h (__foreign_exception::__pure): To
	__pure_virtual.

From-SVN: r124537
2007-05-08 06:04:52 +00:00
Jason Merrill d05f74f16e re PR other/28145 (C++ (throw() and catch(...) {/* fall through */ } ) and pthread cancellation are incompatible (at least with NPTL))
PR c++/28145
        * 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.

From-SVN: r124517
2007-05-07 17:27:54 -04:00
Mark Mitchell 88e6c94714 cxxabi.h (__cxa_atexit): Conditionalize exception specification on #ifdef __cplusplus.
* libsupc++/cxxabi.h (__cxa_atexit): Conditionalize exception
	specification on #ifdef __cplusplus.

From-SVN: r124456
2007-05-05 00:39:45 +00:00
Mark Mitchell aa2bd2db03 atexit_arm.cc: New file.
* libsupc++/atexit_arm.cc: New file.
	* 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.

From-SVN: r124436
2007-05-04 17:42:49 +00:00
Benjamin Kosnik 113008b54b cc_hash_max_collision_check_resize_trigger_imp.hpp: Qualify namespace std members.
2007-04-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/detail/resize_policy/
	cc_hash_max_collision_check_resize_trigger_imp.hpp: Qualify
	namespace std members.	
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_metadata.hpp: Same.
	* include/ext/throw_allocator.h: Same.
	* include/ext/pod_char_traits.h: Same.
	* include/ext/malloc_allocator.h: Same.
	* libsupc++/del_op.cc: Same, simplify.

	* include/bits/c++config: Adjust macro name.
	
	* include/c_global/cstring: Alphabetize.
	* include/c_global/cwctype: Same.

From-SVN: r123710
2007-04-11 01:11:56 +00:00
Mark Mitchell bd994a48f6 array_type_info.cc: Likewise.
* libsupc++/array_type_info.cc: Likewise.
	* libsupc++/bad_cast.cc: Likewise.
	* libsupc++/bad_typeid.cc: Likewise.
	* libsupc++/class_type_info.cc: Likewise.
	* libsupc++/dyncast.cc: Likewise.
	* libsupc++/enum_type_info.cc: Likewise.
	* libsupc++/function_type_info.cc: Likewise.
	* libsupc++/fundamental_type_info.cc: Likewise.
	* libsupc++/pbase_type_info.cc: Likewise.
	* libsupc++/pmem_type_info.cc: Likewise.
	* libsupc++/pointer_type_info.cc: Likewise.
	* libsupc++/si_class_type_info.cc: Likewise.
	* libsupc++/vmi_class_type_info.cc: Likewise.
	* libsupc++/tinfo.h: Move inline type_info functions here.
	* libsupc++/tinfo.cc: Separate type_info classes into their own
	files.
	* libsupc++/tinfo2.cc: Likewise.
	* Makefile.am (sources): Mention new files.
	* Makefile.in: Regenerated.

From-SVN: r123042
2007-03-18 22:35:39 +00:00
Benjamin Kosnik af13a7a6ec acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global.
	* configure.host (c_model): Set default to c_global.
	* configure: Regenerate.
	* include/Makefile.am (c_compatibility_headers_extra): Make
	conditional on GLIBCXX_C_HEADERS_COMPATIBILITY.
	(c_base_headers_extra): Make conditional on GLIBCXX_C_HEADERS_EXTRA.
	(c_compatibility_headers): Make conditional on c/c_std/c_global.
	* include/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add c_global information to
	--enable-cheaders. Eventually, "c_std" should mean "C" includes
	that are in namespace std, with optional C++ "C" compatibility
	includes to inject into global scope. And "c_global" should mean
	"C" includes that are in the global namespace, with C++ includes
	injecting into namespace std and no C++ "C" compatibility
	includes.
 
2007-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Add _GLIBCXX_NAMEPACE_C.
	Add _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x.
	Add _GLIBCXX_TR1 as namespace macro.
	Add namespace associations for std::__cxx200x conditionally.

	* include/c_compatibility/assert.h: Correct doxygen markup,
	conditionalize the global injections on _GLIBCXX_NAMESPACE_C.
	* include/c_compatibility/ctype.h: Same.
	* include/c_compatibility/errno.h: Same.
	* include/c_compatibility/float.h: Same.
	* include/c_compatibility/iso646.h: Same.
	* include/c_compatibility/limits.h: Same.
	* include/c_compatibility/locale.h: Same.
	* include/c_compatibility/math.h: Same.
	* include/c_compatibility/setjmp.h: Same.
	* include/c_compatibility/signal.h: Same.
	* include/c_compatibility/stdarg.h: Same.
	* include/c_compatibility/stddef.h: Same.
	* include/c_compatibility/stdio.h: Same.
	* include/c_compatibility/stdlib.h: Same.
	* include/c_compatibility/string.h: Same.
	* include/c_compatibility/time.h: Same.
	* include/c_compatibility/wchar.h: Same.
	* include/c_compatibility/wctype.h: Same.

	* include/c_compatibility/complex.h: Add.
	* include/c_compatibility/fenv.h: Same.
	* include/c_compatibility/inttypes.h: Same.
	* include/c_compatibility/stdbool.h: Same.
	* include/c_compatibility/stdint.h: Same.
	* include/c_compatibility/tgmath.h: Same.

	* include/c_global/cassert: Add, use include_next, use C++0x features
	if -std=c++0x.
	* include/c_global/cctype: Same.
	* include/c_global/cerrno: Same.
	* include/c_global/cfloat: Same.
	* include/c_global/ciso646: Same.
	* include/c_global/climits: Same.
	* include/c_global/clocale: Same.
	* include/c_global/cmath: Same.
	* include/c_global/cmath.tcc: Same.
	* include/c_global/csetjmp: Same.
	* include/c_global/csignal: Same.
	* include/c_global/cstdarg: Same.
	* include/c_global/cstddef: Same.
	* include/c_global/cstdio: Same.
	* include/c_global/cstdlib: Same.
	* include/c_global/cstring: Same.
	* include/c_global/ctime: Same.
	* include/c_global/cwchar: Same.
	* include/c_global/cwctype: Same.

	* include/c_global/ccomplex: Add.
	* include/c_global/cfenv: Add.
	* include/c_global/cinttypes: Add. 
	* include/c_global/cstdbool: Add.
	* include/c_global/cstdint: Add.
	* include/c_global/ctgmath: Add.

	* include/std/algorithm: Use C++0x features if -std=c++0x.	
	* include/std/bitset: Same.
	* include/std/complex: Same.
	* include/std/deque: Same.
	* include/std/fstream: Same.
	* include/std/functional: Same.
	* include/std/iomanip: Same.
	* include/std/ios: Same.
	* include/std/iosfwd: Same.
	* include/std/iostream: Same.
	* include/std/istream: Same.
	* include/std/iterator: Same.
	* include/std/limits: Same.
	* include/std/list: Same.
	* include/std/locale: Same.
	* include/std/map: Same.
	* include/std/memory: Same.
	* include/std/numeric: Same.
	* include/std/ostream: Same.
	* include/std/queue: Same.
	* include/std/set: Same.
	* include/std/sstream: Same.
	* include/std/stack: Same.
	* include/std/stdexcept: Same.
	* include/std/streambuf: Same.
	* include/std/string: Same.
	* include/std/utility: Same.
	* include/std/valarray: Same.
	* include/std/vector: Same.

	* include/std/array: Add.
	* include/std/random: Add.
	* include/std/regex: Add.
	* include/std/tuple: Add.
	* include/std/type_traits: Add.
	* include/std/unordered_map: Add.
	* include/std/unordered_set: Add.
	* include/std/c++0x_warning.h: Add.
	
	* include/tr1/array: Switch namespaces based on _GLIBCXX_TR1.
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/cctype: Same.
	* include/tr1/cfenv: Same.
	* include/tr1/cinttypes: Same.
	* include/tr1/cmath: Same.
	* include/tr1/common.h: Same.
	* include/tr1/complex: Same.
	* include/tr1/cstdint: Same.
	* include/tr1/cstdio: Same.
	* include/tr1/cstdlib: Same.
	* include/tr1/cwchar: Same.
	* include/tr1/cwctype: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_hash.h: Same.
	* include/tr1/functional_iterate.h: Same.
	* include/tr1/hashtable: Same.
	* include/tr1/hashtable_policy.h: Same.
	* include/tr1/math.h: Same.
	* include/tr1/memory: Same.
	* include/tr1/random: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/repeat.h: Same.
	* include/tr1/stdlib.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/unordered_map: Same.
	* include/tr1/unordered_set: Same.
	* include/tr1/utility: Same.

	* include/tr1/ccomplex: Add.
	* include/tr1/complex.h: Add.
	* include/tr1/regex: Add.

	* include/Makefile.am: Add C++0x headers, "C" compatibility headers.
	* include/Makefile.in: Regenerate.

	* testsuite/tr1/headers.cc: Add in regex/complex.

	* testsuite/17_intro/headers/c++200x/all.cc: New.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same.
	* testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same.
	* testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Same.
	* testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: Same.
	* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same.
	* testsuite/20_util/enable_shared_from_this/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/headers/functional/types_std_c++0x.cc: Same.
	* testsuite/20_util/headers/functional/
	using_namespace_std_placeholders.cc: Same.
	* testsuite/20_util/headers/memory/types_std_c++0x.cc: Same.
	* testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: Same.
	* testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same.
	* testsuite/20_util/shared_ptr/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/20_util/weak_ptr/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/hash/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/headers/array/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same.
	* testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: Same.
	* testsuite/23_containers/tuple/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation.cc: Same.
	* testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same.
	* testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Same.
	* testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same.
	* testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Same.
	* testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Same.
	* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Same.

	* testsuite/tr1/8_c_compatibility/cfenv/types.cc: Rename ...
	* testsuite/tr1/8_c_compatibility/cinttypes/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cmath/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdint/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Same.
	* testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc: ...to this.
	* testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Same.
	* testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Same.

From-SVN: r122533
2007-03-04 22:59:49 +00:00
Paolo Carlini c3f0f556db re PR libstdc++/14493 (std::bad_alloc::what() does not explain what happened)
2007-02-01  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14493
	* libsupc++/typeinfo (bad_cast::what, bad_typeid::what): Declare.
	* libsupc++/tinfo.cc: Define.	
	* libsupc++/exception (bad_exception::what): Declare.
	* libsupc++/eh_exception.cc: Define.
	(exception::what): Adjust, don't use typeid.
	* libsupc++/new (bad_alloc::what): Declare.
	* libsupc++/new_handler.cc: Define.
	* config/abi/pre/gnu.ver: Export the new methods @3.4.9; adjust
	existing 3.4.10 exports to 3.4.9.
	* configure.ac: Adjust to 6.0.9.
	* configure: Regenerate.
	* testsuite/util/testsuite_abi.cc: Update.
	* testsuite/18_support/14493.cc: New.

From-SVN: r121461
2007-02-01 13:36:51 +00:00
Ben Elliston 20fdc40c5a eh_alloc.cc (__cxa_free_exception): Don't refer to the emergency_buffer using `&array[0][0]' notation, use `array'.
* libsupc++/eh_alloc.cc (__cxa_free_exception): Don't refer to the
	emergency_buffer using `&array[0][0]' notation, use `array'.

From-SVN: r121456
2007-02-01 15:04:34 +11:00
Benjamin Kosnik 4ffe6e87dc enc_filebuf.h: Resurrect, update.
2007-01-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/enc_filebuf.h: Resurrect, update.
	* include/ext/codecvt_specializations.h: Remove
        _GLIBCXX_USE_ICONV, _GLIBCXX_USE_ENCODING_STATE.
	* include/bits/localefwd.h: Remove declaration for __enc_traits.
	* docs/html/22_locale/codecvt.html: Change __enc_traits to
	encoding_state.
	* scripts/testsuite_flags.in: Remove ICONV.

	* configure.ac: Remove GLIBCXX_CHECK_ICONV_SUPPORT.
	* acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove.
	* crossconfig.m4: Remove use of GLIBCXX_CHECK_ICONV_SUPPORT.
	* config.h.in: Remove HAVE_ICONV_CLOSE, HAVE_ICONV_OPEN,
	HAVE_NL_LANGINFO, _GLIBCXX_USE_ICONV.
	* include/Makefile.am: Uglify ICONV_CONST.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.
	* Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Use
	dg-require-iconv, fix up for encoding_state changes.
	* testsuite/ext/enc_filebuf/char/13189.cc: Same.
	* testsuite/ext/enc_filebuf/char/13598.cc: Same.
	* testsuite/22_locale/codecvt/unicode: Move...
	* testsuite/22_locale/codecvt/unicode/char.cc: Move...
	* testsuite/22_locale/codecvt/unicode/1.cc: Move...
	* testsuite/22_locale/codecvt/unicode/wchar_t.cc: Move...
	* testsuite/ext/codecvt: New.
	* testsuite/ext/codecvt/char-1.cc: ...here. Also, use dg-require-iconv.
	* testsuite/ext/codecvt/char-2.cc: ...here. Same.
	* testsuite/ext/codecvt/1.cc: ...here. Same.
	* testsuite/ext/codecvt/wchar_t.cc: ...here. Same.
	* testsuite/22_locale/locale/cons/unicode: Delete directory.
	* testsuite/22_locale/locale/cons/unicode/1.cc: Move...
	* testsuite/22_locale/locale/cons/unicode.cc: ...here.

From-SVN: r121297
2007-01-29 18:22:37 +00:00
Andrew Pinski ca32e64edd eh_personality.cc (PERSONALITY_FUNCTION): Replace _Unwind_Word with _uleb128_t in the SJLJ context.
2007-01-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * libsupc++/eh_personality.cc  (PERSONALITY_FUNCTION): Replace
        _Unwind_Word with _uleb128_t in the SJLJ context.

From-SVN: r121145
2007-01-24 14:45:20 -08:00
Andreas Krebbel f767122b2e unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t.
2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with 
	_uleb128_t and _Unwind_SWord with _sleb128_t.
	* unwind-dw2.c (extract_cie_info, execute_stack_op, execute_cfa_program,
	uw_frame_state_for, uw_update_context_1): Likewise.
	* unwind-c.c (parse_lsda_header, PERSONALITY_FUNCTION): Likewise.
	* unwind-pe.h (read_uleb128, read_sleb128,
	read_encoded_value_with_base): Likewise.
	* unwind-generic.h: Define _sleb128_t and _uleb128_t types.

2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* libsupc++/eh_personality.cc (parse_lsda_header, check_exception_spec,
	get_ttype_entry, empty_exception_spec, PERSONALITY_FUNCTION): Replaced
	_Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t.

2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* exception.cc (parse_lsda_header, PERSONALITY_FUNCTION): Replaced
	_Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t.

From-SVN: r121116
2007-01-24 14:46:47 +00:00
Ian Lance Taylor 2a67bec24f re PR c++/19564 (-Wparentheses does not work with the C++ front-end)
PR c++/19564
	PR c++/19756
gcc/:
	* c-typeck.c (parser_build_binary_op): Move parentheses warnings
	to warn_about_parentheses in c-common.c.
	* c-common.c (warn_about_parentheses): New function.
	* c-common.h (warn_about_parentheses): Declare.
	* doc/invoke.texi (Warning Options): Update -Wparentheses
	description.
gcc/cp/:
	* parser.c (cp_parser_expression_stack_entry): Add field
	lhs_type.
	(cp_parser_binary_expression): Track tree code of left hand side
	of expression.  Use it when calling build_x_binary_op.
	(cp_parser_selection_statement): Add if_p parameter.  Change all
	callers.  Warn about ambiguous else.
	(cp_parser_statement): Add if_p parameter.  Change all callers.
	(cp_parser_implicitly_scoped_statement): Likewise.
	* typeck.c (build_x_binary_op): Add parameters arg1_code and
	arg2_code.  Change all callers.  Call warn_about_parentheses.
	* cp-tree.h (build_x_binary_op): Update declaration.
gcc/testsuite/:
	* g++.dg/warn/Wparentheses-5.C: New test.
	* g++.dg/warn/Wparentheses-6.C: New test.
	* g++.dg/warn/Wparentheses-7.C: New test.
	* g++.dg/warn/Wparentheses-8.C: New test.
	* g++.dg/warn/Wparentheses-9.C: New test.
	* g++.dg/warn/Wparentheses-10.C: New test.
	* g++.dg/warn/Wparentheses-11.C: New test.
	* g++.dg/warn/Wparentheses-12.C: New test.
	* g++.dg/warn/Wparentheses-13.C: New test.
	* g++.dg/warn/Wparentheses-14.C: New test.
	* g++.dg/warn/Wparentheses-15.C: New test.
	* g++.dg/warn/Wparentheses-16.C: New test.
	* g++.dg/warn/Wparentheses-17.C: New test.
	* g++.dg/warn/Wparentheses-18.C: New test.
	* g++.dg/warn/Wparentheses-19.C: New test.
	* g++.dg/warn/Wparentheses-20.C: New test.
	* g++.dg/warn/Wparentheses-21.C: New test.
libstdc++-v3/:
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
	Add parentheses around && within || to avoid warning.
	(num_get<>::_M_extract_int): Likewise.
	(money_get<>::_M_extract): Likewise.
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, void*&)): Add parentheses around & within | to
	avoid warning.
	(num_put<>::do_put(iter_type, ios_base&, char_type, const void*)):
	Likewise.
	* include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
	Add parentheses around && within || to avoid warning.
	* libsupc++/tinfo.cc (__do_dyncast): Likewise.
	* src/locale.cc (locale::_S_normalize_category): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_unique): Add
	braces to avoid ambiguous else warning.
	* src/strstream.cc (strstreambuf::_M_free): Likewise.
	* src/tree.cc (_Rb_tree_rebalance_for_erase): Likewise.

From-SVN: r119855
2006-12-14 05:49:06 +00:00
Benjamin Kosnik 78a5388739 throw_allocator.h: Consistent @file markup.
2006-11-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/throw_allocator.h: Consistent @file markup.
	* include/ext/type_traits.h: Same.
	* include/debug/hash_map: Same.
	* include/debug/hash_multimap.h: Same.
	* include/debug/set.h: Same.
	* include/debug/hash_set.h: Same.
	* include/debug/formatter.h: Same.
	* include/debug/bitset: Same.
	* include/debug/set: Same.
	* include/debug/multiset.h: Same.
	* include/debug/safe_sequence.h: Same.
	* include/debug/hash_set: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/safe_iterator.tcc: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/hash_map.h: Same.
	* include/debug/string: Same.
	* include/debug/macros.h: Same.
	* include/debug/list: Same.
	* include/debug/debug.h: Same.
	* include/debug/map: Same. 
	* include/debug/safe_iterator.h: Same.
	* include/debug/multimap.h: Same.
	* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
	* config/cpu/generic/atomicity_builtins/atomicity.h: Same.
	* config/cpu/generic/atomic_word.h: Same.
	* include/tr1/memory: Same.
	* include/tr1/random: Same.	
	* include/std/std_queue.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_utility.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* libsupc++/typeinfo: Same.
	* libsupc++/exception: Same.
	* libsupc++/exception_defines.h: Same.
	* libsupc++/new: Same.
	
	* include/ext/bitmap_allocator.h: Change namespace __balloc to
	__detail.
	* src/bitmap_allocator.cc: Same.
	
	* include/bits/cpp_type_traits.h: Change __true_type and
	__false_type from global to namespace std scope.
	* include/ext/slist: Same.
	* include/ext/vstring.h: Same.
	* include/ext/vstring.tcc: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/sso_string_base.h: Same.

	* include/bits/codecvt.h: Adjust markup so that correct namespace
	scope information is in all files.
	* include/bits/locale_facets.h: Same. Include ctype_base directly.
	* config/os/windiss/ctype_base.h: Add in namespace markup.
	* config/os/newlib/ctype_base.h: Same.
	* config/os/aix/ctype_base.h: Same.
	* config/os/vxworks/ctype_base.h: Same.
	* config/os/hpux/ctype_base.h: Same.
	* config/os/mingw32/ctype_base.h: Same.
	* config/os/gnu-linux/ctype_base.h: Same.
	* config/os/tpf/ctype_base.h: Same.
	* config/os/uclibc/ctype_base.h: Same.
	* config/os/djgpp/ctype_base.h: Same.
	* config/os/qnx/qnx6.1/ctype_base.h: Same.
	* config/os/bsd/netbsd/ctype_base.h: Same.
	* config/os/bsd/darwin/ctype_base.h: Same.
	* config/os/bsd/freebsd/ctype_base.h: Same.
	* config/os/irix/irix5.2/ctype_base.h: Same.
	* config/os/irix/irix6.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.6/ctype_base.h: Same.
	* config/os/solaris/solaris2.7/ctype_base.h: Same.
	* config/os/generic/ctype_base.h: Same.
	* include/tr1/mu_iterate.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/tuple_defs.h: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_iterate.h: Same.
	
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
	number changes.	
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.

	* docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
	* docs/html/17_intro/license.html: Updated info for generated docs.
	* docs/doxygen/guide.html: Adjust.
	* docs/doxygen/run_doxygen: Adjust.
	* docs/doxygen/mainpage.html: Same.
	* docs/doxygen/doxygroups.cc: Same.
	* docs/doxygen/Intro.3: Same.
	* docs/doxygen/tables.html: Same.

From-SVN: r119334
2006-11-29 20:59:22 +00:00
Joseph Myers 46fb6400ee eh_globals.cc (__cxxabiv1::__cxa_get_globals): Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.
* libsupc++/eh_globals.cc (__cxxabiv1::__cxa_get_globals):
	Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.
	* libsupc++/eh_personality.cc (empty_exception_spec): Define
	separately in __ARM_EABI_UNWINDER__ case.

From-SVN: r118757
2006-11-13 13:28:28 +00:00
Joseph Myers b54c93b7b8 bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define __GXX_TYPEINFO_EQUALITY_INLINE but not __GXX_MERGED_TYPEINFO_NAMES.
gcc:
	* config/arm/bpapi.h (TARGET_BPABI_CPP_BUILTINS): Define
	__GXX_TYPEINFO_EQUALITY_INLINE but not
	__GXX_MERGED_TYPEINFO_NAMES.
	* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Define
	__GXX_MERGED_TYPEINFO_NAMES.
	* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
	__GXX_TYPEINFO_EQUALITY_INLINE.

libstdc++-v3:
	* libsupc++/typeinfo (__GXX_TYPEINFO_EQUALITY_INLINE): Define.
	Use instead of __GXX_MERGED_TYPEINFO_NAMES to condition inline
	definitions.
	* libsupc++/tinfo.cc (operator==): Condition on
	__GXX_TYPEINFO_EQUALITY_INLINE; check __GXX_MERGED_TYPEINFO_NAMES
	to determine algorithm.
	* libsupc++/tinfo2.cc (type_info::before): Likewise.

From-SVN: r118755
2006-11-13 13:10:17 +00:00
Douglas Gregor 499c96f56b Makefile.am (tr1_headers): Add new tuple_defs.h.
2006-10-16  Douglas Gregor  <doug.gregor@gmail.com>

	* include/Makefile.am (tr1_headers): Add new tuple_defs.h.
	* include/Makefile.in (tr1_headers): Regenerate.
	* include/tr1/tuple (tuple): Move declaration to tuple_defs.h.
	(get): Ditto.
	(operator==): Ditto.
	(operator<): Ditto.
	(operator!=): Ditto.
	(operator>): Ditto.
	(operator<=): Ditto.
	(operator>=): Ditto.
	(__stripped_tuple_type): Ditto.
	Include tuple.defs.h
	* include/tr1/tuple_iterate.h (tuple): Use
	_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED macro instead of 10
	"typename"s.
	(tuple_element): Use _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS and
	_GLIBCXX_TYPLE_ALL_TEMPLATE_ARGS instead of 10
	parameters/arguments.
	* include/tr1/tuple_defs.h: New header, contains declarations and
	definitions for the tuple template with all arguments.
	* include/tr1/repeat.h (_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS): New.
	(_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED): New.
	(_GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS): New.
	(_GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS): New.
	(_GLIBCXX_TEMPLATE_ARGS_STRIPPED): New.
	* scripts/gen_includers.pl: Update.
	* scripts/gen_includers2.pl: New.

From-SVN: r117790
2006-10-16 19:08:22 +00:00
Benjamin Kosnik e64690af46 re PR libstdc++/29426 (static __recursive_mutex init vs __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION)
2006-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/29426
	* libsupc++/guard.cc (get_static_mutex): New. 
	(mutex_wrapper::mutex_wrapper): Use it to get properly initialized
	recursive mutex without ordering issues.

	* src/locale_init.cc (__get_locale_mutex): No need to
	uglify. Change to get_locale_mutex.

From-SVN: r117643
2006-10-11 20:18:36 +00:00
Benjamin Kosnik 3c6430a314 re PR libstdc++/29095 (cxxabi.h __cxa_cdtor_type not declared when included from "C")
2006-10-09  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r117589
2006-10-09 23:53:35 +00:00
Benjamin Kosnik 2e362c7474 atomicity.h: Move to...
2006-09-13  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/atomicity.h: Move to...
	* include/ext/atomicity.h: ...here.	
	* include/bits/concurrence.h: Move to...
	* include/ext/concurrence.h: ...here.
	* include/Makefile.am (ext_headers): Additions.
	(bits_headers): Subtractions.
	* include/Makefile.in: Regenerate.

	* include/ext/bitmap_allocator.h (_Mutex), __threads_enabled,
	_Lock, _Auto_Lock): Subsume into...
	* include/bits/concurrence.h (__mutex): ..this. Error check
	locking and unlocking.	
	(lock): Uglify to...
	(__scoped_lock): Use __mutex. 
	(__glibcxx_mutex_define_initialized): Remove.
	(__glibcxx_mutex_type): Remove.

	* include/tr1/boost_shared_ptr.h: Formating tweaks, adjustments.
	(_Lock_policy): Move from here...
	* include/ext/concurrence.h: ... to here.
	(__shared_ptr_default_lock_mode): To __default_lock_policy.
	(_S_lockfree): To _S_atomic.
	Document.

	* libsupc++/guard.cc (static_mutex): Subsume into and fixup for...
	* include/ext/concurrence.h (__recursive_mutex): ...this. Error
	check locking and unlocking.
	* libsupc++/eh_alloc.cc: Use __scoped_lock.

	* config/os/aix/atomicity.h: Fixups for include paths, mutex to
	__scoped_mutex change, removal of locking defines.
	* config/os/irix/atomicity.h: Same.
	* config/cpu/cris/atomicity.h: Same.
	* config/cpu/m68k/atomicity.h: Same.
	* config/cpu/hppa/atomicity.h: Same.
	* config/cpu/mips/atomicity.h: Same.
	* config/cpu/sparc/atomicity.h: Same.
	* config/cpu/i386/atomicity.h: Same.
	* config/cpu/i486/atomicity.h: Same.
	* config/cpu/sh/atomicity.h: Same.
	* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/mt_allocator.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/ios_base.h: Same.
	* include/tr1/memory: Same.
	* src/pool_allocator.cc: Same.
	* src/mt_allocator.cc: Same.
	* src/locale_init.cc: Same.
	* src/ios.cc: Same.
	* src/locale.cc: Same.
	* src/bitmap_allocator.cc: Same.
	* src/ios_init.cc: Same.
	* src/debug.cc: Same.

From-SVN: r116942
2006-09-14 09:48:15 +00:00
Benjamin Kosnik c1a03f0311 eh_globals.cc: Remove __gnu_internal.
2006-09-12  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/eh_globals.cc: Remove __gnu_internal.
	* config/io/basic_file_stdio.cc: Same.
	* config/abi/compatibility.h: Same.
	* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
	* config/cpu/sh/atomicity.h: Same.

From-SVN: r116899
2006-09-12 17:48:45 +00:00
Steve Ellcey 2e5757965d re PR target/26792 (need to use autoconf when using newly-added libgcc functions)
PR target/26792
	* configure.ac: Use GCC_CHECK_UNWIND_GETIPINFO to
	define HAVE_GETIPINFO.
	* aclocal.m4: Add include of ../config/unwind_ipinfo.m4.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* libsupc++/eh_personality.cc: Check HAVE_GETIPINFO.

From-SVN: r115654
2006-07-21 21:11:46 +00:00
Jason Merrill f325272c07 eh_personality.cc: Wrap extern C function definitions in namespace __cxxabiv1.
* libsupc++/eh_personality.cc: Wrap extern C function
        definitions in namespace __cxxabiv1.

From-SVN: r115652
2006-07-21 17:06:19 -04:00
Benjamin Kosnik 98e615b485 PR libstdc++/19664 round 1
2006-07-20  Benjamin Kosnik  <bkoz@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>
	
	PR libstdc++/19664 round 1
	* acinclude.m4 (GLIBCXX_ENABLE_VISIBILITY): Check it.
	* configure.ac: Use it.
	* configure: Regenerate.
	* docs/html/configopts.html: Document it.
	* include/Makefile.am: Slip in to c++config.
	* include/Makefile.in: Regenerate.
	* include/bits/c++config (_GLIBCXX_VISIBILITY): New.
	(_GLIBCXX_BEGIN_NAMESPACE): Use it.
	(_GLIBCXX_END_NAMESPACE): Use it.
	(_GLIBCXX_BEGIN_NESTED_NAMESPACE): Use it.
	(_GLIBCXX_END_NESTED_NAMESPACE): Use it.		
	* src/debug.cc: Mark __gnu_internal namespace with hidden
	visibility attribute.
	* src/ext-inst.cc: Same.
	* src/globals_io.cc: Same.
	* src/globals_locale.cc: Same.
	* src/ios_init.cc: Same.
	* src/locale.cc: Same.
	* src/mt_allocator.cc: Same.
	* src/pool_allocator.cc: Same.


Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r115632
2006-07-20 23:37:27 +00:00
Mike Stump ff642329cf * libsupc++/eh_globals.cc (~__eh_globals_init): Unset _M_init.
From-SVN: r115318
2006-07-10 21:50:34 +00:00
Vladimir Prus c82f61c591 eh_arm.cc (__cxa_begin_cleanup): Always return 'true'.
2006-06-20  Vladimir Prus  <vladimir@codesourcery.com>

	libstdc++/
	* libsupc++/eh_arm.cc (__cxa_begin_cleanup): Always return 'true'.

From-SVN: r114812
2006-06-20 14:08:31 +00:00
Danny Smith e94ee02798 cxxabi.h (class __vmi_class_type_info): Correct typo in comment.
* libsupc++/cxxabi.h (class __vmi_class_type_info): Correct typo in comment.
	* docs/doxygen/doxygroups.cc (__cxa_demangle): Correct typo in comment.

From-SVN: r113884
2006-05-18 08:12:40 +00:00
Marc Glisse 05a79eb6bc pool_allocator.h: Add missing std:: qualifications.
2006-05-10  Marc Glisse  <marc.glisse@normalesup.org>

	* include/ext/pool_allocator.h: Add missing std:: qualifications.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/pb_assoc/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Likewise.
	* include/ext/pb_assoc/detail/resize_policy/
	hash_standard_resize_policy_imp.hpp: Likewise.
	* include/ext/pb_assoc/detail/lu_policy/
	counter_lu_metadata_imp.hpp: Likewise.
	* include/ext/pb_assoc/detail/map_debug_base.hpp: Likewise.
	* libsupc++/eh_alloc.cc: Typo: memcpy -> memset.

From-SVN: r113673
2006-05-10 15:43:20 +00:00
Jakub Jelinek 754e45a867 re PR other/26208 (Serious problem with unwinding through signal frames)
PR other/26208
	* unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
	(extract_cie_info): Handle S flag in augmentation string.
	(execute_cfa_program): If context->signal_frame, execute also
	fs->pc == context->ra instructions.
	(uw_frame_state_for): If context->signal_frame, don't subtract one
	from context->ra to find FDE.
	(uw_update_context_1): Set context->signal_frame to
	fs->signal_frame.
	(_Unwind_GetIPInfo): New function.
	* unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
	* unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
	of _Unwind_GetIP.
	* unwind-sjlj.c (_Unwind_GetIPInfo): New function.
	* unwind-generic.h (_Unwind_GetIPInfo): New prototype.
	* unwind-compat.c (_Unwind_GetIPInfo): New function.
	* libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
	* config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
	* config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
	* config/i386/linux-unwind.h (x86_fallback_frame_state,
	x86_64_fallback_frame_state): Set fs->signal_frame.
	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
	(MD_FROB_UPDATE_CONTEXT): Define unconditionally.
	(frob_update_context): Likewise.  Workaround missing S flag in
	Linux 2.6.12 - 2.6.16 kernel vDSOs.
	* config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
	Remove the psw_addr + 1 hack.
libjava/
	* exception.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
	of _Unwind_GetIP.
	* include/i386-signal.h (MAKE_THROW_FRAME): Change into empty macro.
	(HANDLE_DIVIDE_OVERFLOW): Don't adjust _res->eip if falling through
	to throw.
	* include/x86_64-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.
	* include/powerpc-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.
libstdc++-v3/
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
	_Unwind_GetIPInfo instead of _Unwind_GetIP.

From-SVN: r111488
2006-02-27 18:26:26 +01:00
Jakub Jelinek 6defecc2d3 configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
2006-02-07  Jakub Jelinek  <jakub@redhat.com>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
	If true, set also port_specific_symbol_files and create
	as_symver_specs.
	(GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
	* configure: Rebuilt.
	* config.h.in: Rebuilt.
	* config/os/gnu-linux/ldbl-extra.ver: New file.
	* config/abi/pre/gnu.ver: Make sure no __float128 symbols are
	exported.
	* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
	_GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
	_GLIBCXX_END_LDBL_NAMESPACE): Define.
	* include/bits/localefwd.h: Use them to conditionally scope facets.
	* include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
	with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
	Surround std::{money,num}_{get,put}
	with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
	[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
	[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
	[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
	[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
	* include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
	with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
	(std::money_get::__do_get, std::money_put::__do_put,
	std::num_get::__do_get, std::num_put::__do_put): New
	specializations.
	* include/Makefile.am: Conditionally define
	_GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
	* include/Makefile.in: Regenerate.
	* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
	_GLIBCXX_SYNC_ID): Define, use them.
	* src/compatibility-ldbl.cc: New file.
	* src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
	symbols.
	* src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.	
	* src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
	* config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
	Likewise.
	* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
	Likewise.
	* src/Makefile.am (libstdc++-symbol.ver): Append instead of
	insert in the middle if port specific symbol file requests it.
	(ldbl_compat_sources): New variable.
	(sources): Use it.
	(compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
	* src/Makefile.in: Rebuilt.
	* testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
	GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.	


Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r110725
2006-02-07 22:23:58 +00:00
Benjamin Kosnik a1c88e064f configopts.html: Tweak docs.
2006-01-25  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/configopts.html: Tweak docs.

	* libsupc++/eh_personality.cc: Fix typos.

From-SVN: r110218
2006-01-25 18:22:34 +00:00
Paul Brook ddfd0d910b eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.
2006-01-18  Paul Brook  <paul@codesourcery.com>

	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.

From-SVN: r109896
2006-01-18 16:31:00 +00:00
Paolo Carlini 656032b8c1 [multiple changes]
2006-01-18  Perry Smith  <pedz@easesoftware.net>

	PR libstdc++/25823
	PR libstdc++/25824
	* libsupc++/eh_alloc.cc: Fix return type of memset declaration.
	* libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.

2006-01-18  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/pb_assoc/detail/value_type_adapter/
	value_type_adapter.hpp: Include <tr1/type_traits>.
	* include/ext/pb_assoc/detail/value_type_adapter/
	it_value_type_traits.hpp (it_value_type_traits_<>::value_type_holder):
	Use tr1::aligned_storage and tr1::alignment_of.
	(it_value_type_traits_<>::buf_t): Remove.
	(it_value_type_traits_<>::make_valid, recast): Adjust.

From-SVN: r109883
2006-01-18 11:22:10 +00:00
Mark Mitchell d79e6356aa libtool-ldflags: New script.
* libtool-ldflags: New script.

	* src/Makefile.am (LTLDFLAGS): New variable. 
	(CXXLINK): Use LTLDFLAGS.
	* src/Makefile.in: Regenerated.
	* libsupc++/Makefile.am (LTLDFLAGS): New variable. 
	(CXXLINK): Use LTLDFLAGS.
	* libsupc++/Makefile.in: Regenerated.

From-SVN: r109256
2006-01-03 00:30:27 +00:00
Benjamin Kosnik 3cbc7af037 c++config: Add in revised namespace associations.
2005-12-18  Benjamin Kosnik  <bkoz@redhat.com>
	
	* include/bits/c++config: Add in revised namespace associations.
	_GLIBCXX_BEGIN_NAMESPACE: New macro.
	_GLIBCXX_END_NAMESPACE: Same.
	_GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
	_GLIBCXX_END_NESTED_NAMESPACE: Same.
	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
	* configure: Regenerated.
	* config.h.in: Same.
	* config/abi/pre/gnu-versioned-namespace.ver: New.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
	debug mode items. 
	* include/Makefile.am (${host_builddir}/c++config.h): Fill in
	values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
	* include/Makefile.in: Regnerate.
	* src/compatibility.cc: Alias new, nested definitions to exported
	symbols from non-nested __gnu_debug.
	* src/Makefile.am:  Add in ENABLE_SYMVERS_GNU_NAMESPACE.
	* src/Makefile.in: Regenerate.
	
	* docs/html/debug_mode.html: Revise for nested design.
	* docs/html/debug.html: Use debug qualifications instead of
	__gnu_debug.
	* docs/html/configopts.html: Revise documentation for
	--enable-symvers.
	
	* include/debug/formatter: Simplify namespace qualifications for
	current, nested-only reality. Add top-level namespace alias,
	namespace debug, for debug-mode containers.
	* include/debug/safe_iterator.h: Same.	
	* include/debug/set.h: Same.
	* include/debug/hash_multimap.h: Same.
	* include/debug/hash_set.h: Same.
	* include/debug/bitset
	* include/debug/safe_sequence.h: Same.
	* include/debug/multiset.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_iterator.tcc
	* include/debug/hash_multiset.h: Same.
	* include/debug/vector
	* include/debug/map.h: Same.
	* include/debug/deque
	* include/debug/hash_map.h: Same.
	* include/debug/string
	* include/debug/macros.h: Same.
	* include/debug/list
	* include/debug/debug.h: Same.
	* include/debug/multimap.h: Same.	
	* src/debug.cc: Same.
	* testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
	* testsuite/23_containers/vector/invalidation/2.cc: Same.
	* testsuite/23_containers/vector/invalidation/3.cc: Same.
	* testsuite/23_containers/vector/invalidation/4.cc: Same.
	* testsuite/23_containers/deque/invalidation/1.cc: Same.
	* testsuite/23_containers/deque/invalidation/2.cc: Same.
	* testsuite/23_containers/deque/invalidation/3.cc: Same.
	* testsuite/23_containers/deque/invalidation/4.cc: Same.
	* testsuite/23_containers/multiset/invalidation/1.cc: Same.
	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
	* testsuite/23_containers/multimap/invalidation/1.cc: Same.
	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
	* testsuite/23_containers/bitset/invalidation/1.cc: Same.
	* testsuite/23_containers/bitset/cons/16020.cc: Same.
	* testsuite/23_containers/bitset/operations/13838.cc: Same.
	* testsuite/23_containers/list/invalidation/1.cc: Same.
	* testsuite/23_containers/list/invalidation/2.cc: Same.
	* testsuite/23_containers/list/invalidation/3.cc: Same.
	* testsuite/23_containers/list/invalidation/4.cc: Same.
	* testsuite/23_containers/set/invalidation/1.cc: Same.
	* testsuite/23_containers/set/invalidation/2.cc: Same.
	* testsuite/23_containers/map/invalidation/1.cc: Same.
	* testsuite/23_containers/map/invalidation/2.cc: Same.
	* testsuite/23_containers/map/insert/16813.cc: Same.
	
	* include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
	friends.	
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/localefwd.h: Same.
	* include/bits/valarray_array.tcc: Same.
	* include/bits/valarray_after.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/locale_facets.tcc: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/stl_heap.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/atomicity.h: Same.
	* include/bits/stream_iterator.h: Same.
	* include/bits/concurrence.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/bits/basic_ios.tcc: Same.
	* include/bits/stl_raw_storage_iter.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/postypes.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stringfwd.h: Same.
	* include/bits/c++config
	* include/bits/stl_iterator.h: Same.
	* include/bits/valarray_array.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/vector.tcc: Same.
	* include/bits/deque.tcc: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/list.tcc: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/bits/valarray_before.h: Same.
	* include/bits/stl_construct.h: Same.
	* include/bits/stl_function.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/streambuf.tcc: Same.
	* include/bits/allocator.h: Same.
	* include/bits/stl_tree.h: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/stl_relops.h: Same.
	* include/bits/functexcept.h: Same.
	* include/std/std_valarray.h: Same.
	* include/std/std_iostream.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_iosfwd.h: Same.
	* include/std/std_iomanip.h: Same.
	* include/std/std_fstream.h: Same.
	* include/std/std_limits.h: Same.
	* include/std/std_stdexcept.h: Same.
	* include/std/std_istream.h: Same.
	* include/std/std_complex.h: Same.
	* include/std/std_memory.h: Same.
	* include/std/std_ostream.h: Same.
	* include/std/std_sstream.h: Same.
	* include/c_std/std_csignal.h: Same.
	* include/c_std/std_cstdlib.h: Same.
	* include/c_std/std_cstdio.h: Same.
	* include/c_std/std_cstdarg.h: Same.
	* include/c_std/std_cctype.h: Same.
	* include/c_std/std_cmath.h: Same.
	* include/c_std/std_ctime.h: Same.
	* include/c_std/std_clocale.h: Same.
	* include/c_std/std_csetjmp.h: Same.
	* include/c_std/std_cwchar.h: Same.
	* include/c_std/std_cstring.h: Same.
	* include/c_std/std_cstddef.h: Same.
	* include/c_std/std_cwctype.h: Same.
	* include/backward/iterator.h: Same.
	* include/backward/set.h: Same.
	* include/backward/hashtable.h: Same.
	* include/backward/fstream.h: Same.
	* include/backward/tempbuf.h: Same.
	* include/backward/istream.h: Same.
	* include/backward/bvector.h: Same.
	* include/backward/stack.h: Same.
	* include/backward/rope.h: Same.
	* include/backward/complex.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/heap.h: Same.
	* include/backward/iostream.h: Same.
	* include/backward/function.h: Same.
	* include/backward/multimap.h: Same.
	* include/backward/pair.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/iomanip.h: Same.
	* include/backward/strstream
	* include/backward/slist.h: Same.
	* include/backward/tree.h: Same.
	* include/backward/vector.h: Same.
	* include/backward/deque.h: Same.
	* include/backward/multiset.h: Same.
	* include/backward/list.h: Same.
	* include/backward/map.h: Same.
	* include/backward/algobase.h: Same.
	* include/backward/hash_map.h: Same.
	* include/backward/algo.h: Same.
	* include/backward/queue.h: Same.
	* include/backward/streambuf.h: Same.
	* src/allocator-inst.cc: Same.
	* src/complex_io.cc: Same.
	* src/localename.cc: Same.
	* src/limits.cc: Same.
	* src/ios_failure.cc: Same.
	* src/locale-misc-inst.cc: Same.
	* src/streambuf-inst.cc: Same.
	* src/misc-inst.cc: Same.
	* src/concept-inst.cc: Same.
	* src/ios_locale.cc: Same.
	* src/pool_allocator.cc: Same.
	* src/fstream-inst.cc: Same.
	* src/istream-inst.cc: Same.
	* src/string-inst.cc: Same.
	* src/locale_init.cc: Same.
	* src/ctype.cc: Same.
	* src/strstream.cc: Same.
	* src/ostream-inst.cc: Same.
	* src/functexcept.cc: Same.
	* src/streambuf.cc: Same.
	* src/sstream-inst.cc: Same.
	* src/ios.cc: Same.
	* src/valarray-inst.cc: Same.
	* src/locale.cc: Same.
	* src/tree.cc: Same.
	* src/stdexcept.cc: Same.
	* src/istream.cc: Same.
	* src/compatibility.cc: Same.
	* src/locale-inst.cc: Same.
	* src/globals_io.cc: Same.
	* src/list.cc: Same.
	* src/ios_init.cc: Same.
	* src/locale_facets.cc: Same.
	* src/codecvt.cc: Same.

	* include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
	* include/tr1/boost_shared_ptr.h: Same.
	* include/tr1/tuple
	* include/tr1/hashtable
	* include/tr1/type_traits_fwd.h: Same.
	* include/tr1/unordered_set
	* include/tr1/functional
	* include/tr1/ref_fwd.h: Same.
	* include/tr1/utility
	* include/tr1/type_traits
	* include/tr1/array

	* include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
	* include/ext/typelist.h: Same.
	* include/ext/hash_map: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/iterator: Same.
	* include/ext/rb_tree: Same.
	* include/ext/numeric: Same.
	* include/ext/vstring.tcc: Same.
	* include/ext/sso_string_base.h: Same.
	* include/ext/stdio_filebuf.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/codecvt_specializations.h: Same.
	* include/ext/new_allocator.h: Same.
	* include/ext/array_allocator.h: Same.
	* include/ext/vstring_util.h: Same.
	* include/ext/vstring_fwd.h: Same.
	* include/ext/mt_allocator.h: Same.
	* include/ext/debug_allocator.h: Same.
	* include/ext/slist: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/hash_fun.h: Same.
	* include/ext/malloc_allocator.h: Same.
	* include/ext/functional: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/pod_char_traits.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/ropeimpl.h: Same.
	* include/ext/hash_set: Same.
	* include/ext/memory: Same.
	* include/ext/rope: Same.
	* include/bits/boost_concept_check.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/concurrence.h: Same.
	* include/bits/atomicity.h: Same.
	* config/locale/gnu/numeric_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/gnu/codecvt_members.cc: Same.
	* config/locale/gnu/messages_members.cc: Same.
	* config/locale/gnu/c_locale.h: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.h: Same.
	* config/locale/generic/numeric_members.cc: Same.
	* config/locale/generic/collate_members.cc: Same.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/generic/c_locale.cc: Same.
	* config/locale/generic/codecvt_members.cc: Same.
	* config/locale/generic/messages_members.cc: Same.
	* config/locale/generic/c_locale.h: Same.
	* config/locale/generic/monetary_members.cc: Same.
	* config/locale/generic/time_members.cc: Same.
	* config/os/aix/atomicity.h: Same.
	* config/os/irix/atomicity.h: Same.
	* config/cpu/powerpc/atomicity.h: Same.
	* config/cpu/cris/atomicity.h: Same.
	* config/cpu/ia64/atomicity.h: Same.
	* config/cpu/alpha/atomicity.h: Same.
	* config/cpu/m68k/atomicity.h: Same.
	* config/cpu/hppa/atomicity.h: Same.
	* config/cpu/mips/atomicity.h: Same.
	* config/cpu/sparc/atomicity.h: Same.
	* config/cpu/i386/atomicity.h: Same.
	* config/cpu/i486/atomicity.h: Same.
	* config/cpu/sh/atomicity.h: Same.
	* config/cpu/generic/atomicity.h: Same.
	* config/cpu/s390/atomicity.h: Same.
	* config/io/c_io_stdio.h: Same.
	* config/io/basic_file_stdio.cc: Same.
	* config/io/basic_file_stdio.h: Same.	
	* src/misc-inst.cc: Same.
	* src/concept-inst.cc: Same.
	* src/ext-inst.cc: Same.
	* src/string-inst.cc: Same.
	* src/pool_allocator.cc: Same.
	* src/bitmap_allocator.cc: Same.
	* src/mt_allocator.cc: Same.
	* libsupc++/exception: Same.
	* libsupc++/vterminate.cc: Same.
	* testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
	* testsuite/ext/hash_map/14648.cc: Same.	

	* libsupc++/eh_alloc.cc: Correct comment line spacing.

From-SVN: r108775
2005-12-19 00:56:05 +00:00
Benjamin Kosnik fb5c309d63 post: New.
2005-12-18  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/post: New.
	* config/abi/*-linux-gnu: Move to..
	* config/abi/post/*-linux-gnu: ... here.	
	* config/abi/pre: New.
	* config/linker-map.gnu: Move to ..
	* config/abi/pre/gnu.ver: ... here.	
	* config/linker-map.dummy: Move to..
	* config/abi/pre/none.ver: ... here.
	* src/Makefile.am: Use ENABLE_SYMVERS_GNU,
	ENABLE_SYMVERS_DARWIN, ENABLE_SYMVERS_GNU_NAMESPACE.
	Use libstdc++-symbols.ver instead of libstdc++-symbol.ver.
	* src/Makefile.in: Regnerate.
	* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Adjust paths for new
	placement of abi baseline files.
	(GLIBCXX_ENABLE_SYMVERS): Add ENABLE_SYMVERS, ENABLE_SYMVERS_GNU,
	ENABLE_SYMVERS_DARWIN.  SYMVER_MAP to SYMVER_FILE.
	* configure: Regnerate.
	* config.h.in: Regnerate.
	* src/compatibility.cc: Adjust macro usage.

From-SVN: r108748
2005-12-18 09:39:23 +00:00
Benjamin Kosnik cddfb1c7ac re PR libstdc++/23591 (exceptions in plugins in threads cause segmentation violation by leaving bad exit handler for the pthread)
2005-11-21  Benjamin Kosnik  <bkoz@redhat.com>
            Ulrich Drepper  <drepper@redhat.com>

	PR libstdc++/23591
	* scripts/create_testsuite_files: Support for "C" test files.
	* testsuite/lib/libstdc++.exp: Same.
	* testsuite/libstdc++-dg/normal.exp: Same.
	* testsuite/ext/mt_allocator/22309_thread.cc: Update names.
	* testsuite/19_diagnostics/23591_thread-1.c: New.
	* testsuite/testsuite_shared.cc: Add tests, rename existing functions.
	* libsupc++/eh_globals.cc: Make global thread local if possible.
	* configure.ac: Use GCC_CHECK_TLS.
	* acinclude.m4: Include tls.m4.
	* configure: Regenerate.
	* config.h.in: Same.


Co-Authored-By: Ulrich Drepper <drepper@redhat.com>

From-SVN: r107350
2005-11-22 06:54:08 +00:00
Benjamin Kosnik b967bf2560 del_op.cc: Include c++config.h first.
2005-11-21  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/del_op.cc: Include c++config.h first.
	* libsupc++/eh_alloc.cc: Same.
	* libsupc++/new_opv.cc: Same.
	* libsupc++/eh_throw.cc: Same.
	* libsupc++/new_op.cc: Same.
	* libsupc++/del_opv.cc: Same.
	* libsupc++/eh_catch.cc: Same.
	* libsupc++/guard.cc: Same.
	* libsupc++/del_opnt.cc: Same.
	* libsupc++/eh_exception.cc: Same.
	* libsupc++/new_opvnt.cc: Same.
	* libsupc++/eh_term_handler.cc: Same.
	* libsupc++/eh_personality.cc: Same.
	* libsupc++/eh_call.cc: Same.
	* libsupc++/new_opnt.cc: Same.
	* libsupc++/del_opvnt.cc: Same.

2005-11-21  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
	* libsupc++/Makefile.am: Same.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Same.

From-SVN: r107343
2005-11-22 00:19:07 +00:00
Nathan Sidwell 1dcca6f361 unwind-arm.h: Reorder interface function declarations.
2005-11-16  Nathan Sidwell  <nathan@codesourcery.com>
gcc/
	* config/arm/unwind-arm.h: Reorder interface function declarations.
	(_URC_END_OF_STACK): New enumeration value.
	(_US_UNWIND_ACTION_MASK, _US_FORCE_UNWIND, _US_END_OF_STACK): Likewise.
	(struct _Unwind_Control_Block): Document reserved field use.
	(_Unwind_Stop_Fn): New typedef.
	(_Unwind_ForcedUnwind): Declare.
	(_Unwind_Resume_or_Rethrow): Declare.
	* config/arm/libunwind.S (UNWIND_WRAPER): Add nargs
	argument.  Adjust.
	(_Unwind_Resume_or_Rethrow, _Unwind_ForcedUnwind): New.
	* config/arm/unwind-arm.c (UCB_FORCED_STOP_FN)
	(UCB_FORCED_STOP_ARG): New.
	(search_EIT_table): Update boundary condition checks.
	(get_eit_entry): Return _URC_END_OF_STACK when cannot unwind.
	(unwind_phase2): Replace for with do..while.
	(unwind_phase2_forced): New.
	(__gnu_Unwind_RaiseException): Replace for with do..while.
	(__gnu_Unwind_ForcedUnwind): New.
	(__gnu_Unwind_Resume): Set FORCE_UNWIND flag, if forced unwinding.
	Use appropriate phase2 unwinder.
	(__gnu_Unwind_Resume_or_Rethrow): New.
	(__gnu_unwind_pr_common): Cope with forced unwinding.
gcc/testsuite/
	* g++.dg/eh/forced1.C: Adjust to cope with ARM EABI
	structures.
	* g++.dg/eh/forced2.C: Likewise.
	* g++.dg/eh/forced3.C: Likewise.
	* g++.dg/eh/forced4.C: Likewise.
libstdc++-v3/
	* libsupc++/eh_arm.cc (__cxa_begin_cleanup): Remember a
	foreign exception too.
	(__gnu_end_cleanup): Recover a foreign exception too.
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Cope
	with forced unwinding.
	* libsupc++/eh_throw.cc (__cxxabiv1::__cxa_rethrow): Use
	_Unwind_Resume_or_Rethrow for ARM EABI.

From-SVN: r107089
2005-11-16 17:04:41 +00:00
Paolo Carlini 4b90c838d2 re PR libstdc++/22203 (std::numeric_limits<int>::traps is wrong on PPC)
2005-11-05  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/22203
	* include/bits/c++config: Include cpu_defines.h.
	* include/Makefile.am: Add cpu_defines.h to host_headers.
	* configure.host: Add cpu_defines_dir.
	* configure.ac: Use it.
	* config/cpu/powerpc/cpu_defines.h: New.
	* config/cpu/generic/cpu_defines.h: Likewise.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.	
	* testsuite/Makefile.in: Likewise.

From-SVN: r106524
2005-11-05 09:42:01 +00:00
Benjamin Kosnik c35a51a54e re PR libstdc++/22554 (pb_assoc header build and install overflows exec)
2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
	    David Edelsohn <dje@gcc.gnu.org>

	PR libstdc++/22554
	PR libstdc++/23734
	* include/Makefile.am (assoc_headers): Break into five sub values.
	(install-headers): Use them.
	(stamp-assoc): Same.
	* include/Makefile.in: Regenerate.

From-SVN: r104196
2005-09-12 23:09:41 +00:00
Kelley Cook 83f517994d All files: Update FSF address.
2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>

	* All files: Update FSF address.

From-SVN: r103192
2005-08-17 02:28:44 +00:00
H.J. Lu 216edb224f re PR libstdc++/22284 (ia64 exception handling broken)
2005-07-29  H.J. Lu  <hongjiu.lu@intel.com>

	PR libstdc++/22284
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Revert
	the change to info.ttype_base.

From-SVN: r102552
2005-07-29 06:35:59 -07:00
Geoffrey Keating a9fdd4720c Index: gcc/ChangeLog
2005-07-25  Geoffrey Keating  <geoffk@apple.com>

	* doc/install.texi (Prerequisites): Mention that perl is needed
	to do export control in libstdc++ targetting Darwin.

Index: libstdc++-v3/ChangeLog
2005-07-25  Geoffrey Keating  <geoffk@apple.com>

	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle darwin-export,
	and make it the default for Darwin.
	* scripts/make-exports.pl: New.
	* src/Makefile.am: Update for changes to GLIBCXX_ENABLE_SYMVERS.
	Handle darwin-export.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r102435
2005-07-27 18:28:32 +00:00
Paolo Carlini 872d8fea40 Add class __versa_string, a versatile "basic_string-type" class...
2005-07-05  Paolo Carlini  <pcarlini@suse.de>

	Add class __versa_string, a versatile "basic_string-type" class:
	an additional, non-standard, template parameter allows to specify
	the preferred base class. Two are provided: __rc_string_base,
	which implements a behavior very similar to our standard string,
	and __sso_string_base, not reference-counted and optimized for
	short strings.
	* include/ext/rc_string_base.h: New.
	* include/ext/sso_string_base.h: Likewise.
	* include/ext/vstring.h: Likewise.
	* include/ext/vstring.tcc: Likewise.
	* include/ext/vstring_fwd.h: Likewise.
	* include/ext/vstring_util.h: Likewise.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* testsuite/ext/vstring/explicit_instantiation/1.cc: New.
	* testsuite/ext/vstring/explicit_instantiation/2.cc: Likewise.
	* testsuite/ext/vstring/explicit_instantiation/char/1.cc: Likewise.
	* testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc: Likewise.

	* Makefile.in: Regenerate with autotools 1.9.3 (to date, the version
	officially used by v3).
	* aclocal.m4: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r101639
2005-07-05 23:07:18 +00:00
Paul Brook 2a75c0b6d2 Makefile.in: Set and use UNWIND_H.
2005-06-28  Paul Brook  <paul@codesourcery.com>

gcc/
	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
	(assign_filter_values): Ditto.
	(output_ttype): New function.
	(output_function_exception_table): Use output_ttype.  Generate arm
	eabi filter lists.
	(default_init_unwind_resume_libfunc): New function.
	* except.h (default_init_unwind_resume_libfunc): Add prototype.
	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
	* opts.c (decode_options): Use targetm.unwind_tables_default.
	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
	and arm_eabi_unwinder.
	* unwind-c.c: Support Arm EABI unwinder.
	* unwind.h: Rename ...
	* unwind-generic.h: ... To this.
	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
	(TARGET_UNWID_TABLES_DEFAULT): Document.

	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
	Define.
	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
	directives.
	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
	!TARGET_UNWIND_INFO.
	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
	* config/arm/lib1funcs.asm: Include libunwind.S.
	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
	* config/arm/libunwind.S: New file.
	* config/arm/pr-support.c: New file.
	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/unwind-arm.c: New file.
	* config/arm/unwind-arm.h: New file.
	* config/i386/t-netware (USER_H): Remove unwind.h.
	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.

gcc/cp/
	* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
	* except.c: Include target.h.
	(init_exception_processing): Initialize unwind_resume_libfunc.
	* doc/tm.texi: Document TARGET_ASM_TTYPE
gcc/ada/
	* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
gcc/java/
	* decl.c (java_init_decl_processing): Call
	default_init_unwind_resume_libfunc.
gcc/objc/
	* objc-act.c (objc_init_exceptions): Call
	default_init_unwind_resume_libfunc.
libstdc++/
	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
	__cxa_end_cleanup.
	* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
	* libsupc++/eh_arm.cc: New file.
	* libsupc++/eh_call.cc: New file.
	* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
	__gxx_caught_object.
	(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
	_Unwind_Complete when using the ARM EABI.
	(__cxa_end_catch): Use __is_gxx_exception_class.
	* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
	using the ARM EABI.
	(save_caught_exception, restore_caught_exception): New functions.
	(_throw_typet): New typedef.
	(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
	EABI implementations.
	(PERSONALITY_FUNCTION): Use new functions.  Addd support for ARM EABI
	unwinding libary.
	(__cxa_unexpected): Disable when using the ARM EABI.
	* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
	(__cxa_rethrow): Use __is_gxx_exception_class.  Call
	_Unwind_RaiseException when using the ARM EABI.
	* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
	EABI semantics.
	(struct __cxa_eh_globals): Ditto.
	(__cxa_call_terminate): Add prototype.
	(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
	prototypes.
	(__get_exception_header_from_obj, __get_exception_header_from_ue):
	Move earlier in file.
	(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
	__gxx_caught_object): New functions.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* src/Makefie.in: Regenerate.
	* testsuite/makefile.in: Regenerate.

From-SVN: r101389
2005-06-28 20:06:39 +00:00
Paul Brook 617a1b7144 Makefile.in: Set and use UNWIND_H.
2005-06-28  Paul Brook  <paul@codesourcery.com>

gcc/
	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
	(assign_filter_values): Ditto.
	(output_ttype): New function.
	(output_function_exception_table): Use output_ttype.  Generate arm
	eabi filter lists.
	(default_init_unwind_resume_libfunc): New function.
	* except.h (default_init_unwind_resume_libfunc): Add prototype.
	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
	* opts.c (decode_options): Use targetm.unwind_tables_default.
	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
	and arm_eabi_unwinder.
	* unwind-c.c: Support Arm EABI unwinder.
	* unwind.h: Rename ...
	* unwind-generic.h: ... To this.
	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
	(TARGET_UNWID_TABLES_DEFAULT): Document.

	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
	Define.
	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
	directives.
	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
	!TARGET_UNWIND_INFO.
	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
	* config/arm/lib1funcs.asm: Include libunwind.S.
	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
	* config/arm/libunwind.S: New file.
	* config/arm/pr-support.c: New file.
	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
	* config/arm/unwind-arm.c: New file.
	* config/arm/unwind-arm.h: New file.
	* config/i386/t-netware (USER_H): Remove unwind.h.
	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.

gcc/cp/
	* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
	* except.c: Include target.h.
	(init_exception_processing): Initialize unwind_resume_libfunc.
	* doc/tm.texi: Document TARGET_ASM_TTYPE
gcc/ada/
	* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
gcc/java/
	* decl.c (java_init_decl_processing): Call
	default_init_unwind_resume_libfunc.
gcc/objc/
	* objc-act.c (objc_init_exceptions): Call
	default_init_unwind_resume_libfunc.
libstdc++/
	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
	__cxa_end_cleanup.
	* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
	* libsupc++/eh_arm.cc: New file.
	* libsupc++/eh_call.cc: New file.
	* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
	__gxx_caught_object.
	(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
	_Unwind_Complete when using the ARM EABI.
	(__cxa_end_catch): Use __is_gxx_exception_class.
	* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
	using the ARM EABI.
	(save_caught_exception, restore_caught_exception): New functions.
	(_throw_typet): New typedef.
	(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
	EABI implementations.
	(PERSONALITY_FUNCTION): Use new functions.  Addd support for ARM EABI
	unwinding libary.
	(__cxa_unexpected): Disable when using the ARM EABI.
	* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
	(__cxa_rethrow): Use __is_gxx_exception_class.  Call
	_Unwind_RaiseException when using the ARM EABI.
	* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
	EABI semantics.
	(struct __cxa_eh_globals): Ditto.
	(__cxa_call_terminate): Add prototype.
	(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
	prototypes.
	(__get_exception_header_from_obj, __get_exception_header_from_ue):
	Move earlier in file.
	(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
	__gxx_caught_object): New functions.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* src/Makefie.in: Regenerate.
	* testsuite/makefile.in: Regenerate.

From-SVN: r101385
2005-06-28 19:52:27 +00:00
Benjamin Kosnik 84946e72dc re PR libstdc++/22111 (libstdc++ abi_check)
make
2005-06-19  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/22111
	* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
	GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
	Don't enable abi testing unless versioned.
	* configure: Regenerate.
	* testsuite/Makefile.am (check-abi): Remove conditional.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/libstdc++-abi/abi.exp: Call build_support, then check
	v3-symver before proceeding.
	* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
	if _GLIBCXX_SYMVER.

From-SVN: r101204
2005-06-20 06:48:28 +00:00
Tom Tromey cd11181329 re PR libgcj/19877 (sometimes reconfiguring leads to incorrect config.h)
config/:
	PR libgcj/19877:
	* no-executables.m4: Call real AC_FUNC_MMAP when cache variable
	is set but not 'no'.
libstdc++-v3/:
	PR libgcj/19877:
	* configure, aclocal.m4: Rebuilt.
	* Makefile.in, include/Makefile.in, libmath/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
	testsuite/Makefile.in: Likewise.
libjava/:
	PR libgcj/19877:
	* configure, aclocal.m4, Makefile.in: Rebuilt.
libgfortran/:
	PR libgcj/19877:
	* configure, aclocal.m4, Makefile.in: Rebuilt.
zlib/:
	PR libgcj/19877:
	* configure, aclocal.m4, Makefile.in: Rebuilt.

From-SVN: r100953
2005-06-14 20:05:59 +00:00
Richard Henderson e73ee854b1 * libsupc++/unwind-cxx.h: Revert gcc_unreachable change.
From-SVN: r100002
2005-05-19 18:24:50 -07:00
Jan Beulich 7a774cac88 unwind-compat.c: Include tconfig.h and tsystem.h.
gcc/
2005-05-19  Jan Beulich  <jbeulich@novell.com>

	* unwind-compat.c: Include tconfig.h and tsystem.h.
	* unwind-dw2-fde-compat.c: Likewise.

libstdc++-v3/
2005-05-19  Jan Beulich  <jbeulich@novell.com>

	* libsupc++/unwind-cxx.h: Include cstdlib.
	(gcc_unreachable): #define.
	* libsupc++/eh_personality.cc (gcc_unreachable): Remove #define.

From-SVN: r99952
2005-05-19 06:47:50 +00:00
Nathan Sidwell 79d0dfa314 unwind-dw2-fde-glibc.c (base_from_cb_data, [...]): Use gcc_assert and gcc_unreachable as appropriate.
* unwind-dw2-fde-glibc.c (base_from_cb_data,
	_Unwind_IteratePhdrCallback): Use gcc_assert and gcc_unreachable as
	appropriate.
	* unwind-dw2-fde.c (__deregister_frame_info_bases,
	base_from_object, fde_split, end_fde_sort): Likewise.
	* unwind-dw2.c (_Unwind_GetGR, _Unwind_SetGR, execute_stack_op,
	execute_cfa_program, _Unwind_SetSpColumn, uw_update_context_1,
	uw_init_context_1): Likewise.
	* unwind.inc (_Unwind_RaiseException_Phase2, _Unwind_Resume,
	_Unwind_Resume_or_Rethrow): Likewise.
	* unwind-pe.h (__gxx_abort): Do not define.
	(size_of_encoded_value, base_of_encoded_value,
	read_encoded_value_with_base): Use gcc_unreachable.
	* unwind.h (_Unwind_GetTextRelBase): Likewise.

From-SVN: r99835
2005-05-17 15:37:47 +00:00
Benjamin Kosnik a72c74a1de acinclude.m4: Remove testsuite_wchar_t and testsuite_thread.
2005-05-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4: Remove testsuite_wchar_t and testsuite_thread.
	* testsuite/Makefile.am: Same.
	* scripts/create_testsuite_files: Same.
	* Makefile.in: Regenerate.
	* configure: Same.
	* include/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* po/Makefile.in: Same.
	* src/Makefile.in: Same.

From-SVN: r99273
2005-05-05 16:12:28 +00:00
Kelley Cook 3a24bf5d16 configure.ac: Create template for PACKAGE and VERSION.
2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.ac: Create template for PACKAGE and VERSION.
	Update comment on how to regenerate file.  Update minimum
	automake version to 1.9.3.
	* acconfig.h: Remove PACKAGE and VERSION.
	* aclocal.m4, configure, Makefile.in, po/Makefile.in,
	src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
	testsuite/Makefile.in, config.h.in: Regenerate.

From-SVN: r97815
2005-04-08 00:59:08 +00:00
Benjamin Kosnik 5305b1ae1b test.html: Update.
2005-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/test.html: Update.
	* testsuite/printnow.c: Remove.
	* scripts/check_survey.in: Remove.

	* testsuite/abi_check.cc: To...
	* testuite/testsuite_abi_check.cc: ...here.
	* testsuite/libstdc++-abi/abi.exp: Change abi_check.cc to
	testsuite_abi_check.cc.

	* testsuite/testsuite_hooks.h: Move character related bits to...
	* testsuite/testsuite_character.h: ...here.
	* testsuite/testsuite_character.cc: ... and here.
	* testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-in.cc: Use testsuite_character.h.
	* testsuite/21_strings/basic_string/inserters_extractors/pod/
	10081-out.cc: Same.
	* testsuite/22_locale/numpunct/members/pod/1.cc: Same.
	* testsuite/22_locale/numpunct/members/pod/2.cc: Same.
	* testsuite/27_io/basic_filebuf/2.cc: Same.
	* testsuite/27_io/basic_fstream/2.cc: Same.
	* testsuite/27_io/basic_istream/2.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/pod/
	3983-1.cc: Same.
	* testsuite/27_io/basic_istream/extractors_character/char/
	9826.cc: Same.
	* testsuite/27_io/basic_istream/extractors_character/pod/
	3983-2.cc: Same.
	* testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
	* testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
	* testsuite/27_io/basic_ostream/2.cc: Same.
	* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
	* testsuite/27_io/basic_streambuf/2.cc: Same.
	* testsuite/27_io/basic_stringbuf/2.cc: Same.
	* testsuite/27_io/basic_stringbuf/4.cc: Same.
	* testsuite/27_io/basic_stringstream/2.cc: Same.
	* testsuite/27_io/fpos/1.cc: Same.
	* testsuite/ext/mt_allocator/tune-1.cc: Same.
	* testsuite/ext/mt_allocator/tune-2.cc: Same.
	* testsuite/ext/stdio_filebuf/char/1.cc: Same.
	* testsuite/lib/libstdc++.exp (v3-build_support): Add
	testsuite_character.cc.
	* testsuite/Makefile.am (libv3test_a_SOURCES): Add
	testsuite_character.cc.
	* testsuite/Makefile.in: Regenerate.

	* configure.ac: Remove use of check_survey.
	* configure: Regenerate.
	* testsuite/Makefile.am: Remove check-script and
	check-script-install rules.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r97772
2005-04-07 04:16:26 +00:00
Kelley Cook c41f82b270 Makefile.am (ACLOCAL_AMFLAGS): Define.
2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.am (ACLOCAL_AMFLAGS): Define.
	* crossconfig.m4: Wrap file into new GLIBCXX_CROSSCONFIG macro.
	* configure.ac: Use it.
	* acinclude.m4: Delete explicit m4_includes and sincludes.
	* aclocal.m4, configure, Makefile.in, po/Makefile.in,
	src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
	testsuite/Makefile.in: Regenerate.

From-SVN: r97677
2005-04-06 00:05:51 +00:00
Zack Weinberg 47194af45f acinclude.m4 (GLIBCXX_CONFIGURE): Delete gcc_version logic.
* acinclude.m4 (GLIBCXX_CONFIGURE): Delete gcc_version logic.
	(GLIBCXX_EXPORT_INSTALL_INFO): Adjust quotation so ${gcc_version}
	is expanded by the Makefiles, not by configure.
	* fragment.am: Set gcc_version.
	* libmath/Makefile.am: Likewise.
	* configure, Makefile.in, include/Makefile.in, libmath/Makefile.in
	* libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in
	* testsuite/Makefile.in: Regenerate.

From-SVN: r96814
2005-03-21 17:40:24 +00:00
Richard Henderson 38f925677d re PR libstdc++/20091 (18_support/14026.cc execution test fails)
PR libstdc++/20091
        * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
        decrement of uncaughtExceptions for rethrow.

From-SVN: r95419
2005-02-22 15:17:14 -08:00
Richard Henderson 396090773c re PR libstdc++/10606 (uncaught_exception() returns false too early)
PR libstdc++/10606
gcc/cp/
        * except.c (do_get_exception_ptr): New.
        (expand_start_catch_block): Use it.
libstdc++/
        * config/linker-map.gnu (CXXABI_1.3.1): Add __cxa_get_exception_ptr.
        * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Increment
        uncaughtExceptions here instead of ...
        * libsupc++/eh_throw.cc (__cxa_throw) ... here.
        (__cxa_rethrow): Increment uncaughtExceptions here instead of ...
        * libsupc++/eh_catch.cc (__cxa_end_catch): ... here.
        (__cxa_get_exception_ptr): New.
        * libsupc++/unwind-cxx.h (__cxa_get_exception_ptr): Declare.

From-SVN: r95262
2005-02-18 18:35:25 -08:00
Mike Stump f00485cc36 Fix typo...
From-SVN: r94843
2005-02-10 19:21:33 +00:00
Mike Stump b77647dff8 * libsupc++/del_op.cc: Don't include cstdlib when !_GLIBCXX_HOSTED.
From-SVN: r94842
2005-02-10 19:05:34 +00:00
Brad Spencer ddf2a54af5 crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
2005-01-31  Brad Spencer  <spencer@infointeractive.com>

	* crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
	* configure: Regenerated.

From-SVN: r94526
2005-02-01 06:56:30 +00:00
Geoffrey Keating 7d665006a3 libstdc++.exp (libstdc++_init): Search the path for the compiler.
* testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
	for the compiler.  Don't set cxxflags.
	(v3_target_compile): Search for libv3test.a relative to $objdir.
	(lsearch_all_inline): New.
	(lsearch_all_inline_not): New.
	(v3-list-tests): Rewrite to not need generated files.
	* testsuite/Makefile.am (IGNORE_WCHAR_T): New.
	(IGNORE_THREAD): New.
	(TESTS_TO_IGNORE): New.
	(site.exp): Set tests_to_ignore, cxxflags.
	* aclocal.m4: Regenerate.
	* Makefile.in: Regenerate.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r94384
2005-01-28 18:57:59 +00:00
Paolo Carlini 3e636396c8 Makefile.in: Regenerate.
2005-01-10  Paolo Carlini  <pcarlini@suse.de>

	* Makefile.in: Regenerate.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

2005-01-10  Paolo Carlini  <pcarlini@suse.de>

        * include/bits/stl_algobase.h (lexicographical_compare):
        Fix concept check.

From-SVN: r93143
2005-01-10 17:07:50 +00:00
Jason Merrill 445cf5eb0d Add memory barriers to the double-checked locking used for static initialization.
libstdc++:
        Add memory barriers to the double-checked locking used for static
        initialization.
        * libsupc++/guard.cc (__test_and_acquire): Define default.
        (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release)
        (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise.
        (recursion_push, recursion_pop): New abstraction functions.
        (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE.
        (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE.
        * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename
        from _GLIBCXX_GUARD_ACQUIRE and reverse sense.
        (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE.
        * config/cpu/arm/cxxabi_tweaks.h: Likewise.
        * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER)
        (_GLIBCXX_WRITE_MEM_BARRIER): Define.
        * config/cpu/powerpc/atomic_word.h: Likewise.
        * config/cpu/sparc/atomic_word.h: Likewise.
        * config/cpu/generic/atomic_word.h: Define them, commented out.
        * include/bits/atomicity.h: Define defaults.
        * config/cpu/ia64/atomic_word.h (__test_and_acquire)
        (__set_and_release): New inlines.
        (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define.
        (_GLIBCXX_GUARD_SET_AND_RELEASE): Define.

        * libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of
        abort();

gcc:
        * doc/tm.texi (TARGET_RELAXED_ORDERING): Document.
        * target.h (struct gcc_target): Add relaxed_ordering field.
        * target-def.h (TARGET_RELAXED_ORDERING): Define default.
        (TARGET_INITIALIZER): Add it.
        * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define.
        * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define.
        * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define.
        * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define.
        * cp/decl.c (expand_static_init): Don't use shortcut if
        targetm.relaxed_ordering.

From-SVN: r92659
2004-12-27 23:36:54 -05:00
Kelley Cook a38fb0a7a4 Makefile.in, aclocal.m4: Regenerate with automake 1.9.3.
2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.in, aclocal.m4: Regenerate with automake 1.9.3.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r91197
2004-11-24 21:12:26 +00:00
Benjamin Kosnik 0aa06b18fc doxygroups.cc: Add std::tr1 namespace.
2004-11-23  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r91135
2004-11-24 04:11:23 +00:00
Benjamin Kosnik 34a133a808 c++config: Spacing.
2004-11-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Spacing.
	* libsupc++/del_op.cc: Include c++config.h.
	* libsupc++/del_opnt.cc: Same.
	* libsupc++/del_opv.cc: Same.
	* libsupc++/del_opvnt.cc: Same.
	* libsupc++/new_op.cc: Same.
	* libsupc++/new_opnt.cc: Same.
	* libsupc++/new_opv.cc: Same.
	* libsupc++/new_opvnt.cc: Same.

From-SVN: r90021
2004-11-03 04:07:22 +00:00
Aaron W. LaFramboise 5cc781508e * config/os/bsd/darwin/os_defines.h
(_GLIBCXX_WEAK_DEFINITION): Define.
	* include/bits/c++config (_GLIBCXX_WEAK_DEFINITION): Define.
	* libsupc++/del_op.cc (operator delete(void *)): Use
	_GLIBCXX_WEAK_DEFINITION.
	* libsupc++/del_opnt.cc
	(operator delete(void *, const std::nothrow_t&)): Same.
	* libsupc++/del_opv.cc (operator delete[](void *)): Same.
	* libsupc++/del_opvnt.cc
	(operator delete[](void *, const std::nothrow_t&)): Same.
	* libsupc++/new_op.cc (operator new(std::size_t)): Same.
	* libsupc++/new_opnt.cc
	(operator new(std::size_t, const std::nothrow_t&)): Same
	* libsupc++/new_opv.cc (operator new[](std::size_t)): Same.
	* libsupc++/new_opvnt.cc
	(operator new[](std::size_t, const std::nothrow_t&)): Same.

From-SVN: r90017
2004-11-02 21:00:00 -06:00
Momchil Velikov c137586a8e re PR libstdc++/18185 ([3.4 only] Unhandled exceptions leak)
2004-11-01  Momchil Velikov  <velco@fadata.bg>

	PR libstdc++/18185
	* libsupc++/eh_globals.cc (get_globals_dtor): Delete unhandled
	exceptions.
	* testsuite/thread/18185.cc: New.

From-SVN: r89962
2004-11-01 22:47:33 +00:00
Geoffrey Keating f1a6626519 Index: gcc/gcc/ChangeLog
2004-10-25  Geoffrey Keating  <geoffk@apple.com>

	* config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
	to 'non-weak'.
	(MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
	(ASM_MAKE_LABEL_LINKONCE): Delete.
	(ASM_WEAKEN_DECL): New.
	(ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
	(ASM_DECLARE_FUNCTION_NAME): Likewise.
	(TEXT_SECTION_ASM_OP): Add a tab.
	(DATA_SECTION_ASM_OP): Likewise.
	(SECTION_FUNCTION): Add a tab.  Use fputs.  Don't call
	data_section on every section change.
	(EXTRA_SECTIONS): Add a bunch of new extra sections.
	(EXTRA_SECTION_FUNCTIONS): Likewise.
	(USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
	(JCR_SECTION_NAME): Define.
	(TARGET_SECTION_TYPE_FLAGS): Don't define.
	* config/darwin.c (darwin_encode_section_info): A symbol is defined
	in this file if it is not weak.
	(textcoal_section): Delete.
	(datacoal_section): Delete.
	(darwin_make_decl_one_only): Delete.
	(machopic_select_section): Handle functions.
	(darwin_asm_named_section): Add a tab.
	(darwin_section_type_flags): Delete.
	(darwin_unique_section): Delete contents.
	(darwin_emit_unwind_label): Add a tab.  Make decls weak if
	DECL_WEAK is set.
	* config/darwin-protos.h (darwin_section_type_flags): Delete.
	(darwin_make_decl_one_only): Delete.
	(text_coal_section): New.
	(text_unlikely_section): New.
	(text_unlikely_coal_section): New.
	(const_coal_section): New.
	(data_coal_section): New.
	(const_data_coal_section): New.
	* varasm.c (function_section): Honour
	USE_SELECT_SECTION_FOR_FUNCTIONS.
	* dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
	TARGET_USES_WEAK_UNWIND_INFO is in effect.
	* dbxout.c (dbxout_source_file): Don't change sections while
	a function is being output.

Index: gcc/testsuite/ChangeLog
2004-10-25  Geoffrey Keating  <geoffk@apple.com>

	* objc.dg/image-info.m: Update for changes to section selection.

Index: libjava/ChangeLog
2004-10-25  Geoffrey Keating  <geoffk@apple.com>

	* Makefile.am (DARWIN_CRT_SRC): New.
	(libgcj_la_SOURCES): Use it.
	* configure.ac: Define USING_DARWIN_CRT when on Darwin.
	* darwin.cc: New file.
	* include/jvm.h (_Jv_RegisterClasses): Constify.
	(_Jv_RegisterClasses_Counted): New prototype.
	* java/lang/Class.h: Include stddef.h.
	(_Jv_RegisterClasses): Constify.
	(_Jv_RegisterClasses_Counted): New prototype.
	(Object): Make '_Jv_RegisterClasses_Counted' a friend.
	* java/lang/natClassLoader.cc (_Jv_RegisterClasses): Constify.
	(_Jv_RegisterClasses_Counted): New function.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

Index: libstdc++-v3/ChangeLog
2004-10-25  Geoffrey Keating  <geoffk@apple.com>

	* libsupc++/new_op.cc (new): Make weak.
	* libsupc++/new_opnt.cc (new): Make weak.
	* libsupc++/new_opv.cc (new): Make weak.
	* libsupc++/new_opvnt.cc (new): Make weak.
	* libsupc++/delete_op.cc (delete): Make weak.
	* libsupc++/delete_opnt.cc (delete): Make weak.
	* libsupc++/delete_opv.cc (delete): Make weak.
	* libsupc++/delete_opvnt.cc (delete): Make weak.

From-SVN: r89572
2004-10-26 06:09:05 +00:00
Benjamin Kosnik e3f78d9b11 acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
	(GLIBCXX_CONFIGURE_TESTSUITE): Use it.
	* configure: Regenerated.
	* testsuite/Makefile.am (CLEANFILES): Add TEST for
	check-performance executables.
	(stamp_thread): New.
	(all-local): Use it.
	* testsuite/Makefile.in: Regenerate.
	* scripts/create_testsuite_files: Filter thread tests.

	* testsuite/thread/pthread1.cc: Remove macro conditionals: this
	file will only be run by thread enabled configurations.
	* testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
	* testsuite/thread/pthread6.cc: Same.
	* testsuite/thread/pthread5.cc: Same.
	* testsuite/thread/pthread4.cc: Same.
	* testsuite/thread/pthread3.cc: Same.
	* testsuite/thread/pthread2.cc: Same.

	* testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
	* testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
	* testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here.
	* testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
	* testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.

From-SVN: r88628
2004-10-06 22:12:34 +00:00
Mark Mitchell 511bbc8f91 cxxabi_tweaks.h (__cxa_cdtor_return_type): Define.
* config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
	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.

From-SVN: r87585
2004-09-16 03:41:19 +00:00
Mark Mitchell 40a1c5cb5e bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
* config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
	(TARGET_OS_CPP_BUILTINS): Likewise.
	* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
	TARGET_BPABI_CPP_BUILTINS.

	* g++.dg/abi/arm_rtti1.C: New test.

	* libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
	defined.

[[Split portion of a mixed commit.]]

From-SVN: r87018.2
2004-09-03 00:43:59 +00:00
Jason Merrill 40aac94801 re PR c++/13684 (local static object variable constructed once but ctors and dtors called multiple times on same memory when called in multiple threads)
PR c++/13684
        * cp/decl.c (expand_static_init): Use thread-safety API.
        (register_dtor_fn): Return the call, don't expand it.
        * cp/tree.c (add_stmt_to_compound): New fn.
        (stabilize_call): Use it.
        * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
        (gimple_push_cleanup): Add eh_only parm.
        (gimplify_target_expr): Pass it.
        * c.opt (-fno-threadsafe-statics): New option.
        * c-opts.c (c_common_handle_option): Handle it.
        * c-common.h (flag_threadsafe_statics): Declare it.
        * c-common.c (flag_threadsafe_statics): Record it.
        * doc/invoke.texi: Document it.
        * tsystem.h (_GNU_SOURCE): Define.
        * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
        (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
        (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
        (__gthread_recursive_mutex_init_function): New fn.
        (__gthread_recursive_mutex_lock): New fn.
        (__gthread_recursive_mutex_trylock): New fn.
        (__gthread_recursive_mutex_unlock): New fn.
        * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
        * gthr-win32.h, gthr-vxworks.h: Likewise.
        * gthr.h: Document.

        * libsupc++/guard.cc (static_mutex): Internal class implementing a
        recursive mutex which controls initialization of local statics.
        (__gnu_cxx::recursive_init): New exception class.
        (__cxa_guard_acquire): Deal with locking and recursion detection.
        (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.

From-SVN: r86687
2004-08-27 22:33:54 -04:00
Paolo Carlini a60945f82f configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
2004-08-23  Paolo Carlini  <pcarlini@suse.de>

	* configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
	* aclocal.m4: Regenerate with automake-1.9.1.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r86423
2004-08-23 10:18:31 +00:00
Paul Brook 47bedfb079 cxxabi_tweaks.h: Define __cxa_vec_ctor_return and _GLIBCXX_CXA_VEC_CTOR_RETURN.
* config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
	_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.

From-SVN: r85891
2004-08-12 18:50:38 +00:00
Kelley Cook 7eaf73d757 Makefile.in, [...]: Regenerate
2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.in, aclocal.m4, configure, include/Makefile.in,
	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
	src/Makefile.in, testsuite/Makefile.in: Regenerate

From-SVN: r85869
2004-08-12 11:54:13 +00:00
Jason Merrill 27f577e57d fix typo
From-SVN: r85715
2004-08-09 09:18:56 -04:00
Mark Mitchell 610b0ddd0e new_op.cc: Update comments.
* libsupc++/new_op.cc: Update comments.
	* libsupc++/del_op.cc: Likewise.

From-SVN: r85464
2004-08-03 07:11:16 +00:00
Mark Mitchell 723acbd5fa cxxabi.h: Make all declarations have default visibility.
* libsupc++/cxxabi.h: Make all declarations have default
	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>.

From-SVN: r85463
2004-08-03 06:45:54 +00:00
Mark Mitchell 4c24b21a47 Makefile.am (hosted_source): Add libmath and testsuite.
* Makefile.am (hosted_source): Add libmath and testsuite.
	(SUBDIRS): Remove them.
	* acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
	on arm*-*-symbianelf*.
	* crossconfig.m4: Add arm*-*-symbianelf* support.
	* include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
	when freestanding.  Do not bring names into std:: namespace with
	"using" when freestanding.  Declare required functions and macros
	when freestanding.
	* libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
	when freestanding.
	* libsupc++/del_op.cc: Declare "free" only when freestanding.
	* libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
	(malloc): Declare when freestanding.
	(free): Likewise.
	(memset): Likewise.
	(__cxa_allocate_exception): Call malloc, not std::malloc.  Likewise
	for memset.
	(__cxa_free_exception): Likewise for free.
	* libsupc++/new_op.cc: Declare "malloc" when freestanding.
	* libsupc++/pure.cc (writestr): Define to nothing when
	freestanding.
	* libsupc++/vterminate.cc: Do not define anything when
	freestanding.
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r85452
2004-08-02 20:28:22 +00:00
Paul Brook 1568430fae configure.ac: Set ABI_TWEAKS_SRCDIR.
* configure.ac: Set ABI_TWEAKS_SRCDIR.
	* 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.

From-SVN: r84032
2004-07-02 23:40:19 +00:00
Paul Brook 46e995e0e4 target-def.h (TARGET_CXX_GET_COOKIE_SIZE, [...]): Define.
gcc/
	* target-def.h (TARGET_CXX_GET_COOKIE_SIZE,
	TARGET_CXX_COOKIE_HAS_SIZE): Define.
	(TARGET_CXX): Use them.
	* target.h (struct gcc_target): Add cxx.get_cookie_size and
	cxx.cookie_has_size.
	* targhooks.c (default_cxx_get_cookie_size): New fucntion.
	* targhooks.h (default_cxx_get_cookie_size): Add prototype.
	* config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE,
	TARGET_CXX_COOKIE_HAS_SIZE): Define.
	(arm_get_cookie_size, arm_cookie_has_size): New functions.
	* Make-lang.in (cp/init.o): Add dependency on $(TARGET_H).
	* doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and
	TARGET_CXX_COOKIE_HAS_SIZE.
gcc/cp/
	* init.c: Include target.h.
	(get_cookie_size): Remove and replace with target hook.
	Update callers.
	(build_new_1): Store the element size in the cookie.
libstdc++-v3/
	* libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
	element size in the cookie.
testsuite/
	* g++.old-deja/g++.abi/arraynew.C: Handle ARM EABI cookies.
	* g++.old-deja/g++.abi/cxa_vec.C: Allocate larger cookies for AEABI.

From-SVN: r83854
2004-06-29 14:50:35 +00:00
Benjamin Kosnik 4723805a61 safe_base.h (__gnu_debug::_Safe_sequence_base): Revert -Weffc++ changes that defined copy ctory and or assignment operator.
2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
	Revert -Weffc++ changes that defined copy ctory and or assignment
	operator.
	* libsupc++/tinfo.cc (__upcast_result): Same.

From-SVN: r83804
2004-06-28 18:31:18 +00:00
Paul Brook 4185ae5397 target-def.h (TARGET_CXX_GUARD_TYPE, [...]): Define.
gcc/
	* 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.

From-SVN: r83660
2004-06-25 17:15:46 +00:00
Benjamin Kosnik 2373de3a83 Makefile.in: Regenerate with automake 1.8.5.
2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>

	* Makefile.in: Regenerate with automake 1.8.5.
	* aclocal.m4: Same.
	* include/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* po/Makefile.in: Same.
	* src/Makefile.in: Same.
	* testsuite/Makefile.in: Same.

From-SVN: r83123
2004-06-14 17:49:30 +00:00
Benjamin Kosnik 52ceb03971 cxxabi.h: Remove duplicated and useless public and private keywords in class declarations.
2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r82147
2004-05-22 21:07:28 +00:00
Matthias Klose ce120bb2c4 iterator.h: Add GPL copyright info, with exception clause.
2004-05-06  Matthias Klose  <doko@debian.org>

        * include/backward/iterator.h:  Add GPL copyright info,
        with exception clause.
        * include/bits/boost_concept_check.h: Likewise.
        * include
        * libsupc++/tinfo.h: Likewise.
        * po/string_literals.cc: Likewise.

From-SVN: r81581
2004-05-06 22:02:05 +00:00
Benjamin Kosnik 563ae04fec Fixups for EDG front end.
2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	Fixups for EDG front end.
	* include/ext/rope: Instead of non-existent function
	_Data_allocate, use allocator's allocate. Use this.
	(namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
	enumerations from _Rope_RopeRep here.
	* include/ext/ropeimpl.h: Same.
	* src/ext-inst.cc (_S_min_len): Fix up definition.

	* config/locale/gnu/ctype_members.cc: Qualify base class members
	with this.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/generic/messages_members.h: Same.
	* src/ctype.cc: Same.
	* include/bits/codecvt.h: Same.

	* include/bits/boost_concept_check.h: Declare.
	(__error_type_must_be_an_unsigned_integer_type): Remove this.
	(__error_type_must_be_an_integer_type): Remove this.
	(__error_type_must_be_a_signed_integer_type): Remove this.

	* config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.

	* libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
	specification to definition.
	(__cxa_allocate_exception): Same.
	* libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
	* libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
	(__cxa_get_globals): Same.

	* libsupc++/del_op.cc: Add comment about freestanding.

From-SVN: r80475
2004-04-07 03:33:36 +00:00
Phil Edwards d54bc1d870 acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV, not libiconv.
2004-03-19  Phil Edwards  <phil@codesourcery.com>

	* acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
	not libiconv.  SUBST this variable as well.
	* testsuite/Makefile.am (site.exp):  New target, based on that
	created by automake.  Also set libiconv.

	* configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
	testsuite/Makefile.in:  Regenerate.

From-SVN: r79678
2004-03-19 11:34:47 +00:00
Benjamin Kosnik 8b0d605196 allocator: New.
2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>

	* config/allocator: New.
	* config/allocator/bitmap_allocator_base.h: New.
	* config/allocator/malloc_allocator_base.h: New.
	* config/allocator/mt_allocator_base.h: New.
	* config/allocator/new_allocator_base.h: New.
	* include/bits/allocator.h: Include c++allocator.h.
	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
	* aclocal.m4: Regenerate.
	* configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
	* configure: Regenerate.
	* include/Makefile.am (host_headers_extra): Add c++allocator.h.
	* include/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add enable-libstdcxx-allocator.

From-SVN: r79435
2004-03-13 06:54:25 +00:00
Benjamin Kosnik ec2075e962 Support automake 1.8.2
2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>

	Support automake 1.8.2
	* configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
	* po/Makefile.am (EXTRA_DIST): New.
	* po/Makefile.in: Regenerate.
	* Makefile.in: Same.
	* include/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* src/Makefile.in: Same.
	* testsuite/Makefile.in: Same.

	* include/Makefile.am (${host_builddir}/gthr-posix.h): Use
	__GXX_WEAK__ instead of SUPPORTS_WEAK.
	(${host_builddir}/gthr-default.h): Same.
	(${host_builddir}/gthr.h): Same.
	* acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
	_GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
	-fno-weak.
	* aclocal.m4: Regenerate.
	* acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
	* config.h.in: Regenerate.
	* configure: Same.

From-SVN: r78770
2004-03-02 18:30:08 +00:00
Benjamin Kosnik 40fcf31b2f [multiple changes]
2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>

	* testsuite/demangle/abi_examples/01.cc: Expect error -2.
	* testsuite/demangle/abi_examples/02.cc: Likewise.
	* testsuite/demangle/regression/cw-11.cc: Likewise.
	* testsuite/demangle/regression/cw-16.cc: Change two expected
	results to match libiberty demangler output.

2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/10246
        * libsupc++/Makefile.am: Use libiberty demangler.
        (c_sources): Add cp-demangle.c.
        * libsupc++/Makefile.in: Regenerate.
        * src/Makefile.am (sources): Remove demangle.cc.
        * src/Makefile.in: Regenerate.
        * include/Makefile.am (bits_headers): Move demangle.h.
	(ext_headers): ...here.
        * include/Makefile.in: Regenerate.
        * include/bits/demangle.h: Move...
	* include/ext/demangle.h: ...here.
        * src/demangle.cc: Remove.

2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>

        * include/bits/demangle.h: Add type template parameter to all
        templates with just an Allocator template parameter.

From-SVN: r78553
2004-02-27 03:21:16 +00:00
Benjamin Kosnik 6f94dea785 vterminate.cc (__gnu_cxx::__verbose_terminate_handler): Only use fputs, not write.
2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
	Only use fputs, not write.

From-SVN: r78327
2004-02-23 19:17:06 +00:00
Mark Mitchell afc3bb58d5 * libsupc++/vterminate.cc
(__gnu_cxx::__verbose_terminate_handler): Guard against recursive
	calls to terminate.
	* src/demangle.cc (__cxa_demangle): Wrap in try-catch block.

From-SVN: r78235
2004-02-21 20:59:26 +00:00
James E Wilson 664fc5df4a re PR libstdc++/5625 ([mips] exception unwinding creates invalid pointer on mips)
PR libstdc++/5625
* libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
__builtin_extend_pointer.

From-SVN: r77555
2004-02-09 13:20:33 -08:00
Richard Henderson c38628062d re PR libstdc++/14026 (std::uncaught_exception is true although there are no uncaught exceptions (rethrow, ghost exception))
PR libstdc++/14026
        * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
        uncaughtExceptions during nested catch rethrow.
        * testsuite/18_support/14026.cc: New.

From-SVN: r77492
2004-02-08 10:01:23 -08:00
Mark Mitchell 517da0ce8a acconfig.h: Add _GLIBCXX_USE_C99_MATH.
* acconfig.h: Add _GLIBCXX_USE_C99_MATH.
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
	* configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
	targeting newlib.
	* aclocal.m4: Regenerated.
	* config.h.in: Likewise.
	* configure: Likewise.
	* Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
	(_GLIBCXX_USE_C99_MATH): ... this.

	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
	arm-none-elf.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
	* testsuite/27_io/objects/char/9.cc: Likewise.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.

From-SVN: r75209
2003-12-29 19:26:16 +00:00
Benjamin Kosnik 8602555360 re PR libstdc++/13296 (unnecessary libunwind support in libstdc++-v3)
2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13296
	* acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
	* aclocal.m4: Regenerate.
	* configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
	* conigure: Regenerate.
	* src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
	* src/Makefile.in: Regenerate.
	* docs/html/17_intro/configury.html: Modify.

From-SVN: r74479
2003-12-10 00:05:36 +00:00
Benjamin Kosnik 82fa4538b5 re PR libstdc++/13284 (126 g++ failures due to lrand48 not defined)
2003-12-04  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13284
	* include/bits/stl_algo.h (__random_number): Remove.
	(random_shuffle): Use rand, as permitted by DR 395.
	* include/ext/algorithm: Same.
	* linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
	* acconfig.h: Same.
	* crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
	* config.h.in: Regenerated.
	* configure: Same.
	* aclocal.m4: Same.

From-SVN: r74288
2003-12-04 19:37:21 +00:00
Jonathan Wakely 3ab3dca624 vec.cc: Conform to C++STYLE.
2003-11-07  Jonathan Wakely  <redi@gcc.gnu.org>

	* libsupc++/vec.cc: Conform to C++STYLE.

From-SVN: r73350
2003-11-08 00:36:13 +00:00
Jeffrey D. Oldham d30b600a6e vec.cc (__cxa_vec_delete2): If given a NULL pointer, immediately return.
2003-11-04  Jeffrey D. Oldham  <oldham@codesourcery.com>

	* libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
	immediately return.  This reflects a C++ ABI change 2003 Nov 03.
	(__cxa_vec_delete3): Likewise.

From-SVN: r73263
2003-11-05 04:37:03 +00:00
Harald Boehme cafc73370e re PR libstdc++/12451 (missing(late) class forward declaration in cxxabi.h)
2003-10-02  Harald Boehme  <boehme@informatik.hu-berlin.de>

	PR libstdc++/12451
	* libsupc++/cxxabi.h: Move forward declaration of __class_type_info.

From-SVN: r72059
2003-10-03 00:36:45 +00:00
Jeffrey D. Oldham 520abf6930 vec.cc (__cxa_vec_new2): If the allocator returns NULL, return NULL.
2003-09-10  Jeffrey D. Oldham  <oldham@codesourcery.com>

	* libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
	NULL, return NULL.  This reflects a C++ ABI change 2003 Sep 05.
	(__cxa_vec_new3): Likewise.

From-SVN: r71273
2003-09-10 15:41:48 +00:00
Phil Edwards 3660e02f0d acinclude.m4 (GLIBCXX_ENABLE_HOSTED): #define _GLIBCXX_HOSTED appropriately.
2003-09-02  Phil Edwards  <phil@codesourcery.com>

	* acinclude.m4 (GLIBCXX_ENABLE_HOSTED):  #define _GLIBCXX_HOSTED
	appropriately.
	* config.h.in:  Add _GLIBCXX_HOSTED.
	* libsupc++/eh_term_handler.cc:  Test it here; initialize
	__terminate_handler to std::abort if freestanding.
	* aclocal.m4, configure:  Regenerated.
	* docs/html/configopts.html:  Document --disable-hosted-libstdcxx.

From-SVN: r71001
2003-09-02 18:46:54 +00:00
Phil Edwards ca618b60bf Makefile.am: Remove trailing whitespace.
2003-08-27  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am:  Remove trailing whitespace.  Remove needless
	"foo = @foo@" assignments.  Replace direct uses of @foo@ with $(foo).
	* include/Makefile.am:  Likewise.
	* libmath/Makefile.am:  Likewise.
	* libsupc++/Makefile.am:  Likewise.
	* po/Makefile.am:  Likewise.
	* src/Makefile.am:  Likewise.
	* testsuite/Makefile.am:  Likewise.

	* Makefile.in, include/Makefile.in, libmath/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
	testsuite/Makefile.in:  Regenerated.

From-SVN: r70865
2003-08-27 21:29:43 +00:00
Phil Edwards 92eabea208 acinclude.m4 (GLIBCXX_CONDITIONAL): New macro.
2003-08-27  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_CONDITIONAL):  New macro.  Wrap
	AM_CONDITIONAL.  Replace all calls to AM_CONDITIONAL with this one.
	(GLIBCXX_ENABLE_HOSTED):  New macro, sets new variable is_hosted,
	used elsewhere in this file.
	(GLIBCXX_EVALUATE_CONDITIONALS):  New macro...
	* configure.ac:  ...called here to expand all conditionals.
	* Makefile.am:  Conditionalize SUBDIRS on GLIBCXX_HOSTED.
	* include/Makefile.am:  Remove redundant gxx_include_dir assignment.
	(install-freestanding-headers):  New target, a subset of
	install-headers.  Conditionalize install-data-local on GLIBCXX_HOSTED.

	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
	src/Makefile.in, testsuite/Makefile.in:  Regenerated.

From-SVN: r70854
2003-08-27 19:06:56 +00:00
Phil Edwards 82ba99d59e Makefile.am: Add comment.
2003-08-26  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am:  Add comment.
	* acinclude.m4 (GLIBCXX_CONFIGURE):  Set new glibcxx_SUBDIRS and
	SUBDIRS variables.
	* configure.ac:  Use them both here, instead of hardcoded lists.

	* fragment.am:  Add STAMP varaible.
	* include/Makefile.am:  Cosmetic whitespace cleanup.  Use $(LN_S)
	instead of @LN_S@.
	(stamp-*):  Move file creation rule outside of 'if' branches to
	ensure the stamp-* files are actually updated.  Use $(STAMP).
	* src/Makefile.am:  Remove now-nonexistant variable.
	* libsupc++/Makefile.am:  Likewise.  Snap the assignment chain
	for -prefer-pic.
	* po/Makefile.am:  Include same fragment as all the others.

	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in:  Regenerated.

From-SVN: r70836
2003-08-27 00:38:28 +00:00
Phil Edwards 0df3f383ef acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES and LIBSUPCXX_INCLUDES.
2003-08-17  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Remove LIBMATH_INCLUDES
	and LIBSUPCXX_INCLUDES.  Re-purpose TOPLEVEL_INCLUDES to refer to
	things from the top level.
	* configure.ac (GLIBCXX_IS_NATIVE):  Determine earlier and re-order.
	Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
	(currently unused).  Strip the fake-VPATH shell fragment from
	automake-generated rules, if present.
	* linkage.m4:  Add comment.

	* fragment.am:  New file, containing factored-out common settings.
	(AM_CPPFLAGS):  Absorb the deprecated INCLUDES variable contents.
	* Makefile.am:  Include fragment.am.  Remove common variables.
	* include/Makefile.am:  Likewise.
	* libmath/Makefile.am:  Likewise.
	* libsupc++/Makefile.am:  Likewise.
	* po/Makefile.am:  Likewise.  Print rules during check.
	* src/Makefile.am:  Likewise.
	* testsuite/Makefile.am:  Likewise.

	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
	src/Makefile.in, testsuite/Makefile.in:  Regenerate.

From-SVN: r70522
2003-08-17 20:23:12 +00:00
Phil Edwards 8b171e5587 configure.in: Rename...
2003-08-05  Phil Edwards  <pme@gcc.gnu.org>

	* configure.in:  Rename...
	* configure.ac:  ...to this.
	* docs/html/17_intro/porting.texi:  Update name.

	* docs/html/17_intro/porting.html:  Regenerate.
	* config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
	testsuite/Makefile.in:  Regenerate (picks up new dependancy).

From-SVN: r70194
2003-08-05 23:32:23 +00:00
Phil Edwards ff66d28f7c Convert to new autotools.
2003-08-04  Phil Edwards  <pme@gcc.gnu.org>

	Convert to new autotools.
	* acconfig.h:  Update with correct names.
	* configure.host (ATOMICITYH):  Rename to atomicity_include_dir.
	(qnx6.[12]*):  'q' comes before 's', not after 'w'.
	* configure.in:  Update.  Split hardcoded cross-configury settings
	out to...
	* crossconfig.m4:  ...here.  New file.  Contents untouched.
	* acinclude.m4:  Reorganize and rewrite as needed.  Split large
	chunks out to...
	* linkage.m4:  ...here.  New file.  Math and stdlib linkage tests.
	Contents untouched.
	* scripts/testsuite_flags.in:  Update.

	* Makefile.am:  Remove unneeded AUTOMAKE_OPTIONS settings and other
	variables (already generated by automake).
	* include/Makefile.am:  Ditto.
	* libmath/Makefile.am:  Ditto.
	* libsupc++/Makefile.am:  Ditto.
	* po/Makefile.am:  Ditto.
	* src/Makefile.am:  Ditto.

	* aclocal.m4:  Regenerate using new versions.
	* config.h.in:  Ditto.
	* configure:  Ditto.
	* Makefile.in:  Ditto.
	* include/Makefile.in:  Ditto.
	* libmath/Makefile.in:  Ditto.
	* libsupc++/Makefile.in:  Ditto.
	* po/Makefile.in:  Ditto.
	* src/Makefile.in:  Ditto.
	* testsuite/Makefile.in:  Ditto.

From-SVN: r70167
2003-08-05 02:00:18 +00:00
Benjamin Kosnik 3d7c150e3f Move from CPP to CXX.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r68958
2003-07-05 04:05:45 +00:00
Benjamin Kosnik 44f0760eae acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
	* aclocal.m4: Regenerate.
	* configure.in (GLIBCPP_CHECK_PCH): Move, change to
	GLIBCPP_ENABLE_PCH, default to yes.
	* configure: Regenerate.
	* docs/html/configopts.html: Add --enable-pch.

From-SVN: r68715
2003-06-30 17:40:13 +00:00
Benjamin Kosnik 58ac1d7f0e acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
	* aclocal.m4: Regenerate.
	* Makefile.am (SUBDIRS): Remove libio.
	* Makefile.in: Regenerate.
	* configure.in: Same.
	* configure: Regenerate.
	* config/io/basic_file_libio.cc: Remove.
	* config/io/basic_file_libio.h: Remove.
	* config/io/c_io_libio_codecvt.c: Remove.
	* config/io/c_io_libio.h: Remove.
	* libio/*: Remove.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.
	* docs/html/configopts.html: Edits.
	* docs/html/explanations.html: Edits.

From-SVN: r67813
2003-06-12 03:24:16 +00:00
Steve Ellcey ed0d100f7c os_defines.h: Define _LIBUNWIND_STD_ABI if we are on IA64 HP-UX.
* config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
	on IA64 HP-UX.
	* libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
	_LIBUNWIND_STD_ABI is set.

From-SVN: r67193
2003-05-27 21:45:48 +00:00
Nathanael Nerode cbecceb923 Makefile.am, [...]: Replace "GNU CC" with "GCC".
2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>

	* 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".

From-SVN: r67155
2003-05-24 16:22:03 +00:00
Richard Henderson a944ceb94a except.c: Revert 04-01 and 04-02 forced-unwind changes.
gcc/
        * except.c: Revert 04-01 and 04-02 forced-unwind changes.
        * flags.h, toplev.c, doc/invoke.texi: Likewise.

        * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
        * unwind.inc (_Unwind_DeleteException): Check for null
        exception_cleanup.

        * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
        * unwind.inc (_Unwind_Resume_or_Rethrow): New.
        * unwind.h: Declare them.
        * libgcc-std.ver (GCC_3.3): Export them.

gcc/cp/
        * cfns.gperf: Comment out POSIX thread cancellation points,
        plus abort and raise.
        * cfns.h: Regenerate.

gcc/testsuite/
        * g++.dg/eh/forced1.C: Expect catch-all handlers to run.
        Verify exception_cleanup not called for rethrows.
        * g++.dg/eh/forced2.C: Test that exception_cleanup is called
        when exiting catch block without rethrowing.
        * g++.dg/eh/forced3.C: New.
        * g++.dg/eh/forced4.C: New.

libstdc++-v3/
        * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
        (__cxa_end_catch): Likewise.
        * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise.  Use
        _Unwind_Resume_or_Rethrow.
        * libsupc++/eh_personality.cc (empty_exception_spec): New.
        (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
        for _UA_FORCE_UNWIND.  Honor empty filter spec for foreign
        exceptions.  Don't push terminate/unexpected to cxa functions.
        (__cxa_call_unexpected): Remove foreign exception fixmes.

From-SVN: r66583
2003-05-07 15:11:38 -07:00
Danny Smith c31da8a535 Makefile.am (C_COMPILE): Remove.
* libsupc++/Makefile.am (C_COMPILE): Remove.
	(LTCOMPILE): Likewise.
	* libsupc++/Makefile.in: Regenerate.

From-SVN: r64477
2003-03-17 11:02:39 +00:00
Benjamin Kosnik 628c731a48 stdc++.h: New.
2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/stdc++.h: New.
	* libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard.
	* include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch
        * include/Makefile.in: Regenerate.
        * testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS.
	(--cxxflags): Put -g -O2 here.
	* testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here.

From-SVN: r64374
2003-03-14 22:16:06 +00:00
Matthias Klose 3bf74da29f Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
2003-03-07  Matthias Klose  <doko@debian.org>

        * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
        FLAGS_TO_PASS: Set to AM_MAKEFLAGS
        * Makefile.in: Regenerate.
        * libsupc++/Makefile.am: Express glibcppinstalldir in terms
        of gxx_include_dir.
        AM_MAKEFLAGS: Pass gxx_include_dir.
        * libsupc++/Makefile.in: Regenerate.

From-SVN: r63939
2003-03-07 08:01:24 +00:00
Benjamin Kosnik 83e924e101 demangle.h: Move to..
2003-03-05  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/demangle.h: Move to..
	* include/bits/demangle.h: ...here.
	* src/demangle.cc: Adjust include.
	* include/Makefile.am (bits_headers): Add.
	* include/Makefile.in: Regenerate.

From-SVN: r63851
2003-03-05 17:57:52 +00:00
Benjamin Kosnik 4ffbd0777c [multiple changes]
2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (sources): Add demangle.cc.
	(demangle.o): Add.
	(demangle.lo): Add.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Remove old __cxa_demangle bits.
	* libsupc++/Makefile.in: Regenerate.

	* testsuite/testsuite_hooks.h
	(__gnu_cxx_test::verify_demangle): New.
	* testsuite/testsuite_hooks.cc: Define.

2003-02-27  Carlo Wood  <carlo@alinoe.com>

	* src/demangle.cc: New.
	* libsupc++/demangle.h: New.

2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
            Carlo Wood  <carlo@alinoe.com>

	* testsuite/demangle/abi_examples/01.cc: New.
	* testsuite/demangle/abi_examples/02.cc: New.
	* testsuite/demangle/abi_examples/03.cc: New.
	* testsuite/demangle/abi_examples/04.cc: New.
	* testsuite/demangle/abi_examples/05.cc: New.
	* testsuite/demangle/abi_examples/06.cc: New.
	* testsuite/demangle/abi_examples/07.cc: New.
	* testsuite/demangle/abi_examples/08.cc: New.
	* testsuite/demangle/abi_examples/09.cc: New.
	* testsuite/demangle/abi_examples/10.cc: New.
	* testsuite/demangle/abi_examples/11.cc: New.
	* testsuite/demangle/abi_examples/12.cc: New.
	* testsuite/demangle/abi_examples/13.cc: New.
	* testsuite/demangle/abi_examples/14.cc: New.
	* testsuite/demangle/abi_examples/15.cc: New.
	* testsuite/demangle/abi_examples/16.cc: New.
	* testsuite/demangle/abi_examples/17.cc: New.
	* testsuite/demangle/abi_examples/18.cc: New.
	* testsuite/demangle/abi_examples/19.cc: New.
	* testsuite/demangle/abi_examples/20.cc: New.
	* testsuite/demangle/abi_examples/21.cc: New.
	* testsuite/demangle/abi_examples/22.cc: New.
	* testsuite/demangle/abi_examples/23.cc: New.
	* testsuite/demangle/abi_examples/24.cc: New.
	* testsuite/demangle/abi_examples/25.cc: New.
	* testsuite/demangle/abi_examples/26.cc: New.
	* testsuite/demangle/abi_text/01.cc: New.
	* testsuite/demangle/abi_text/02.cc: New.
	* testsuite/demangle/abi_text/03.cc: New.
	* testsuite/demangle/abi_text/04.cc: New.
	* testsuite/demangle/abi_text/05.cc: New.
	* testsuite/demangle/abi_text/06.cc: New.
	* testsuite/demangle/abi_text/07.cc: New.
	* testsuite/demangle/abi_text/08.cc: New.
	* testsuite/demangle/abi_text/09.cc: New.
	* testsuite/demangle/abi_text/10.cc: New.
	* testsuite/demangle/abi_text/11.cc: New.
	* testsuite/demangle/abi_text/12.cc: New.
	* testsuite/demangle/abi_text/13.cc: New.
	* testsuite/demangle/abi_text/14.cc: New.
	* testsuite/demangle/regression/3111-1.cc: New.
	* testsuite/demangle/regression/3111-2.cc: New.
	* testsuite/demangle/regression/7986-01.cc: New.
	* testsuite/demangle/regression/7986-02.cc: New.
	* testsuite/demangle/regression/7986-03.cc: New.
	* testsuite/demangle/regression/7986-04.cc: New.
	* testsuite/demangle/regression/7986-05.cc: New.
	* testsuite/demangle/regression/7986-06.cc: New.
	* testsuite/demangle/regression/7986-07.cc: New.
	* testsuite/demangle/regression/7986-08.cc: New.
	* testsuite/demangle/regression/7986-09.cc: New.
	* testsuite/demangle/regression/7986-10.cc: New.
	* testsuite/demangle/regression/7986-11.cc: New.
	* testsuite/demangle/regression/7986-12.cc: New.
	* testsuite/demangle/regression/7986.cc: New.
	* testsuite/demangle/regression/8897.cc: New.
	* testsuite/demangle/regression/cw-01.cc: New.
	* testsuite/demangle/regression/cw-02.cc: New.
	* testsuite/demangle/regression/cw-03.cc: New.
	* testsuite/demangle/regression/cw-04.cc: New.
	* testsuite/demangle/regression/cw-05.cc: New.
	* testsuite/demangle/regression/cw-06.cc: New.
	* testsuite/demangle/regression/cw-07.cc: New.
	* testsuite/demangle/regression/cw-08.cc: New.
	* testsuite/demangle/regression/cw-09.cc: New.
	* testsuite/demangle/regression/cw-10.cc: New.
	* testsuite/demangle/regression/cw-11.cc: New.
	* testsuite/demangle/regression/cw-12.cc: New.
	* testsuite/demangle/regression/cw-13.cc: New.
	* testsuite/demangle/regression/cw-14.cc: New.
	* testsuite/demangle/regression/old.cc: New.

From-SVN: r63513
2003-02-27 16:57:26 +00:00
Benjamin Kosnik ab77073fd7 Makefile.am (stamp-std-precompile): Add rule.
2003-02-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (stamp-std-precompile): Add rule.
	* include/Makefile.in: Regenerated.

From-SVN: r62752
2003-02-12 00:54:39 +00:00
Peter Soetens 6eeabb09a6 basic_file_libio.h: Fixups.
2003-02-06  Peter Soetens  <peter.soetens@mech.kuleuven.ac.be>

	* config/io/basic_file_libio.h: Fixups.
	* config/io/c_io_libio.h: Same.
	* libio/Makefile.am: Same.
	* libio/Makefile.in: Regenerated.

From-SVN: r62475
2003-02-06 08:10:47 +00:00
Nathan Sidwell 483a570922 re PR c++/9433 (SegFault in dynamic_cast)
libstdc++-v3:
        PR c++/9433
        * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
        with bases which are very ambiguous.
gcc/testsuite:
        * g++.dg/abi/dcast1.C: New test.

From-SVN: r61973
2003-01-28 15:26:53 +00:00
Danny Smith 697044e099 Makefile.am (CONFIG_CXXFLAGS): Reverse order of @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
* src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
	@EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
	* libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.

From-SVN: r61915
2003-01-28 01:17:36 +00:00
Jeffrey D. Oldham a7189b490f Further conform g++'s __vmi_class_type_info to the C++ ABI specification.
2003-01-14  Jeffrey D. Oldham  <oldham@codesourcery.com>

	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.

From-SVN: r61304
2003-01-14 21:36:20 +00:00
Benjamin Kosnik 1c26d8fd84 locale_facets.h (messages): Move ctor, dtor definitions to..
2003-01-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (messages): Move ctor, dtor
	definitions to..
	(__timepunct): Same.
	* config/locale/gnu/messages_members.h (messages): Add dtor, ctor
	definitions. Conditionalize for GNU systems.
	* config/locale/generic/messages_members.h (messages): Add dtor, ctor
	definitions.
	* config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
	definitions. Conditionalize for GNU systems.
	* config/locale/generic/time_members.h (messages): New. Add dtor, ctor
	definitions.
	* include/bits/localefwd.h (locale::facet::_S_c_name): Add.
	* src/locale.cc: Define.
	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
	Use it.
	* config/locale/gnu/time_members.h: Use it.
	* config/locale/gnu/messages_members.h: Use it.
	* config/linker-map.gnu: Add locale::facets details.
	* include/Makefile.am (target_headers_extra): Add time_members.h.
	* include/Makefile.in: Regenerate.
	* acinclude.m4: Export CTIME_H.
	* aclocal.m4: Regenerate.
	* configure: Regnerate.

From-SVN: r60952
2003-01-06 21:23:00 +00:00
Mark Mitchell 43be7fe7d7 * config/locale/gnu/ctype_members.cc
(ctype<wchar_t>::_M_convert_to_wmask): Remove stray semicolon.
	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true>::_M_initialize_moneypunct): Avoid
	defining classes in static_cast.
	(moneypunct<wchar_t, false>::_M_initialize_moneypunct): Likewise.
	* config/locale/gnu/numeric_members.cc
	(numpunct<wchar_t, false>::_M_initialize_numpunct): Likewise.
	* include/bits/stl_deque.h (operator-): Insert typename where
	required.
	* include/bits/stl_multiset.h (multiset): Remove stray semicolon.
	* include/bits/stl_set.h (set): Likewise.
	* include/bits/valarray_meta.h (bits/slice_array.h): Include it.
	* include/std/std_fstream.h (basic_fstream::open): Use this-> to
	avoid Koenig lookup.
	(basic_fstream::close): Likewise.
	* libsupc++/new (operator delete): Remove stray semicolon.
	* libsupc++/new (operator delete[]): Likewise.
	* libsupc++/tinfo.cc: Likewise.
	* src/stdexcept.c (logic_error::~logic_error): Likewise.
	(runtime_error::~runtime_error): Likewise.

From-SVN: r60547
2002-12-27 23:03:03 +00:00
Phil Edwards bad38757c3 exception: Add comment (mistakenly skipped).
2002-12-26  Phil Edwards  <pme@gcc.gnu.org>

	* libsupc++/exception:  Add comment (mistakenly skipped).

From-SVN: r60534
2002-12-27 00:23:20 +00:00
Phil Edwards 9795acc64a vterminate.cc (writestr): Use __builtin_strlen.
2002-12-26  Phil Edwards  <pme@gcc.gnu.org>

	* libsupc++/vterminate.cc (writestr):  Use __builtin_strlen.

From-SVN: r60531
2002-12-26 22:26:29 +00:00
Phil Edwards 3642a94924 eh_term_handler.cc: Add comment about embedded systems.
2002-12-26  Phil Edwards  <pme@gcc.gnu.org>

	* libsupc++/eh_term_handler.cc:  Add comment about embedded systems.
	* docs/html/debug.html:  Cosmetic and HTML changes.  Point to
	verb-term notes.
	* docs/html/documentation.html:  Link to the FAQ.
	* docs/html/17_intro/howto.html:  Mention use of isatty(3).
	* docs/html/19_diagnostics/howto.html:  Update verb-term description.

From-SVN: r60528
2002-12-26 21:14:19 +00:00
Phil Edwards fb7054160f vterminate.cc: Move to...
2002-12-25  Phil Edwards  <pme@gcc.gnu.org>

	* src/vterminate.cc:  Move to...
	* libsupc++/vterminate.cc:  ...here.  New file.  Replace fprintf with
	writestr macro.  Slight reword to explanatory text.
	* libsupc++/eh_terminate.cc (__cxxabiv1::__terminate_handler,
	__cxxabiv1::__unexpected_handler):  Break definitions out to...
	* libsupc++/eh_unex_handler.cc:  ...here (new file), and...
	* libsupc++/eh_term_handler.cc:  ...here (new file).  Initialize
	__terminate_handler with __gnu_cxx::__verbose_terminate_handler
	instead of std::abort.

	* libsupc++/Makefile.am (sources), src/Makefile.am (sources):  Update.
	* libsupc++/Makefile.in, src/Makefile.in:  Regenerate.

From-SVN: r60505
2002-12-26 06:10:35 +00:00
Benjamin Kosnik 6aa43d99a3 configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
2002-12-16  Benjamin Kosnik  <bkoz@redhat.com>

        * configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
	Call GLIBCPP_ENABLE_DEBUG_FLAGS.
        * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new
        conditional if --enable-debug is yes. Rework.
	(GLIBCPP_ENABLE_DEBUG_FLAGS): New.
        * aclocal.m4: Regenerate.
	* libio/Makefile.am: Remove DEBUG_FLAGS.
	* libio/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Remove DEBUG_FLAGS.
	* libsupc++/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add docs for --enable-debug,
	--enable-debug-flags.

2002-12-16  Benjamin Kosnik  <bkoz@redhat.com>

	Correct dependency tracking, build warts.
	* configure.in: Correct repeated AC_OUTPUT thrashing by
	config-ml.in
	* configure: Regenerate.
	* include/Makefile.am (stamp-target): Stamp in top_builddir.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am (codecvt_members.cc): New rule.
	(collate_members.cc): Same.
	(ctype_members.cc): Same.
	(messages_members.cc): Same.
	(monetary_members.cc): Same.
	(numeric_members.cc): Same.
	(time_members.cc): Same.
	(c++locale.cc): Same.
	(basic_file.cc): Same.
	* src/Makefile.in: Regenerate.
	* acinclude.m4 (CCTYPE_CHAR_CC): Remove.
	(CCCODECVT_CC): Don't link, AC_SUBST.
	(CCOLLATE_CC): Same.
	(CCTYPE_CC): Same.
	(CMESSAGES_CC): Same.
	(CMONEY_CC): Same.
	(CNUMERIC_CC): Same.
	(CTIME_CC): Same.
	(CLOCALE_CC): Same.
	* aclocal.m4: Regenerate.

	* src/Makefile.am (libstdc___la_LIBADD): Use top_builddir
	for convenience libraries.
	(version_arg): Rename linker.map to libstdc++.ver.
	(libstdc___la_DEPENDENCIES): Remove linker.map, add
	libstdc++-symbol.ver as a dependency.
	(libstdc++-symbol.ver): Add rule.
	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Change LINKER_MAP to
	SYMVER_MAP. Don't link, AC_SUBST.

	* include/Makefile.am (target_headers_noinst): New.
	(stamp-target): Add CLOCALE_INTERNAL_H.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't link
	CLOCALE_INTERNAL_H, AC_SUBST.
	* config/locale/gnu/c_locale.cc: Modify c++locale_internal.h
	include.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/gnu/numeric_members.cc: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/messages_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/codecvt_members.cc: Same.
	* config/locale/generic/codecvt_members.cc: Remove.

From-SVN: r60177
2002-12-16 19:02:01 +00:00
Zack Weinberg 4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Mark Mitchell 68e25f8806 cxxabi.h (__cxa_bad_cast): Declare it.
* libsupc++/cxxabi.h (__cxa_bad_cast): Declare it.
	(__cxa_bad_typeid): Likewise.
	(__cxa_atexit): Likewise.
	(__cxa_finalize): Likewise.

From-SVN: r60001
2002-12-10 17:09:05 +00:00
Mark Mitchell 074e73c4e9 * libsupc++/cxxabi.h (__cxa_pure_virtual): Declare it.
From-SVN: r59965
2002-12-09 19:31:33 +00:00
Mark Mitchell c4f6640537 Makefile.am (sources): Add guard.cc.
* libsupc++/Makefile.am (sources): Add guard.cc.
	* 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.

From-SVN: r59475
2002-11-25 23:17:31 +00:00
Benjamin Kosnik ca017eef3a Makefile.am (target_headers): Remove cpu_limits.h.
2002-09-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Remove cpu_limits.h.
	* include/Makefile.in: Regenerate.
	* configure.in (CPU_LIMITS_INC_SRCDIR): Remove
	* configure: Regenerate.
	* configure.target (CPULIMITS): Remove.

	* include/std/std_limits.h: Remove cpu_limits.h include.

	* config/os/solaris/solaris2.7/os_defines.h (__glibcpp_long_bits):
	Remove.
	* config/os/irix/irix6.5/os_defines.h
	(__glibcpp_long_double_bits): Remove.
	(__glibcpp_wchar_t_bits): Remove.
	(__glibcpp_long_bits): Remove.
	* config/os/irix/irix5.2/os_defines.h
	(__glibcpp_long_double_bits): Remove.
	(__glibcpp_long_bits): Remove.
	* config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove.
	* config/os/bsd/freebsd/os_defines.h:
	(__glibcpp_long_double_bits): Remove.
	* config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove.
	(__glibcpp_wchar_t_is_signed): Remove.
	(__glibcpp_long_bits): Remove.
	* config/os/gnu-linux/os_defines.h (__glibcpp_long_bits): Remove.
	(__glibcpp_long_double_bits): Remove.

	* config/os/osf/osf5.0/cpu_limits.h: Remove.
	* config/cpu/alpha/cpu_limits.h: Remove.
	* config/cpu/arm/cpu_limits.h: Remove.
	* config/cpu/cris/cpu_limits.h: Remove.
	* config/cpu/generic/cpu_limits.h: Remove.
	* config/cpu/generic/limits.h: Remove.
	* config/cpu/ia64/cpu_limits.h: Remove.
	* config/cpu/m68k/cpu_limits.h: Remove.
	* config/cpu/mmix/cpu_limits.h: Remove.
	* config/cpu/powerpc/cpu_limits.h: Remove.
	* config/cpu/S390/cpu_limits.h: Remove.

From-SVN: r57524
2002-09-26 05:25:14 +00:00
Benjamin Kosnik 747d096709 Makefile.am (check-abi): New rule.
2002-08-22  Benjamin Kosnik  <bkoz@redhat.com>
	    Phil Edwards  <pme@gcc.gnu.org>
	    Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (check-abi): New rule.
	* Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Export baseline_file.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.am (noinst_PROGRAMS): Add abi_check.
	(abi_check_SOURCES): Add.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/abi_check.cc: New file.
	* config/abi: Add.
	* config/abi/i686-pc-linux-gnu: Add.
	* config/abi/i686-pc-linux-gnu/baseline_symbols.txt: New file.

Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>

From-SVN: r56515
2002-08-22 20:06:01 +00:00
Steve Ellcey cb94b1559a unwind-cxx.h (__cxa_exception): Change catchTemp type from void* to _Unwind_Ptr.
* libstdc++-v3/libsupc++/unwind-cxx.h (__cxa_exception):
	Change catchTemp type from void* to _Unwind_Ptr.
	* libstdc++-v3/libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
	Do not cast landing_pad or base_of_encoded_value to (void *).
	* libstdc++-v3/libsupc++/eh_throw.cc (__gxx_exception_cleanup):
	Accept _URC_NO_REASON as a valid reason code.

From-SVN: r56352
2002-08-15 18:05:41 +00:00
John David Anglin a98b7b289a Makefile.am (LTCOMPILE): Add LIBSUPCXX_PICFLAGS.
* libsupc++/Makefile.am (LTCOMPILE): Add LIBSUPCXX_PICFLAGS.
	* libsupc++/Makefile.in: Regenerate.

From-SVN: r56099
2002-08-07 15:56:11 +00:00
Neil Booth db2350e020 Makefile.am (LT_COMPILE): Remove C++ flags.
2002-08-01  Neil Booth  <neil@daikokuya.co.uk>

	* libsupc++/Makefile.am (LT_COMPILE): Remove C++ flags.
	* libsupc++/Makefile.in: Regenerate.

From-SVN: r55954
2002-08-01 22:16:46 +00:00
Benjamin Kosnik 7fed1a0444 re PR libstdc++/7442 (cxxabi.h does not match the C++ ABI)
2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>
            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.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r55911
2002-07-31 21:50:33 +00:00
Benjamin Kosnik 3bba6ebbe4 re PR libstdc++/7442 (cxxabi.h does not match the C++ ABI)
2002-07-31  Benjamin Kosnik  <bkoz@redhat.com>

	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.

From-SVN: r55910
2002-07-31 21:24:18 +00:00
Phil Edwards bacb811db6 new (placement delete): Remove unused paramater names.
2002-07-26  Phil Edwards  <pme@gcc.gnu.org>

	* libsupc++/new (placement delete):  Remove unused paramater names.

From-SVN: r55782
2002-07-26 20:12:00 +00:00
Benjamin Kosnik 51937d2c98 re PR libstdc++/7286 (placement operator delete issue)
2002-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7286
	* libsupc++/new: Add placement delete.
	* testsuite/18_support/new_delete_placement.cc: New.

	* docs/html/abi.txt: Fix typos.

From-SVN: r55718
2002-07-24 19:49:21 +00:00
Phil Edwards aa2d5ba2c7 abi.txt: New file.
2002-07-20  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/abi.txt:  New file.
	* docs/html/23_containers/howto.html:  Tweak vector-overhead text.
	* docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
	Import from upstream, R22.

	* include/bits/char_traits.h, include/bits/stl_iterator.h,
	include/bits/stl_iterator_base_types.h, libsupc++/exception,
	libsupc++/new, libsupc++/typeinfo:  Use @brief markup.

	* include/bits/deque.tcc, include/bits/stl_alloc.h,
	include/bits/stl_deque.h, include/bits/stl_list.h:  Postpone removal
	of deprecated functions until 3.4.  (Same timeframe, different text.)
	* include/bits/stl_vector.h:  Ditto.  Also do the same cleanups that
	the other sequence classes received.

From-SVN: r55602
2002-07-20 06:26:27 +00:00
Andreas Schwab 984812cd39 new (set_new_handler): Declare to not throw any exceptions.
* libsupc++/new (set_new_handler): Declare to not throw any
	exceptions.
	* libsupc++/new_handler.cc (set_new_handler): Likewise.

From-SVN: r55480
2002-07-16 08:28:40 +00:00
Benjamin Kosnik 41970073a9 configure.in (INTERFACE): Remove.
2002-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (INTERFACE): Remove.
	(release_VERSION): Remove.
	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Change include placement.
	(libstdcxx_interface): Change. Use gcc methods to determine version.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r55028
2002-06-27 10:16:50 +00:00
Jessica Han 0e20c0b56f 2002-06-25 Jessica Han <jessica@cup.hp.com>
* config/os/hpux/os_defines.h Define _GLIBCPP_VTABLE_PADDING
	* libsupc++/tinfo.cc Handle the 8 byte aligned vtable entries when
	_GLIBCPP_VTABLE_PADDING is defined.

From-SVN: r54991
2002-06-25 16:55:47 +00:00
Benjamin Kosnik 5ab23d80ec Makefile.am (libsupc__convenience_la_SOURCES): Add c_sources.
2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/Makefile.am (libsupc__convenience_la_SOURCES): Add
	c_sources.

From-SVN: r54855
2002-06-20 20:25:44 +00:00
Benjamin Kosnik e01c9849c9 Makefile.am: Add rules.
2002-06-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am: Add rules.
	* include/Makefile.in: Regenerate.

	* acinclude.m4: Define GLIBCPP_C_HEADERS_COMPATIBILITY.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* configure.target (c_model, c_compatibility): Add.

	* libsupc++/Makefile.am (c_sources): New.
	(libsupc___la_SOURCES): Add c_sources.
	(LTCOMPILE): Remove INCLUDES.
	(GCC_INCLUDES): New.
	(C_COMPILE): New, like COMPILE but without INCLUDES.
	(cxa_demangle.o): Use C_COMPILE.
	(dyn-string.o): Use C_COMPILE.

	* include/c/std_cstdarg.h: Define __need___va_list.
	* include/c/std_cstddef.h: Define need_size_t, need_ptrdiff_t,
	need_NULL, need_offsetof.

From-SVN: r54849
2002-06-20 19:08:42 +00:00
Benjamin Kosnik 93b855862a std_cwchar.h: Guard.
2002-06-18  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c/std_cwchar.h: Guard. Add mbstate_t bits.
	* include/c/std_cwctype.h: Guard.

	* libsupc++/eh_alloc.cc: Tweak include order.
	* libsupc++/pure.cc: Use cstdio.
	* libsupc++/new_op.cc: Remove malloc forward declaration, as
	cstdlib brings it in. Use std::malloc.

	* src/Makefile.am (sources): Remove cmath.cc.
	* src/Makefile.in: Regenerate.
	* src/cmath.cc: Remove.

From-SVN: r54782
2002-06-19 15:19:53 +00:00
Benjamin Kosnik 248a9163e1 misc-inst.cc: Define unnecessary algorithm instantiations.
c
2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	* src/misc-inst.cc: Define unnecessary algorithm
	instantiations. Break apart instantiations into groupings below.
	* src/fstream-inst.cc: New.
	* src/io-inst.cc: New.
	* src/istream-inst.cc: New.
	* src/ostream-inst.cc: New.
	* src/streambuf-inst.cc: New.
	* src/sstream-inst.cc: New.
	* src/Makefile.am (sources): Add files.
	* src/Makefile.in: Regenerate.

	* acinclude.m4: Work around automake 1.4-p5 bug, change
	AM_GNU_GETTEXT in comments to AM-GNU-GETTEXT.

From-SVN: r53930
2002-05-27 14:55:57 +00:00
Kaveh R. Ghazi 7e90efc403 configure.in (AC_CHECK_HEADERS): Check for string.h & stdlib.h.
* configure.in (AC_CHECK_HEADERS): Check for string.h & stdlib.h.
	* libsupc++/Makefile.am (LTCOMPILE): Add $(DEFS).

	* Makefile.in, config.h.in, configure: Regenerate.

From-SVN: r53166
2002-05-04 20:20:29 +00:00
Benjamin Kosnik d3a193e36c re PR libstdc++/4164 (33 Memory Leak when using iostream)
2002-04-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/4164
	Valgrind fixes.
	* config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
	Call close.
	(__basic_file::close): Call fflush. Correct return if fclose ok.
	(__basic_file::is_open): Make const.
	Change __c_file_type to __c_file.
	* config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
	(__basic_file::is_open): Make const.
	* config/io/c_io_stdio.h: Change __c_file_type to __c_file.
	* include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
	(filebuf::_M_unbuf): Add.
	(filebuf::_M_file): Change to non-pointer.
	(filebuf::_M_allocate_pback_buffer): Remove.
	* include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
	(filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
	Change initialization list for _M_file change.
	(filebuf::_M_allocate_pback_buffer): Remove.
	Change _M_file usage to reflect non-pointer data member.

	* config/locale/generic/c_locale.cc
	(locale::facet::_S_create_c_locale): Add parameter.
	* config/locale/generic/collate_members.cc: Change
	_M_compare_helper to _M_compare.
	Change _M_transform_helper to _M_transform.
	* config/locale/generic/monetary_members.cc: Changeup data types.
	Add dtors.
	* config/locale/generic/numeric_members.cc: Add dtors.
	* config/locale/generic/time_members.cc: Add dtors.
	* config/locale/gnu/c_locale.cc: Add parameter.
	* config/locale/gnu/collate_members.cc:Change
	_M_compare_helper to _M_compare.
	Change _M_transform_helper to _M_transform.
	* config/locale/gnu/ctype_members.cc: Better error checking.
	* config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
	* config/locale/gnu/messages_members.cc: Tweak comment.
	* config/locale/gnu/monetary_members.cc: Change data types.
	Add dtors.
	* config/locale/gnu/numeric_members.cc: Add dtors, better error
	checking.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.cc
	(locale::facet::_S_create_c_locale): Add parameter.
	* config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
	bogus ctor.

	* include/bits/locale_facets.h (moneypunct): Use string literals.
	Don't define dtor.
	(numpunct): Same.
	(__timepunct): Same.
	(locale::_Impl::_M_facets): Change from vector to array.
	(locale::_Impl::_M_names): Change from array of strings to array
	of string literals.
	(locale::facet::_S_create_c_locale): Add parameter.
	(locale::locale::_S_num_facets): Move to...
	(locale::_Impl::_M_facets_size): Here.
	* include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
	changes.
	* include/bits/localefwd.h: (locale:🆔:_M_id): Add member function.
	(locale::_Impl::_Impl(facet**, size_t, bool)): Add.
	(locale::_Impl::_Impl(string, size_t)): Change to
	(locale::_Impl::_Impl(const char*, size_t)): This.

	* include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
	* include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
	(streambuf::_S_pback_size): This.

	* src/globals.cc: Add pre-allocations for "C" facets.
	* src/locale-inst.cc: Remove vector instantiations.
	* src/locale.cc: Remove vector include. Fixups for _M_names,
	_M_facets changes.
	* src/localename.cc: Same.

	* include/bits/stl_vector.h: Fix odd formatting.

	* include/bits/basic_string.tcc: Tweak comment.

	* libsupc++/new: Make sure parameters are uglified.
	* libsupc++/typeinfo: Same.

	* testsuite/22_locale/num_get_members_char.cc: Fixup.
	* testsuite/22_locale/num_get_members_wchar_t.cc: Same.
	* testsuite/27_io/filebuf_members.cc: Same.

From-SVN: r52345
2002-04-16 00:45:36 +00:00
Benjamin Kosnik 501e321e0d acinclude: More extensive checks for msgfmt, --enable-nls.
2002-04-01  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/5542
	* acinclude: More extensive checks for msgfmt, --enable-nls.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

From-SVN: r51732
2002-04-02 02:41:50 +00:00
Phil Edwards efe44c60eb exception (__verbose_terminate_handler): Point to docs.
2002-04-01  Phil Edwards  <pme@gcc.gnu.org>

	* libsupc++/exception (__verbose_terminate_handler):  Point to docs.
	* docs/doxygen/doxygroups.cc:  Doxygen hooks for abi::__cxa_demangle.
	* docs/html/18_support/howto.html:  Document the demangler.
	* docs/html/17_intro/howto.html:  And link to it.

	* docs/doxygen/mainpage.html:  Describe user-vs-maintainer docs.
	* docs/doxygen/run_doxygen:  Print user-vs-maintainer.

From-SVN: r51730
2002-04-02 02:07:22 +00:00
Phil Edwards 76f6aa8b6c linker-map.gnu: Export __verbose_terminate_handler.
2002-04-01  Phil Edwards  <pme@gcc.gnu.org>

	* config/linker-map.gnu:  Export __verbose_terminate_handler.
	* libsupc++/Makefile.am (sources):  Add cxa_demangle.c, dyn-string.c.
	Make new LTCOMPILE variable, use it in new special build rules.
	* libsupc++/Makefile.in:  Rebuild.
	* src/vterminate.cc (__verbose_terminate_handler):  Enable use of
	runtime __cxa_demangle.

	* docs/html/install.html:  Update prereqs and instructions.
	* docs/html/19_diagnostics/howto.html:  Bring naming for
	verbose_terminate_handler into line with reality.

From-SVN: r51709
2002-04-01 21:56:42 +00:00
Richard Henderson afaef72670 re PR c++/3719 (Unable to retrow exception in unexpected exception handler.)
PR c++/3719
        * libsupc++/eh_personality.cc (__cxa_call_unexpected): Copy handler
        data out of the exception struct before calling unexpectedHandler.

	* g++.dg/eh/unexpected1.C: New.

From-SVN: r51623
2002-03-30 18:56:34 -08:00
Benjamin Kosnik 34ff0b99c1 acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for signbit and __signbit directly.
2002-03-22  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for
	signbit and __signbit directly.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* libmath/Makefile.am: Simplify.
	* libmath/Makefile.in: Regenerate.
	* include/c_std/std_cmath.h: Update paths for include of cmath.tcc.

	* include/Makefile.am: Clean up handling of extra "C" header files.
	Add hooks for "C" compatibility headers.
	* include/Makefile.in: Regenerate.

	* include/c/*: Formatting tweaks, cleanups.
	* include/c_std/*: Same.

From-SVN: r51220
2002-03-23 03:19:03 +00:00
Steve Ellcey 263c6fa840 acinclude.m4 (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Define GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS to set LIBUNWIND_FLAG if...
2002-03-19  Steve Ellcey  <sje@cup.hp.com>

        * acinclude.m4 (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Define
        GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS to set LIBUNWIND_FLAG if
        --enable-libunwind-exceptions is set.
        * configure.in (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Call new
        macro to check for libunwind.
        * configure: Regenerate.
        * src/Makefile.am (libstdc___la_LDFLAGS): Add
        LIBUNWIND_FLAG to libstdc link line.
        * src/Makefile.in: Regenerate.

From-SVN: r51035
2002-03-19 19:50:30 +00:00
Jason Merrill 6afcef6bd2 re PR c++/4381 (Exceptions virtually inherited from a class cause segmentation fault at run time)
PR c++/4381
        * libsupc++/eh_personality.cc (get_adjusted_ptr): New static fn.
        (check_exception_spec): Call it.  Take the thrown pointer.
        (__cxa_call_unexpected): Pass it.
        (PERSONALITY_FUNCTION): Likewise.  Use get_adjusted_ptr.

From-SVN: r50936
2002-03-17 19:09:37 -05:00
Benjamin Kosnik ab3bc736d9 configure.in (target_alias): Default to yes.
2002-02-21  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (target_alias): Default to yes.
	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Add check for shared
	libgcc to default case.

From-SVN: r49959
2002-02-22 11:36:26 +00:00
Phil Edwards ffe94f8380 Makefile.am (doxygen, [...]): Tweak targets.
2002-01-28  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am (doxygen, doxygen-maint, doxygen-man):  Tweak targets.
	* Makefile.in:  Regenerate.

	* docs/doxygen/run_doxygen:  Update, mostly for man pages.
	* docs/doxygen/Intro.3:  Update.
	* docs/doxygen/TODO:  Update.
	* docs/doxygen/doxygroups.cc:  Add namespace hook for __gnu_cxx.
	* docs/doxygen/mainpage.doxy:  Update.
	* docs/doxygen/user.cfg.in:  Update for header rename.  Also
	regenerate comments and variables with 1.2.12.
	* docs/doxygen/maint.cfg.in:  Remove file.

	* include/bits/stl_relops.h:  Doxygenate.
	* include/bits/stl_tempbuf.h (std::_Temporary_buffer):  Likewise.

	* include/c_std/std_cassert.h, include/c_std/std_cctype.h,
	include/c_std/std_cerrno.h, include/c_std/std_cfloat.h,
	include/c_std/std_ciso646.h, include/c_std/std_climits.h,
	include/c_std/std_clocale.h, include/c_std/std_cmath.h,
	include/c_std/std_csetjmp.h, include/c_std/std_csignal.h,
	include/c_std/std_cstdarg.h, include/c_std/std_cstddef.h,
	include/c_std/std_cstdio.h, include/c_std/std_cstdlib.h,
	include/c_std/std_cstring.h, include/c_std/std_ctime.h,
	include/c_std/std_cwchar.h, include/c_std/std_cwctype.h,
	include/ext/algorithm, include/ext/functional, include/ext/hash_map,
	include/ext/hash_set, include/ext/iterator, include/ext/memory,
	include/ext/numeric, include/ext/rb_tree, include/ext/rope,
	include/ext/ropeimpl.h, include/ext/slist, include/ext/stl_hash_fun.h,
	include/ext/stl_hashtable.h, include/ext/stl_rope.h,
	include/std/std_algorithm.h, include/std/std_bitset.h,
	include/std/std_complex.h, include/std/std_deque.h,
	include/std/std_fstream.h, include/std/std_functional.h,
	include/std/std_iomanip.h, include/std/std_ios.h,
	include/std/std_iosfwd.h, include/std/std_iostream.h,
	include/std/std_istream.h, include/std/std_iterator.h,
	include/std/std_limits.h, include/std/std_list.h,
	include/std/std_locale.h, include/std/std_map.h,
	include/std/std_memory.h, include/std/std_numeric.h,
	include/std/std_ostream.h, include/std/std_queue.h,
	include/std/std_set.h, include/std/std_sstream.h,
	include/std/std_stack.h, include/std/std_stdexcept.h,
	include/std/std_streambuf.h, include/std/std_string.h,
	include/std/std_utility.h, include/std/std_valarray.h,
	include/std/std_vector.h:  Add/correct @file doxygen hook.

	* include/ext/memory:  Doxygenate most of rest of file.
	* libsupc++/exception:  Doxygen output formatting.
	* libsupc++/new:  Say which header it is.

	* testsuite/lib/libstdc++-v3-dg.exp:  Fix spacing.
	* docs/html/19_diagnostics/howto.html:  Describe concept-checks switch.
	* docs/html/23_containers/howto.html:  Describe O(n) list::size().
	* docs/html/27_io/howto.html:  Also link to Langer and Kreft text.

From-SVN: r49300
2002-01-28 22:13:12 +00:00
Benjamin Kosnik aefb3380dd signbitl.c: Copyright years as list, not range.
2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* libmath/signbitl.c: Copyright years as list, not range.
	* libmath/Makefile.am: Same.
	* libmath/Makefie.in: Regenerate.
	* libmath/signbit.c: Same.
	* libmath/nan.c: Same.
	* libmath/copysignf.c: Same.
	* libmath/signbitf.c: Same.
	* testsuite/22_locale/money_get_members_char.cc: Same.
	* testsuite/22_locale/money_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/money_put_members_char.cc: Same.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_get_members_char.cc: Same.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_put_members_char.cc: Same.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Same.
	* testsuite/21_strings/nonmember.cc: Same.
	* testsuite/21_strings/compare.cc: Same.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.
	* testsuite/27_io/filebuf.cc: Same.
	* testsuite/27_io/ios_manip_basefield.cc: Same.
	* testsuite/27_io/ios_manip_fmtflags.cc: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/generic_shadow.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/bits/valarray_array.tcc: Same.
	* include/bits/valarray_meta.h: Same.
	* include/bits/valarray_array.h: Same.
	* config/os/mingw32/bits/ctype_noninline.h: Same.
	* config/os/mingw32/bits/ctype_base.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_base.h: Same.
	* config/os/gnu-linux/bits/ctype_noninline.h: Same.
	* config/os/gnu-linux/bits/ctype_base.h: Same.
	* config/os/generic/bits/ctype_noninline.h: Same.
	* config/os/generic/bits/ctype_base.h: Same.

	* libsupc++/tinfo.h: Tweaks.

From-SVN: r48922
2002-01-16 19:57:39 +00:00
Paolo Carlini e05cd3dd3a exception (bad_exception): Add comment.
2002-01-09  Paolo Carlini <pcarlini@unitus.it>

        * libsupc++/exception (bad_exception): Add comment.
        * libsupc++/new (bad_alloc): Same.
        * libsupc++/typeinfo (bad_cast): Same.
        (bad_typeid): Same.

From-SVN: r48700
2002-01-09 23:31:57 +00:00
Paolo Carlini d66ae36a8b libstdc++/3150: revert 2001-11-30 commit.
2002-01-09  Paolo Carlini <pcarlini@unitus.it>

	libstdc++/3150: revert 2001-11-30 commit. DR266 only means
	that the destructors should be removed from the descriptions
	in the standard: writing them explicitly allows the vtable
	heuristic to work. For additional information see:
	http://gcc.gnu.org/ml/libstdc++/2002-01/msg00090.html
	http://gcc.gnu.org/ml/libstdc++/2002-01/msg00110.html
	http://gcc.gnu.org/ml/libstdc++/2002-01/msg00155.html
	* libsupc++/exception (bad_exception::~bad_exception()):
	Reintroduce declaration.
	* libsupc++/new (bad_alloc::~bad_alloc()): Same.
	* libsupc++/typeinfo (bad_cast::~bad_cast()): Same.
	(bad_typeid::~bad_typeid()): Same.
	* libsupc++/eh_exception.cc (bad_exception::~bad_exception()):
	Reintroduce definition.
	* libsupc++/new_handler.cc (bad_alloc::~bad_alloc()): Same.
	* libsupc++/tinfo.cc (bad_cast::~bad_cast()): Same.
	(bad_typeid::~bad_typeid()): Same.

From-SVN: r48687
2002-01-09 20:39:27 +00:00
Benjamin Kosnik af46cdde20 exception (bad_exception::~bad_exception()): Remove declaration.
2001-11-30  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3150
	DR/266
	* libsupc++/exception (bad_exception::~bad_exception()): Remove
	declaration.
	* libsupc++/new (bad_alloc::~bad_alloc()): Remove.
	* libsupc++/typeinfo (bad_cast::~bad_cast()): Remove.
	(bad_typeid::~bad_typeid()): Remove.
	* libsupc++/tinfo.cc (bad_cast::~bad_cast()): Remove definition.
	(bad_typeid::~bad_typeid()): Same.
	* libsupc++/new_handler.cc (bad_alloc::~bad_alloc()): Same.
	* libsupc++/eh_exception.cc (bad_exception::~bad_exception()): Same.

	* include/bits/std_iomanip.h: Tweak.

From-SVN: r47505
2001-12-01 04:56:03 +00:00
Jason Merrill afb0141fbd vterminate.cc (__verbose_terminate_handler): Add leading underscores.
* src/vterminate.cc (__verbose_terminate_handler): Add leading
        underscores.

From-SVN: r47292
2001-11-23 12:36:43 -05:00
Joseph Myers c5504edb75 ChangeLog, [...]: Fix spelling errors.
* ChangeLog, docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
	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.

From-SVN: r47291
2001-11-23 16:29:02 +00:00
Phil Edwards 1b4a6975f7 Intro.3: More notes.
2001-11-19  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/Intro.3:  More notes.
	* docs/doxygen/style.css:  Update to default style from Doxygen 1.2.10.
	* include/bits/stl_algobase.h:  Add doxygen hooks for functions.
	* include/ext/hash_map:  Add @file hook.
	* include/ext/hash_set:  Likewise.
	* include/ext/rope:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.

	* docs/html/17_intro/license.html:  Remove "experimental" sentence.
	* docs/html/19_diagnostics/howto.html:  Document new verbose
	terminate handler.
	* testsuite/27_io/filebuf.cc:  Fix comment, move tweakable parameter
	to more visible (closer to description) position.

	* libsupc++/eh_type.cc:  Formatting tweak.
	* libsupc++/exception:  Likewise.
	* src/vterminate.cc:  Likewise.

	* docs/html/17_intro/porting.html:  Regenerate.
	* docs/html/faq/index.txt:  Regenerate.

From-SVN: r47193
2001-11-20 00:51:37 +00:00
Jason Merrill 74a3070ffa eh_personality.cc (__cxa_call_unexpected): Take void*.
* libsupc++/eh_personality.cc (__cxa_call_unexpected): Take void*.
        * 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.

From-SVN: r47132
2001-11-17 21:09:23 -05:00
Benjamin Kosnik 322821b9ad Make -fno-exceptions work.
2001-10-23  Benjamin Kosnik  <bkoz@redhat.com>

	Make -fno-exceptions work.
	* config/locale/c_locale_gnu.cc: Use functexcept.
	* include/bits/c++config (__stl_assert): Remove.
	(__STL_USE_EXCEPTIONS): Same.
	(__STL_TRY): Same.
	(__STL_CATCH_ALL): Same.
	(__STL_THROW): Same.
	(__STL_RETHROW): Same.
	(__STL_NOTHROW): Same.
	(__STL_UNWIND): Same.
	* include/bits/pthread_allocimpl.h: Fix.
	* include/bits/std_bitset.h: Same.
	* include/bits/std_list.h: Same.
	* include/bits/std_memory.h: Same.
	* include/bits/std_queue.h: Same.
	* include/bits/stl_alloc.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/stl_tree.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/ext/ropeimpl.h: Same.
	* include/ext/slist: Same.
	* include/ext/stl_hashtable.h: Same.
	* include/ext/stl_rope.h: Same.
	* libsupc++/new_op.cc: Include cstdlib.
	* libsupc++/eh_personality.cc: Add exception_defines include. Use
	__throw_exception_again, tweak.
	* libsupc++/eh_aux_runtime.cc: Include stdlib for abort.
	* libsupc++/vec.cc: Tweak.
	* src/functexcept.cc: Remove unused arguments.
	* testsuite/23_containers/bitset_members.cc: Tweak.

From-SVN: r46455
2001-10-24 02:37:56 +00:00
Benjamin Kosnik f295ecef02 limits.h: Move to...
2001-10-22  Benjamin Kosnik  <bkoz@redhat.com>

	* config/cpu/i386/bits/limits.h: Move to...
	* config/cpu/i386/bits/cpu_limits.h: ...here.
	* config/cpu/cris/bits/cpu_limits.h: Same.
	* config/cpu/powerpc/bits/cpu_limits.h: Same.
	* config/cpu/x86-64/bits/cpu_limits.h: Same.
	* config/cpu/alpha/bits/cpu_limits.h: New.
	* config/cpu/m68k/bits/cpu_limits.h: New.
	* config/cpu/s390/bits/cpu_limits.h: New.
	* config/os/aix/bits/os_defines.h: Tweaks.
	* config/os/bsd/freebsd/bits/os_defines.h: Same.
	* config/os/bsd/netbsd/bits/os_defines.h: Same.
	* config/os/djgpp/bits/os_defines.h: Same.
	* config/os/generic/bits/os_defines.h: Same.
	* config/os/gnu-linux/bits/os_defines.h: Same.
	* config/os/hpux/bits/os_defines.h: Same.
	* config/os/irix/irix5.2/bits/os_defines.h: Same.
	* config/os/irix/irix6.5/bits/os_defines.h: Same.
	* config/os/newlib/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.5/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.6/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.7/bits/os_defines.h: Same.

	* include/bits/c++config: Remove include.
	* include/bits/limits_generic.h: Remove.
	* include/bits/std_limits.h: Include cpu_limits.h.
	* include/Makefile.am: Fixup.
	* src/limits.cc: Tweak.
	* src/limits_generic.cc: Remove.
	* src/gen-num-limits.cc: Remove.
	* mknumeric_limits: Remove.

From-SVN: r46445
2001-10-23 21:40:31 +00:00
Benjamin Kosnik da5c0f6ef5 time_members_gnu.h: Remove.
2001-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/time_members_gnu.h: Remove.
	* config/locale/time_members_generic.h: Remove.
	* config/locale/time_members_gnu.cc (__timepunct::_M_put_helper): Add.
	* config/locale/time_members_generic.cc: Same.
	* include/bits/locale_facets.h: Add data members.
	(__timepunct::_M_put_helper): Change signature.
	(__timepunct::_M_date_formats): Same.
	(__timepunct::_M_time_formats): Same.
	(__timepunct::_M_ampm): Add.
	(__timepunct::_M_date_time_formats): Add.
	(time_get::_M_extract_via_format): Add.
	(time_get::_M_extract_time): Change to...
	(time_get::_M_extract_num): ... this, modify signature.
	* include/bits/locale_facets.tcc (time_get::do_get_year): Fix.
	(time_get::do_get_time): Fix.
	(time_get::do_get_date): Fix.

	* acinclude.m4: Remove CTIME_H.
	* aclocal.m4: Regenerate.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.

	* testsuite/22_locale/time_get_members_char.cc: Fix.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Add.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Add.

From-SVN: r45966
2001-10-02 18:44:50 +00:00
Phil Edwards 77cd227ec3 howto.html: Add anchor name.
2001-09-25  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/20_util/howto.html:  Add anchor name.
	* docs/html/23_containers/howto.html:  Line wrapping, another link.
	* docs/html/25_algorithms/howto.html:  Another note.

	* docs/html/ext/howto.html:  Link to SGI extensions.  List DRs and
	link to them...
	* docs/html/ext/lwg-active.html:  ...in this new file (from R19),
	* docs/html/ext/lwg-defects.html:  and this new file (from R19).
	* docs/html/ext/sgiexts.html:  New file.  Mention SGI extensions
	carried over to libstdc++-v3.
	* docs/html/faq/index.html:  Link to SGI extensions.  Mention the
	"missing .." pseudobug.
	* docs/html/faq/index.txt:  Regenerate.

	* include/bits/ios_base.h:  DR-related comment cleanup.
	* include/bits/istream.tcc:  Likewise.
	* include/bits/locale_facets.h:  Likewise.
	* include/bits/locale_facets.tcc:  Likewise.
	* include/bits/ostream.tcc:  Likewise.
	* include/bits/std_bitset.h:  Likewise.
	* include/bits/std_iosfwd.h:  Likewise.
	* include/bits/std_istream.h:  Likewise.
	* include/bits/std_ostream.h:  Likewise.
	* include/bits/std_streambuf.h:  Likewise.
	* include/bits/stl_pair.h:  Likewise.
	* include/bits/streambuf_iterator.h:  Likewise.

	* include/bits/std_map.h:  Remove unused header inclusion guard
	_CPP_BITS_STL_TREE_H from around bits/stl_tree.h.
	* include/bits/std_set.h:  Likewise.

	* include/bits/stl_function.h:  Doxygen markup.
	* docs/doxygen/doxygroups.cc:  New file, specifying module grouping.
	* libsupc++/typeinfo:  Doxygen markup tweak.

From-SVN: r45816
2001-09-25 23:51:17 +00:00
Benjamin Kosnik e08138aae3 Implement std::time_put.
2001-09-19  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::time_put.
	* include/bits/locale_facets.h: Include time_members.h.
	(__timepunct): New.
	(time_put): Implement.
	* include/bits/locale_facets.tcc (do_put): Put generic versions here.
	* include/bits/localefwd.h: Bump number of facets.
	* config/locale/time_members_generic.h: New file.
	* config/locale/time_members_gnu.h: New file.
	* config/locale/c_locale_generic.h: Include clocale.
	* src/locale-inst.cc: Add use_facet instantiations for __timepunct.
	* src/locale.cc: Add __timepunct initializations.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t)): Same.
	* include/Makefile.am (stamp-target): Add time_members.h.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_H.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/time_put.cc: New file.
	* testsuite/22_locale/time_put_members_char.cc: New file.

	* docs/html/22_locale/locale.html: Add note.

From-SVN: r45702
2001-09-20 08:30:01 +00:00
Benjamin Kosnik 89c06d5007 Makefile.am (stamp-target): Remove link to self.
2001-09-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (stamp-target): Remove link to self.
	* inclulde/Makefile.in: Regenerate.

From-SVN: r45514
2001-09-10 18:13:17 +00:00
Phil Edwards 2d25bf5d52 testsuite_flags.in: No longer need to search testsuite builddir.
2001-09-05  Phil Edwards  <pme@sources.redhat.com>

	* testsuite_flags.in:  No longer need to search testsuite builddir.
	* src/stl-inst.cc (__sink_unused_warning):  Unused, remove.
	* Makefile.am:  The testsuite directory never needs to be made here.
	* Makefile.in:  Regenerate.
	* include/Makefile.in:  Regenerate.
	* libio/Makefile.in:  Regenerate.
	* libmath/Makefile.in:  Regenerate.
	* libsupc++/Makefile.in:  Regenerate.
	* po/Makefile.in:  Regenerate.
	* src/Makefile.in:  Regenerate.
	* testsuite/Makefile.in:  Regenerate.

From-SVN: r45426
2001-09-05 22:38:06 +00:00
Richard Sandiford 320daf529e eh_personality.cc (parse_lsda_header): Change type of tmp from _Unwind_Ptr to _Unwind_Word.
* libsupc++/eh_personality.cc (parse_lsda_header): Change type of
	tmp from _Unwind_Ptr to _Unwind_Word.

From-SVN: r45360
2001-09-03 12:24:24 +00:00
Jason Merrill 6c8d43e78d exception.cc (PERSONALITY_FUNCTION): Simplify leb128 handling.
* exception.cc (PERSONALITY_FUNCTION): Simplify
        leb128 handling.

From-SVN: r45317
2001-08-31 08:27:32 -04:00
Jason Merrill a9985a921e unwind-pe.h (read_uleb128, [...]): Move actual reading code here.
* unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
        code here.  Take _Unwind_{W,Sw}ord*.
        (read_encoded_value_with_base): Use them.
        * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
        words.
        (extract_cie_info): Simplify read_?leb128 handling.
        (execute_stack_op, execute_cfa_program): Likewise.
        * unwind-dw2-fde.c (get_cie_encoding): Likewise.

        * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Simplify
        leb128 handling.

From-SVN: r45315
2001-08-31 05:49:13 -04:00
Benjamin Kosnik 4e10943dda configure.in (libtool_VERSION): Add.
2001-08-13  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (libtool_VERSION): Add.
	(VERSION): Change to
	(release_VERSION): This.
	* configure: Regenerate.
	* src/Makefile.am (libstdc___la_LDFLAGS): Use -version-info with
	libtool_VERSION.
	* src/Makefile.in: Regenerate.

	* intl/Makefile.am: Remove.
	* intl/Makefile.in: Remove.
	* intl: Remove.
	* Makefile.am (SUBDIRS): Remove intl.
	* po/Makefile.am (DISTFILES): Add string_literals.cc
	(MSGFMT): Add.
	* po/string_literals.cc: Add.
	* po/POTFILES.in: Fix path.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't call AM_GNU_GETTEXT.
	* aclocal.m4: Regenerate.
	* configure.in: Remove AC_OUTPUT of intl/Makefile.

	* include/backward/backward_warning.h: Clarify message.

	* testsuite_flags.in (--cxxflags): Use same debug flags for
	library and testsuite.

	* include/Makefile.am (c_compatibility): Remove.
	* include/Makefile.in: Regenerate.

From-SVN: r44880
2001-08-14 01:24:30 +00:00
Mark Mitchell 9f3c078ea9 configure.in (LIMITS_INC_SRCDIR): New variable.
* configure.in (LIMITS_INC_SRCDIR): New variable.
	* configure.target (LIMITSH): New variable.
	* porting.texi: Discuss numeric limits.
	* config/cpu/generic/bits/limits.h: New file.
	* config/cpu/i386/bits/limits.h: New file.
	* include/Makefile.am: Install bits/limits.h.
	* include/bits/c++config: Include bits/limits.h.

From-SVN: r44877
2001-08-13 22:26:11 +00:00
Benjamin Kosnik 58b08ac3e1 acconfig.h (_GLIBCPP_MEM_LIMITS): Define.
2001-08-09  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (_GLIBCPP_MEM_LIMITS): Define.
	* config.h.in: Regenerate.
	* acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT): Check for setrlimit
	function.
	* aclocal.m4: Regenerate.
	* configure.in: Remove duplicate AM_CONFIG_HEADER.
	(AM_CONFIG_HEADER): Remove testsuite/testsuite_hooks.h.
	Only call GLIBCPP_CHECK_SETRLIMIT for native compiles.
	* configure: Regenerate.
	* testsuite_hooks.h.in: Move to...
	* testsuite_hooks.h: Here, include c++config.h. Use it.

	* Makefile.am (SUBDIRS): Move testsuite to last directory.
	* Makefile.in: Regenerate.
	* po/Makefile.am (stamp-po): Add.

From-SVN: r44752
2001-08-10 06:50:34 +00:00