Commit Graph

34 Commits

Author SHA1 Message Date
Nobody 791447f986 libstdc++-v3 with MCST patches 2022-08-11 23:09:28 +03:00
Jakub Jelinek cbe34bb5ed Update copyright years.
From-SVN: r243994
2017-01-01 13:07:43 +01:00
Jakub Jelinek 818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Jakub Jelinek 5624e564d2 Update copyright years.
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Richard Sandiford aa118a03c4 Update copyright years in libstdc++-v3/
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Richard Sandiford 405feeb871 Update copyright in libstdc++-v3.
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Paolo Carlini 370d8a3d6b re PR libstdc++/52562 ([C++11] Most type_info functions not noexcept)
2012-03-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/52562
	* libsupc++/typeinfo (type_info::name, before, operator==,
	operator!=): Mark noexcept in C++11 mode.
	* libsupc++/tinfo.cc (type_info::operator==): Adjust.
	* libsupc++/tinfo2.cc (type_info::before): Likewise.
	* testsuite/18_support/type_info/52562.cc: New.

From-SVN: r185235
2012-03-12 15:12:40 +00:00
Marcus Shawcroft 16fa5e238a tinfo.cc (type_info::operator==): Test __name instead of name().
2011-09-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* libsupc++/tinfo.cc (type_info::operator==): Test __name instead
	of name().

From-SVN: r179236
2011-09-27 06:03:58 +00:00
Jerry Quinn 52669d592b mangle.c (mangle_type_string_for_rtti): Reapply 153734.
/gcc/cp
2009-10-30  Jerry Quinn  <jlquinn@optonline.net>

	* mangle.c (mangle_type_string_for_rtti): Reapply 153734.
	(needs_fake_anon): Likewise.
	(write_name): Likewise.
	(write_nested_name): Likewise.
	* cp-tree.h (mangle_type_string_for_rtti): Likewise.
	(get_anonymous_namespace): Likewise.
	* name-lookup.c (get_anonymous_namespace_name): Likewise.
	* rtti.c (tinfo_name): Likewise, with +1 in the second 
	build_string call fixed.
	(tinfo_base_init): Likewise.

libstdc++/
2009-10-30  Jerry Quinn  <jlquinn@optonline.net>

	* libsupc++/tinfo.cc (operator=(const type_info&)): Reapply 153734.
	* libsupc++/typeinfo (type_info::name()): Likewise.
	* libsupc++/tinfo2.cc (before):  Likewise.

From-SVN: r153768
2009-10-30 22:23:59 +00:00
Jerry Quinn 2ea9fa8a9b tinfo.cc (operator=(const type_info&)): Revert 153734.
2009-10-30  Jerry Quinn  <jlquinn@optonline.net>

	* libsupc++/tinfo.cc (operator=(const type_info&)): Revert 153734.
	* libsupc++/typeinfo (type_info::name()): Likewise.
	* libsupc++/tinfo2.cc (before):  Likewise.

2009-10-30  Jerry Quinn  <jlquinn@optonline.net>

	* mangle.c (mangle_type_string_for_rtti): Revert 153734.
	(needs_fake_anon): Likewise.
	(write_name): Likewise.
	(write_nested_name): Likewise.
	* cp-tree.h (mangle_type_string_for_rtti): Likewise.
	(get_anonymous_namespace): Likewise.
	* name-lookup.c (get_anonymous_namespace_name): Likewise.
	* rtti.c (tinfo_name): Likewise.
	(tinfo_base_init): Likewise.

From-SVN: r153742
2009-10-30 12:20:38 +00:00
Jerry Quinn 1e43a145b1 mangle.c (mangle_type_string_for_rtti): Revert r149964.
2009-10-28  Jerry Quinn  <jlquinn@optonline.net>

	* mangle.c (mangle_type_string_for_rtti): Revert r149964.
	(needs_fake_anon): Likewise.
	(write_name): Likewise.
	(write_nested_name): Likewise.
	* cp-tree.h (mangle_type_string_for_rtti): Likewise.
	(get_anonymous_namespace): Likewise.
	* name-lookup.c (get_anonymous_namespace_name): Likewise.
	* rtti.c (tinfo_name): Insert '*' in front of private names.
	(tinfo_base_init): Use it.

