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
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
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
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
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
Phil Edwards
669f7a035a
run_doxygen: Don't keep output from previous run.
...
2001-07-11 Phil Edwards <pme@sources.redhat.com>
* docs/doxygen/run_doxygen: Don't keep output from previous run.
* docs/doxygen/user.cfg.in: Tweaks.
* include/bits/c++config: Documentation comments for Doxygen.
* include/bits/char_traits.h: Likewise.
* include/bits/limits_generic.h: Likewise.
* include/bits/std_stdexcept.h: Likewise.
* include/bits/stl_pair.h: Likewise.
* libsupc++/exception: Likewise.
* libsupc++/new: Likewise.
* libsupc++/typeinfo: Likewise.
* libmath/Makefile.am: Update and correct copyright.
From-SVN: r43948
2001-07-11 19:35:49 +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
d34786e3fe
ios_base.h (ios_base::failure): Tighten up throw specs.
...
2001-01-16 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/1605
* include/bits/ios_base.h (ios_base::failure): Tighten up throw specs.
* src/ios.cc (ios_base::failure): Make definitions match.
* libsupc++/typeinfo (class bad_typeid): Add throw specs.
(class bad_cast): Same.
* libsupc++/exception (class exception): Add throw specs.
* libsupc++/exception_support.cc (set_terminate): Add throw specs.
(set_unexpected): Same.
(uncaught_exception): Same.
(what): Same.
* docs/html/17_intro/C++STYLE (classname): Fix.
From-SVN: r39087
2001-01-17 07:44:57 +00:00
Benjamin Kosnik
6305f20ac3
Makefile.am (LIBSUPCXX_INCLUDES): Adjust.
...
2000-10-10 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* Makefile.am (LIBSUPCXX_INCLUDES): Adjust.
* libsupc++/include: Remove
* libsupc++/include/*: Move to ...
* libsupc++: Here.
* libsupc++/Makefile.am (glibcppinstall_HEADERS): Install headers.
(glibcppinstalldir): New.
* src/Makefile.am (c_base_headers): New.
(c_shadow_headers): New
(c_headers): New.
(myinstallheaders): Correct install issues.
* src/Makefile.in: Regenerate.
* Makefile.am (CSHADOW_INCLUDES): Simplify.
* Makefile.in: Regenerate.
* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add c_include_dir.
* aclocal.m4: Regenerate.
* mkcheck.in (SRC_DIR): Use it.
* include/bits/std_stdexcept.h: And here.
* include/bits/std_ios.h: Change std_exception.h to exception.
* src/locale.cc: And here.
* src/locale-inst.cc: And here.
* include/bits/valarray_array.h: And here.
* include/bits/stl_alloc.h: And here.
* include/bits/stl_algobase.h: And here.
* include/bits/pthread_allocimpl.h: And here.
* include/bits/stl_construct.h: Change to std_new.h to new.
* include/bits/locale_facets.h: Change std_typeinfo.h to typeinfo.
* src/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES.
(headers): Remove duplicated headers.
(std_headers): And here.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am (LIBSUPCXX_INCLUDES): Remove.
* libsupc++/Makefile.in: Regenerate.
* Makefile.am (LIBSUPCXX_INCLUDES): Add here.
(AM_MAKEFLAGS): And here.
* Makefile.in: Regenerate.
* include/bits/std_typeinfo.h: Remove.
* include/bits/std_new.h: Remove
* include/bits/std_exception.h: Remove.
* std/new: Remove.
* std/typeinfo: Remove.
* std/exception: Remove.
* libio/_G_config.h (__need_ptrdiff_t): Add.
* libsupc++/include/new: Change stddef.h to cstddef.
* libsupc++/tinfo.h: Change limits.h to climits.
* libsupc++/pure.cc: Comment out _GNU_LIBRARY_ bits, as this
renders the file uncompilable. Add copyright.
* include/c_std/bits/std_cstddef.h: Don't bring wchar_t into std
namespace, as it is a fundamental type.
From-SVN: r36832
2000-10-10 23:43:26 +00:00