2009-10-28  Jerry Quinn  <jlquinn@optonline.net>

	* libsupc++/tinfo.cc (operator=(const type_info&)): Compare by
	pointer if name begins with '*'.
	* libsupc++/typeinfo (type_info::name()): Likewise.
	* libsupc++/tinfo2.cc (before):  Likewise.

From-SVN: r153734
2009-10-30 05:17:50 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Benjamin Kosnik f68147f702 new: Remove pragma interface.
2001-03-13  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/new: Remove pragma interface.
	* libsupc++/typeinfo: Same.
	* libsupc++/exception: Same.
	* libsupc++/new_handler.cc: Remove pragma implementation.
	(bad_alloc::~bad_alloc()): Add.
	* libsupc++/exception_support.cc: Same.
	(exception::~exception): Add.
	(bad_exception::~bad_exception): Add.
	* libsupc++/tinfo.cc: Same.
	(bad_cast::~bad_cast): Add.
	(bad_typeid::~bad_typeid): Add.

From-SVN: r40442
2001-03-13 19:32:00 +00:00
Mark Mitchell 94083e5ddb Remove old ABI support from libsupc++.
* libsupc++/cxxabi.h: Remove conditionally compiled code.
	* libsupc++/exception_support.cc: Likewise.
	* libsupc++/pure.cc: Likewise.
	* libsupc++/tinfo.cc: Likewise.
	* libsupc++/tinfo.h: Likewise.
	* libsupc++/tinfo2.cc: Likewise.
	* libsupc++/typeinfo: Likewise.
	* libsupc++/vec.cc: Likewise.

From-SVN: r39732
2001-02-16 01:26:14 +00:00
Benjamin Kosnik e2c094827c Add support for -fno-exceptions.
2001-02-15  Benjamin Kosnik  <bkoz@redhat.com>

	Add support for -fno-exceptions.
	* include/bits/exception_support.h: Remove.
	* include/bits/basic_string.h: Remove exception_support.
	(string::_M_check): Replace __OUTOFRANGE with __throw_out_of_range.
	(string::at): Same.
	(string::substr): Same.
	* include/bits/basic_string.tcc (string::reserve): Replace
	__LENGTHERROR with __throw_length_error.
	(string::_S_create): Same.
	(string::resize): Same.
	(string::_M_replace): Same.
	(string::replace): Same.
	(string::copy): Replace __OUTOFRANGE with __throw_out_of_range.
	(string::compare): Same.
	* include/bits/stl_vector.h: Remove exception_support.
	* src/Makefile.am (base_headers): Remove here.
	* src/Makefile.in: Regenerate.

	* include/bits/stl_range_errors.h: Remove.
	* include/bits/stl_deque.h: Use __throw_range_error.
	* include/bits/std_deque.h: Include functexcept.h.
	* include/bits/std_vector.h: Same.
	* src/Makefile.am (base_headers): Remove here.
	* src/Makefile.in: Regenerate.
	* include/ext/stl_bvector.h (class __BVECTOR): Use __throw_range_error.
	* include/ext/bvector: Remove stl_range_errors.h

	* include/bits/c++config (_GLIBCPP_USE_EXCEPTIONS): Remove.

	* include/bits/functexcept.h: New file.
	* src/functexcept.cc: New file. Definitions for function-based
	exception routines.
	* src/Makefile.am (sources): Add functexcept.cc.
	* src/Makefile.in: Regenerate.

	* include/bits/stl_config.h (__STL_USE_EXCEPTIONS): Wrap with
	__EXCEPTIONS.

	* include/bits/localefwd.h: Include functexcept.h.
	* include/bits/std_iosfwd.h: Same.

	* include/bits/basic_ios.h: Use __throw_ios_failure instead of
	throw basic_ios::failure.
	* include/bits/fstream.tcc (filebuf::_M_allocate_buffers):
	Use __throw_exception_again.
	(filebuf::_M_filebuf_init): Same.
	* include/bits/streambuf.tcc (__copy_streambufs): Same.
	* include/bits/ostream.tcc (ostream::operator<<): Same.
	* include/bits/istream.tcc (istream::operator>>): Same.
	* include/bits/basic_string.tcc (string::_M_mutate): Same.
	(string::_S_construct): Same.
	(string::_M_clone): Same.
	* include/bits/locale_facets.tcc (use_facet(const locale&)): Use
	__throw_bad_cast.
	(num_put<_CharT, _OutIter>::do_put): Use __throw_exception_again.
	* src/localename.cc (locale::_Imp::_Imp(const _Impl&, size_t): Use
	__throw_exception_again.
	(locale::_Imp::_Imp(string, size_t): Same.
	(locale::_Imp::_M_replace_facet): Use __throw_runtime_error.
	* src/locale.cc (locale::_M_coalesce): Use __throw_exception_again.
	(locale::locale(const char*)): Use __throw_runtime_error.
	(locale::classic): Use __throw_exception_again.
	(locale::_S_normalize_category): Use __throw_runtime_error.

	* src/stdexcept.cc: Remove cruft.

	* libsupc++/exception_defines.h: New file.
	* libsupc++/new_opnt.cc: Include exception_defines.h.
	* libsupc++/vec.cc: Same.
	(__cxa_vec_new2): Use __throw_exception_again.
	(__cxa_vec_new3): Same.
	(__cxa_vec_ctor): Same.
	(__cxa_vec_delete3): Same.
	(__cxa_vec_cctor): Same.
	(__cxa_vec_delete2): Same.
	(__cxa_vec_dtor): Same.
	* libsupc++/exception_support.cc: Include exception_defines.h. Only
	compile exception-handling bits if __EXCEPTIONS is defined.
	Remove old ABI support.
	* libsupc++/new_op.cc (new): Include exception_defines.h. Use
	std::__throw_bad_alloc() instead of throw bad_alloc.
	* libsupc++/Makefile.am: Add exception_defines.h.
	* libsupc++/Makefile.in: Reformat.
	* libsupc++/*: Format.

From-SVN: r39730
2001-02-16 00:44:44 +00:00
Mark Mitchell 0f0b2faf47 typeinfo (__GXX_MERGED_TYPEINFO_NAMES): New macro.
* libsupc++/typeinfo (__GXX_MERGED_TYPEINFO_NAMES): New macro.
	* libsupc++/tinfo.cc (std::typeinfo::operator==): Use strcmp
	whenever !__GXX_MERGED_TYPEINFO_NAMES.
	* libsupc++/tinfo2.cc (std::typeinfo::before): Likewise.

From-SVN: r39438
2001-02-04 08:37:50 +00:00
Benjamin Kosnik 6b76f569a3 [multiple changes]
2000-10-21  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* docs/links.html: Add links to defects list, standards FAQ.

	* testsuite/21_strings/ctor_copy_dtor.cc (test01): Disable tests
	with string creation that allocate huge ammounts of memory.

	* include/c/bits/std_cstddef.h: Put size_t, ptrdiff_t in
	namepace std.

2000-10-21  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>

    	* libsupc++/exception.cc: Use namespace std.
    	* libsupc++/new: DITTO.
    	* libsupc++/new_op.cc: DITTO.
    	* libsupc++/new_opnt.cc: DITTO.
    	* libsupc++/new_opv.cc: DITTO.
    	* libsupc++/new_opvnt.cc: DITTO.
    	* libsupc++/tinfo.cc: DITTO.
    	* libsupc++/tinfo.h: DITTO.
    	* libsupc++/vec.cc: DITTO.
    	* libsupc++/Makefile.am: Blank lines removal.

From-SVN: r36995
2000-10-21 16:50:29 +00:00
Benjamin Kosnik 06bd10fb63 libsupc++: New directory.
2000-10-06  Benjamin Kosnik  <bkoz@cygnus.com>
            Richard Henderson  <rth@cygnus.com>
	    Alexandre Oliva  <aoliva@redhat.com>

	* libsupc++: New directory.
	* libsupc++/*: Populate.
	* libsupc++/Makefile.am (INCLUDES): Add -I../../gcc for
	eh-common.h, gansidecl.h.
	* configure.in: Add in libsupc++/Makefile to AC_OUTPUT.
	* configure: Regenerate.
	* Makefile.am (SUBDIRS): Add libsupc++.
	* Makefile.in: Regenerate.
	* src/Makefile.am (libstdc___la_LIBADD): Add in libsupc++.la
	* src/Makefile.in: Regenerate.
	* libio/Makefile.am: Remove extraneous, confusing bits.
	* libio/Makefile.in: Regeneate.

From-SVN: r36763
2000-10-06 23:31:22 +00:00