* include/bits/stl_threads.h (_Atomic_swap): New function.
(_Swap_lock_struct<__dummy>::_S_swap_lock): New data.
* testsuite/ext/rope.cc: New file.
From-SVN: r45999
2001-09-20 Scott Johnston <scott@accom.com>
Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
* include/backward/alloc.h: Conditionally define malloc_alloc
* testsuite/backward/header_deque_h.cc: New file.
2001-09-20 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
* libstdc++-v3/include/bits/locale_facets.tcc (money_put::do_put):
change variable name so that it works with -fno-for-scope.
From-SVN: r45704
2001-09-13 Alexandre Petit-Bianco <apbianco@redhat.com>
* testsuite/22_locale/money_get_members_char.cc: Fixed typo in comment.
* testsuite/22_locale/money_put_members_char.cc: Likewise.
* testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.
(If only spelling them right would make them go away...)
From-SVN: r45592
2001-09-13 Benjamin Kosnik <bkoz@redhat.com>
Implement std::money_get.
* include/bits/locale_facets.tcc (money_get::do_get): Implement.
* include/bits/locale_facets.h (money_get): Correct signatures.
* testsuite/22_locale/money_get.cc: New file.
* testsuite/22_locale/money_get_members_char.cc: New file.
* include/bits/locale_facets.tcc (__verify_grouping): New
function. Consolidate num_get and money_get group checking into
one function.
(money_get): Use it.
* src/locale.cc (num_get::_M_extract): Use it.
* src/locale-inst.cc: Add instantiation.
From-SVN: r45585
2001-09-09 Benjamin Kosnik <bkoz@redhat.com>
Implement std::money_put.
* include/bits/locale_facets.h
(moneypunct::_M_initialize_moneypunct): Split up specializations
to account for _Intl. More grody hacking to get around the
ill-considered use of const bool as a template parameter.
* config/locale/moneypunct_members_gnu.cc: And here.
* config/locale/moneypunct_members_generic.cc: And here.
* testsuite/22_locale/moneypunct_members_char.cc: Add tests.
* testsuite/22_locale/moneypunct.cc: Add tests.
* testsuite/22_locale/money_put_members_wchar_t.cc: New file.
* testsuite/22_locale/moneypunct_members_wchar_t.cc: New file.
* src/locale.cc (money_base::_S_construct_pattern): Move into
gnu-specific file.
* config/locale/moneypunct_members_gnu.cc: Add here.
* config/locale/moneypunct_members_generic.cc: Add generic version
here.
* include/bits/locale_facets.tcc (money_put::do_put): Move member
function definitions here.
* include/bits/locale_facets.h (money_put): Implement.
* src/locale-inst.cc: Add use_facet instantiations for moneypunct.
Correct money_get, money_put instantiations.
* src/locale.cc (money_base::_S_construct_pattern): Handle case
where __posn == 0.
* testsuite/22_locale/money_put_members_char.cc: Add tests.
From-SVN: r45496
2001-09-04 Scott Johnston <scott@accom.com>
Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
* include/backward/iterator.h: Include <bits/std_iterator.h>,
remove reverse_bidirectional_iterator.
* testsuite/backward: New directory.
* testsuite/backward/header_iterator_h.cc: New file.
Co-Authored-By: Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
From-SVN: r45389
2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
* config/locale/c_locale_gnu.cc: Move facet info to separate files...
* config/locale/c_locale_generic.cc: Same.
* config/locale/moneypunct_members_gnu.cc: New file.
* config/locale/moneypunct_members_generic.cc: New file.
* config/locale/numpunct_members_gnu.cc: New file.
* config/locale/numpunct_members_generic.cc: New file.
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add moneypunct, numpunct
options.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* src/Makefile.am (sources): And here.
* src/Makefile.in: Regenerate.
Rename for consistency with rest of testsuite.
* testsuite/22_locale/codecvt.cc: New file.
* testsuite/22_locale/money_put.cc: New file.
* testsuite/22_locale/money_put_members_char.cc: New file.
From-SVN: r45224
2001-08-24 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
Phil Edwards <pme@sources.redhat.com>
PR libstdc++/3349
* include/bits/stl_tree.h (insert_unique): Revert last change.
Values inserted at begin() must be less, not greater, than *begin()'s.
* testsuite/23_containers/map_insert.cc: New file.
Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>
From-SVN: r45155
2001-07-17 Stephen M. Webb <stephen@bregmasoft.com>r
All occurrences of the __value_type() and __distance_type()
functions, which were required to support the HP STL, have been
removed along with all the auxiliary forwarding functions that
were required to support their use.
The __iterator_category() function was pretty much left alone
because there was no benefit to removing it and its use made code
just a little more readable.
Incidences of distance() with nonstandard argument list were
replaced by calls to the standard function (only in the files
affected by the removal of the other HP functions).
The signature of the rotate() algorithm was changed to match the
standard.
Headers were reformatted under C++STYLE guidelines (indentation,
linebreaks, typename keyword).
* include/bits/stl_algo.h: replaced __value_type() and
__distance_type() with iterator_traits, eliminated auxiliary
support functions required to support said function usage.
Changed nonstandard distance() call to standard call.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_heap.h: Same.
* include/bits/stl_numeric.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/stl_iterator_base_types.h (__value_type()):
Removed.
(__distance_type()): Removed.
(value_type()): Gone.
(distance_type()): Done in.
(iterator_category()): Hasta la vista, baby.
* include/bits/stl_iterator_base_funcs.h (iterator_category()):
Replaced with __iterator_category().
* include/backward/iterator.h: moved definition of value_type(),
distance_type(), and iterator_category() out of std:: and into
here.
* testsuite/23_containers/vector_ctor.cc (test03): New testcases.
* testsuite/23_containers/vector_modifiers.cc (test03): New testcases.
* testsuite/25_algorithms/rotate.cc: New testcase.
* testsuite/25_algorithms/copy.cc: New testcase.
* testsuite/25_algorithms/sort.cc: Same.
* testsuite/25_algorithms/heap.cc: Same.
* testsuite/25_algorithms/partition.cc: Same.
* testsuite/25_algorithms/binary_search.cc: Same.
* testsuite/26_numerics/sum_diff.cc: Ditto.
From-SVN: r44117
2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/README: Add notes on naming test cases.
* testsuite/22_locale/members.cc: Mark as xfail.
* testsuite/22_locale/numpunct_char_members.cc: Same.
From-SVN: r44076
2001-07-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/README: Add notes on naming test cases.
* testsuite/22_locale/members.cc: Mark as xfail.
* testsuite/22_locale/numpunct_char_members.cc: Same.
From-SVN: r44074
2001-07-13 Phil Edwards <pme@sources.redhat.com>
* include/bits/std_sstream.h (basic_stringbuf::basic_stringbuf(string):
Initialize _M_string with pointer-and-size constructor, not just
pointer. Fix some comments.
* testsuite/21_strings/ctor_copy_dtor.cc (test03): New test.
* testsuite/27_io/stringbuf.cc (test02): Remove unused variable.
(test03): Add embedded-NUL tests.
* mkcheck.in: When printing totals, match the order of the tests.
* include/bits/stringfwd.h: Use same declaration keywords.
* include/bits/std_iosfwd.h: Cosmetic spacing.
From-SVN: r43996
2001-07-02 Benjamin Kosnik <bkoz@redhat.com>
* src/locale.cc (locale::locale(const char*)): Make sure global
locales are initialized.
* include/bits/locale_facets.tcc (locale::combine): Refcout should
be zero, not one as it's return-by-value.
* testsuite/27_io/ios_base_callbacks.cc (test01): Don't check for
named locales here.
* testsuite/22_locale/ctor_copy_dtor.cc (test01): Instead, check
for it here.
(test02): Add test.
* libsupc++/eh_alloc.cc: Use climits, not limits.h.
From-SVN: r43713
2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_raw_storage_iter.h: Format. Correct derivation.
* testsuite/20_util/raw_storage_iterator.cc: Same.
* include/bits/stl_alloc.h (_S_chunk_alloc): Change malloc to
operator new.
(__mem_interface): New typedef for switching between malloc and new.
* testsuite/20_util/allocator_members.cc: New file.
* testsuite/20_util/comparisons.cc: New file.
* testsuite/20_util/pairs.cc: New file.
From-SVN: r43451
* testsuite/26_numerics/slice_array_assignment.cc (main): New test.
* include/bits/slice_array.h (slice_array<>::operator=): Make
public and implement.
(slice_array<>::slice_array): Make copy-constructor public.
* include/bits/valarray_array.h (__valarray_copy): Add another
overload to copy between strided arrays.
From-SVN: r43352
2001-06-08 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/2767
libstdc++/2989
libstdc++/2992
* include/std/*: Add copyright notice.
* include/c_std/bits/*: Use using statements instead of extern "C".
* include/c_std/bits/std_cmath.h: Don't overload double versions
of math functions with __buitin versions, use global version to
prevent ambiguities. Remove define hacks.
* include/c_std/bits/std_cwchar.h: Using declarations for "C"
functions that have changed signatures and std::
declarations. Remove define hacks.
* include/c_std/bits/std_cwchar.h: Same, plus remove ambiguous
__builtins in std::. Remove define hacks.
* testsuite/17_intro/headers_c.cc: Add tests.
* testsuite/17_intro/headers_c++.cc: Add test.
From-SVN: r43061
2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/2830
* testsuite/21_strings/inserters_extractors.cc (test09): New test.
* include/bits/ostream.tcc: Format to match istream.tcc.
(operator<<(basic_ostream __out, const basic_string __s)): Fix.
From-SVN: r42557
* include/c_std/bin/std_cstring.h: #define away all global
functions we will redeclare in namespace `std'.
* libsupc++/eh_alloc.cc (__cxa_allocate_exception): Use
std::memset, instead of memset.
* testsuite/19_diagnostics/stdexceptions.cc: Use `std::strcmp',
not plain `strcmp'.
* testsuite/21_strings/c_strings.cc: Use `std::strcpy' instead of
plain `strcpy'.
From-SVN: r42555
2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
* mkcheck.in (static_fail): Remove S_FLAG decoration on output.
* include/bits/std_sstream.h (stringbuf::setbuf): Require both
arguments to be non-null.
* include/bits/fstream.tcc (filebuf::_M_allocate_buffers): Only
try allocations if allocated size is greater than zero.
(filebuf::_M_filebuf_init): Change to
(filebuf::_M_allocate_file): Which is what it does now.
(filebuf::_M_allocate_bufers): Change to
(filebuf::_M_allocate_internal_buffer): This, and create
(filebuf::_M_allocate_pback_buffer): New.
(filebuf::_M_destroy_internal_buffer): New.
(filebuf::_M_buf_allocated): New data member.
(filebuf::setbuf): Use new logic, allow use of external buffer.
* testsuite/27_io/stringbuf_virtuals.cc: New file.
* testsuite/27_io/filebuf_virtuals.cc: New file.
From-SVN: r42458
2001-05-18 Angela Marie Thomas <angela@cygnus.com>
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set flags
appropriately for remote testing and testing installed files without
a build dir.
From-SVN: r42272
* include/bits/std_valarray.h (valarray<>::operator[] const):
Return a const reference.
* testsuite/26_numerics/valarray_const_bracket.cc: New test.
From-SVN: r42245
2001-05-18 Angela Marie Thomas <angela@cygnus.com>
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-dg-test): Set
output_file based on the name of the testcase.
2001-05-18 Angela Marie Thomas <angela@cygnus.com>
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Build
gluefile and use it if needs_status_wrapper is set.
From-SVN: r42240
2001-05-09 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/lib/libstdc++.exp: Use libgloss.exp. Call
libgloss_link_flags to find crt0.o for targets that use libgloss
instead of newlib.
Change LDFLAGS to LIBS.
Consistently name procedures libstdc++-XXX.
* testsuite/libstdc++.tests/tests.exp: Use new procedure names.
From-SVN: r41938
* configure.in (LIBSUPCXX_PICFLAGS): Set it to -prefer-pic or
-prefer-non-pic depending on whether libtool has shared libraries
enabled or disabled.
* libsupc++/Makefile.am (LIBSUPCXX_CXXFLAGS): Set to
$(LIBSUPCXX_PICFLAGS).
* configure, */Makefile.in: Rebuilt.
From-SVN: r41806
2001-04-20 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Make sure required C99
support is enabled correctly before long long is activated.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* include/backward/backward_warning.h: Format correctly.
* testsuite/26_numerics/c99_classification_macros_c.cc: Add.
* testsuite/26_numerics/c99_classification_macros_c++.cc: Add.
* testsuite/26_numerics/c99_macros.cc: Remove.
From-SVN: r41469
* testsuite/lib/libstdc++.exp (dg-test): Annotate result
messages with $which_library as well as $tool_flags and
${dg-extra-tool-flags}. Factor out annotation text into
a single variable.
From-SVN: r41029
2001-03-09 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
* include/bits/istream.tcc ( basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)):
Use streamsize, not int_type.
2001-03-08 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/27_io/streambuf.cc (test06): New test, disabled at the
moment.
From-SVN: r40358
2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/1972
libstdc++/2089
* include/bits/std_stdexcept.h (logic_error::logic_error): Use
string object, not reference.
(runtime_error::runtime_error): Same.
From-SVN: r40082
2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/1972
libstdc++/2089
* include/bits/std_stdexcept.h (logic_error::logic_error): Use
string object, not reference.
(runtime_error::runtime_error): Same.
* testsuite/19_diagnostics/stdexceptions.cc: New file.
From-SVN: r40079
2001-02-11 Gabriel Dos Reis <gdr@codesourcery.com>
* include/bits/char_traits.h char_traits<char>::int_type: Change
to `int' to match 21.1.3.1/2.
* testsuite/21_strings/char_traits-int_type.C: New test.
From-SVN: r39581
2001-01-29 Benjamin Kosnik <bkoz@redhat.com>
Preliminary named locales.
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro.
* aclocal.m4: Regenerate.
* configure.in: Use it.
* configure: Regerate.
* src/Makefile.am (sources): Add c++locale.cc.
(build_headers): Add c++locale.h.
* src/Makefile.in: Regenerate.
* config/c_locale_gnu.h: New file.
* config/c_locale_gnu.cc: New file. Non-inline member functions
for named locales, gnu-specific.
* config/c_locale_generic.h: New file.
* config/c_locale_generic.cc: New file. Non-inline member
functions for named locales, generic version.
* docs/html/configopts.html: Add documentation on new options.
* include/bits/locale_facets.h (class _Messages): Remove.
(class _Moneypunct): Remove.
* src/locale-inst.cc: Remove.
* include/bits/locale_facets.h (class _Collate): Remove.
* src/locale-inst.cc (std): Remove.
* src/locale.cc: And here.
* include/bits/localefwd.h (locale::_M_coalesce): New
function. Correctly put together multi-name locales.
(_Impl(const _Impl&, category, size_t)): Remove.
* include/bits/localefwd.h (locale::_Impl): Remove _M_construct_*
member functions.
(_M_normalize_category_names): Remove.
(_M_replace_categories): Fix.
* src/localename.cc (locale::_Impl::_M_construct_collate): Remove.
(locale::_Impl::_M_construct_ctype): Remove.
(locale::_Impl::_M_construct_monetary): Remove.
(locale::_Impl::_M_construct_numeric): Remove.
(locale::_Impl::_M_construct_time): Remove.
(locale::_Impl::_M_construct_messages): Remove.
* include/bits/locale_facets.h (_Bad_use_facet): Remove.
(_Use_facet_failure_handle): Remove.
* src/locale.cc: Remove definitions.
* src/locale-inst.cc: And here.
* testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests.
* src/localename.cc (locale::facet::_S_create_c_locale): Properly
create and error-check underlying locale object.
(locale::facet::_S_destroy_c_locale): Add, take care of properly
tearing down underlying locale object.
* include/bits/localefwd.h (locale::facet): Declare.
* testsuite/22_locale/members.cc: Don't test "fr_FR" locale for
correctness, as glibc apparently has incorrect info in it. Test
with it when it works again.....
* include/bits/localefwd.h (locale::_Impl::__vec_string):
Remove. Number of categories is fixed at six, so just simplify and
make this an array of strings.
(locale::_Impl::_M_has_name): Remove.
(locale::_Impl::_M_name): Remove.
(locale::_Impl::_M_category_names): Turns into...
(locale::_Impl::_M_names): ...this.
(locale::_Impl::_M_has_same_name()): New function.
* src/localename.cc (locale::_Impl::~_Impl()): Remove here.
(locale::_Impl::_Impl(size_t __refs, string __str)): Simplify
signature.
* src/locale.cc (locale::name()): Construct mangled name
accurately reflecting combined locale categories.
* src/locale.cc (locale::classic()): Don't initialize here.
* src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t
__refs, bool __has_name, string __str): Do it here.
* include/bits/localefwd.h: _S_categories_num to
_S_num_categories. _S_facets_num to _S_num_facets.
(locale:🆔:id()): Explicitly set _M_index to zero.
* src/locale.cc: Same.
* src/locale.cc: (locale::locale(const char*)): Construct named
locales uniquely.
* src/locale.cc: Remove numpunct_byname ctors.
* testsuite/22_locale/numpunct_byname.cc: New file.
* testsuite/22_locale/numpunct.cc: New file.
* include/bits/localefwd.h (class locale): Change data members to
protected, from private.
(_Impl::_M_get_c_locale): Add member function.
(locale::facet::_M_get_global_impl()): Add member function.
* include/bits/locale_facets.h (numpunct::_M_init): Change to take
a __c_locale pointer.
(numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for
named locales.
* testsuite/22_locale/members.cc: New file, test name and combine.
* include/bits/locale_facets.h (class numpunct): Remove class
_Punct and _Numpunct. Rewrite class numpunct to be correct for
named locales.
* include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add.
* src/localename.cc (_Impl::~_Impl()): Call __frelocale.
(_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale.
* src/locale-inst.cc: Remove _Numpunct, _Punct instantiations.
* testsuite/22_locale/numpunct_char_members.cc: New file.
From-SVN: r39347
2001-01-28 Gabriel Dos Reis <gdr@codesourcery.com>
* testsuite/README: Add more comment.
* testsuite/lib/libstdc++.exp: Tweak comment.
From-SVN: r39321
* testsuite/27_io/*.cc: Remove explicit reference to 'testsuite/'
in testcases. Prepare for the DejaGnu based framework.
* mkcheck.in: Adjust call to tests_flags. Don't mmkdir testsuite
directory -- it is now mkcheck working directory.
* tests_flags.in: Remove reference to $(top_srcdir). Use
${SRC_DIR} instead.
* Makefile.am (check, check-install): Change mkcheck invocation
logic.
* Makefile.in: Regenerate.
From-SVN: r39255
2001-01-20 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
* testsuite/libstdc++.tests/tests.exp: New file.
* testsuite/lib/libstdc++.exp: Itou.
* testsuite/README: Itou.
From-SVN: r39149
2001-01-16 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/17_intro/C++STYLE (classname): Add more existing
and stylish patterns.
libstdc++/944
* include/bits/istream.tcc (istream::sentry::sentry()): Set
failbit if the state of the stream is not good.
* testsuite/27_io/istream_sentry.cc (test02): Add test.
* testsuite/27_io/istream_manip.cc (test01): Modify.
libstdc++/1019
reported by Paolo Carlini <pcarlini@unitus.it>
* include/bits/istream.tcc (operator>>(istream&, string&)): Fix.
* testsuite/21_strings/inserters_extractors.cc (test08): Add test.
libstdc++/1057
* include/bits/std_streambuf.h (setp): Set _M_buf_size correctly.
* include/bits/streambuf.tcc (xsputn): Remove outside if clause.
(xsgetn): Same. Simplify.
* testsuite/27_io/streambuf.cc (test04): Add testcases.
reported by Larry Evans <jcampbell3@prodigy.net>
* include/bits/streambuf.tcc (streambuf::xsputn): Just check for
equality with eof on returned value from overflow.
From-SVN: r39059
* acinclude.m4, configure.in, mkcheck.in,
testsuite/21_strings/ctor_copy_dtor.cc,
testsuite/21_strings/inserters_extractors.cc,
testsuite/23_containers/map_operators.cc,
testsuite/23_containers/vector_element_access.cc,
testsuite/25_algorithms/lower_bound.cc,
testsuite/27_io/ifstream_members.cc,
testsuite/27_io/istream_extractor_arith.cc,
testsuite/27_io/istream_unformatted.cc,
testsuite/27_io/ofstream_members.cc,
testsuite/27_io/ostream_inserter_char.cc,
testsuite/27_io/ostream_inserter_other.cc,
testsuite/27_io/ostream_manip.cc, testsuite/27_io/streambuf.cc:
Change sourceware.cygnus.com and sources.redhat.com URLs for
libstdc++ web pages and list archives to point to gcc.gnu.org
* aclocal.m4, configure: Regenerate.
From-SVN: r38428
2000-12-20 Benjamin Kosnik <bkoz@fillmore.constant.com>
* testsuite/17_intro/headers_c.cc (main): New file.
* acinclude.m4 (SECTION_FLAGS): Only set if --enable-debug is not
passed.
(OPT_LDFLAGS): And here.
* aclocal.m4: Regenerate.
* configure: Regenerate.
2000-12-19 Curtis Janssen <cljanss@ca.sandia.gov>
* src/ios.cc (ios_base::_M_grow_words(int ix)): Fix libstdc++/1089.
* testsuite/27_io/ios_base_storage.cc (test01): New file.
From-SVN: r38392
* testsuite/20_util/auto_ptr.cc (test07): Remove test that tries
to copy-initialize an auto_ptr<Base> from an auto_ptr<Derived>; it
isn't supposed to work anymore.
From-SVN: r38171
2000-11-27 Benjamin Kosnik <bkoz@redhat.com>
* tests_flags.in (LTCXX): Change CXX_FLAG to CXXFLAGS.
* testsuite/22_locale/ctor_copy_dtor.cc: Adjust formatting.
* testsuite/27_io/istream_extractor_arith.cc (test11): New
testcase, based on libstdc++/90.
From-SVN: r37813
2000-11-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* testsuite/22_locale/codecvt_wchar_t_char.cc (main): Add
_GLIBCPP_USE_WCHAR_T guards.
* configure.in (AC_OUTPUT_COMMANDS): Remove, just run scripts as
is, so that checks for existence of generated files actually work.
* configure: Regenerate.
From-SVN: r37723
2000-11-20 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/std_complex.h: Tweaks, include cmath for abs overloads.
* src/complex.cc: Remove cmath include, formatting tweaks, remove
dead code.
* include/c/bits/std_cmath.h: Formatting tweaks.
* testsuite/26_numerics/complex_value.cc: New file, for catching
bits gleaned from libstdc++/106.
* testsuite/23_containers/vector_ctor.cc (test02): Add test from
libstdc++/102.
From-SVN: r37591
2000-11-17 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
* include/bits/stl_tree.h: Overload operators == and != to be able
to handle the case (const_iterator,iterator) and
(iterator,const_iterator), thus fixing libstdc++/737 and the like.
* testsuite/23_containers/map_operators.cc (test02): New tests.
From-SVN: r37532
* testsuite/22_locale/codecvt_unicode_char.cc: Don't run it
if not _GLIBCPP_USE_WCHAR_T.
* testsuite/22_locale/codecvt_unicode_wchar_t.cc: Likewise.
* testsuite/22_locale/ctor_copy_dtor.cc: Likewise.
* testsuite/22_locale/ctype_wchar_t_members.cc: Likewise.
From-SVN: r37216
2000-10-23 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/21_strings/compare.cc (test01): Add using declarations.
* include/c_std/bits/std_cerrno.h: And here.
* include/c_std/bits/std_cassert.h: Tweaks.
* mkcheck.in: Simplify.
* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Simplify.
(GLIBCPP_ENABLE_LONG_LONG): Same.
* aclocal.m4: Regenerate.
* src/Makefile.am (c_shadow_headers): Add features.h,
bits/wrap_features.h.
* src/Makefile.in: Regenerate.
* include/c_std/features.h: New file.
* include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
file. Need to have c++config.h included before this file so
_ISOC99_SOURCE around.
* include/c_std/sys/cdefs.h: Hack.
* include/c_std/stdlib.h: Same, use c++config.h.
* include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.
* include/c_std/bits/std_cassert.h: Fix.
* include/c_std/bits/std_cerrno.h: Make consistent.
* include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
declaration from ::_C_legacy to _C_legacy.
* include/c_std/bits/std_cstdio.h: same with printf.
* include/c_std/stdio.h: And here.
* include/c_std/bits/std_cstdlib.h: abort, exit comment.
* include/c_std/stdlib.h: Same here.
From-SVN: r37035
2000-10-19 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* testsuite/22_locale/codecvt_unicode_char.cc (test01): Adjust
creation of state_type for unicode_codecvt to take into account
the byte order markings. Add distinct tests for UCS-2BE and UCS-2LE.
* testsuite/22_locale/codecvt_unicode_wchar_t.cc (test01): Same.
* include/bits/codecvt.h (__enc_traits): Add support for encodings
that need a byte order marker. Needed for correct unicode support.
* src/locale.cc: Remove explicit qualification std::.
(locale::locale(const char* __name)): Revert, as named locale
support not finished.
* src/localename.cc (locale::_Impl:: _Impl(size_t __numfacets,
size_t __refs, bool __has_name = false, string __name): Move
default argument...
* include/bits/localefwd.h: Here.
From-SVN: r36959
2000-10-05 Brent Verner <brent@rcfile.org>
* bits/istream.tcc [basic_istream::get(basic_streambuf&)]: Removed
test for _M_gcount < in_avail(), as in_avail() only reports info
for current buffer, causing method to return at end of buffer.
* testsuite/27_io/istream_unformatted.cc [test07()]: New test.
* testsuite/27_io/istream_unformatted-3.txt: New file.
* testsuite/27_io/istream_unformatted-3.tst: New file.
From-SVN: r36752
2000-10-03 Brent Verner <brent@rcfile.org>
* bits/istream.tcc [basic_istream::get(basic_streambuf&)]: Removed
test for _M_gcount < in_avail(), as in_avail() only reports info
for current buffer, causing method to return at end of buffer.
* testsuite/27_io/istream_unformatted.cc [test07()]: New test.
* testsuite/27_io/istream_unformatted-3.txt: New file.
* testsuite/27_io/istream_unformatted-3.tst: New file.
From-SVN: r36751
2000-09-15 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* src/locale.cc (locale::locale(const char* __name)): Consolidate
name setting. Add checks for NULL __name pointers. Remove calls to
_S_initialize() as initial locale initialization can either be
assumed, or needs to be made consistent throughout locale
constructors.
(locale::locale(const locale& __other, const char* __name,
category __cat): Add checks for NULL name. Add checks for
assignment to self.
* src/localename.cc (locale::_Impl:: _Impl(const _Impl& __other,
const string& __name, category __cat, size_t __refs)): Set correct
name, has_name values.
* testsuite/22_locale/ctor_copy_dtor.cc (test01): More tests.
* docs/22_locale/locale.html: New file, more unfinished docs...
From-SVN: r36451
2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/static_members.cc: New file.
* testsuite/22_locale/ctor_copy_dtor.cc: New file.
* src/locale.cc: Minor formatting tweaks.
From-SVN: r36415
2000-09-11 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Remove test != "0".
* aclocal.m4: Regenerate.
* configure: Regenerate.
* bits/c++config (__GLIBCPP__): Update, in the hopes of making a
snapshot release soon.
(_GNU_SOURCE): Define this in the header files, as ISO C99 support
is pretty much assumed.
* testsuite/22_locale/global_templates.cc: New file. Add tests for
use_facet and has_facet.
* bits/codecvt.h (codecvt<_InT, _ExT, __enc_traits>::do_out):
Modify/correct iconv signatures for glibc2.2.
From-SVN: r36344
* bits/stl_tree.h: Make operators !=, == type safe for map, set.
* testsuite/23_containers/set_operators.cc: New file. Should not
compile.
* testsuite/23_containers/map_operators.cc: New file. Ditto.
From-SVN: r36246
2000-09-06 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Force glibc_satisfactory
to no, so that libstdc++-v3's libio will be built on glibc-2.2
systems.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* */Makefile.in: Regenerate.
* bits/std_cwctype.h: Put in temporary hack to work around -O2 +
glibc 2.1.x unsigned errors. Or disable -Werror by default...
* testsuite/23_containers/vector_element_access.cc: New file.
* bits/stl_config.h (__STL_THROW_RANGE_ERRORS): Define.
From-SVN: r36218
2000-08-31 Benjamin Kosnik <bkoz@cygnus.com>
* bits/locale_facets.tcc (_S_build_float_format): Move ...
* src/locale.cc: Here.
* bits/locale_facets.tcc (num_get::_M_extract): Clean up generic
definition. Move specialization to ...
* src/locale.cc: Here.
* bits/locale_facets.tcc: Move _Format_cache specializations to ...
* src/locale.cc: Here.
* bits/locale_facets.tcc: Move use_facet<ctype> specializations to ...
* src/locale.cc: Here.
* bits/std_locale.h: Note that locale_facets.tcc should be
included here, for standards conformance. It may increase
compile times though. For the time being, enable.
* testsuite/22_locale/facet.cc: New file, some parts commented out
for the time being.
* mkcheck.in: Append total time to test summary file.
* bits/sbuf_iter.h : Formatting tweaks.
Clean up static const data member definitions.
* src/locale.cc: Add definitions for all missing locale,
locale::_Imp, and locale::id static data members.
(ctype<char>): Add table_size define.
(money_base): Add _S_default_pattern, uglify.
* bits/localefwd.h: Add definitions for static members of _Count_ones.
* bits/locale_facets.h: Tweaks.
* bits/locale_facets.tcc: Tweaks.
* bits/string.tcc: Add definition for npos.
* bits/ios_base.h: Tweaks.
* bits/ios_base.h (ios_base::Init::_M_ios_base_init): Change to
_S_ios_base_init.
* src/ios.cc: And here. Add _S_local_words definition.
Add definitions for __ios_flags const static data.
* src/codecvt.cc: Same for __enc_traits.
* src/locale-inst.cc: Remove money_base data member definition
here.
From-SVN: r36093
2000-08-14 Levente Farkas <lfarkas@mindmaker.hu>
* bits/std_fstream.h: Remove duplicate typdefs for ofstream and
wofstream, filebuf, wfilebuf, fstream, wfstream.
* bits/std_streambuf.h: Same for streambuf, wstreambuf.
* bits/std_sstream.h: Same for stringstream and wstringstream.
Same for stringbuf, wstringbuf, istringstream, wistringstream,
ostringstream, wostringstream.
* testsuite/26_numerics/valarray.cc: Add test.
From-SVN: r35681
2000-08-09 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
Preliminary wchar_t implementation, with trivial encodings.
* docs/configopts.html: Add bits about canonical configure option
checking.
* testsuite/27_io/iostream_objects.cc: Replace this file (which
has newly-declared-illegal mixing of wide/narrow stdstreams) with...
* testsuite/27_io/narrow_stream_objects.cc: New file.
* testsuite/27_io/wide_stream_objects.cc: New file.
* bits/fstream.tcc (underflow): Temporarily hack a solution
together that writes from the external file to the internal
buffers. This removes codecvt from the loop, and is incorrect.
(_M_really_overflow): Same here.
* testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
2000-08-08 Benjamin Kosnik <bkoz@cygnus.com>
Ulrich Drepper <drepper@cygnus.com>
* config/c_io_libio.h: Tweak.
* config/c_io_libio_codecvt.c: New file.
* libio/Makefile.am: Add c_codecvt.c.
* libio/Makefile.in: Regenerate.
* libio/genops.c (_IO_unbuffer_write): Don't call _IO_SETBUF if the
stream is not orientated.
* acinclude.m4: Add config/c_io_libio_codecvt.c dummy file, until
encoding gets fleshed out.
* bits/basic_file.h: Add specialization declarations.
* config/c_io_libio.cc: Add specializations for pbackfail, uflow.
* config/c_io_libio.h: Add __c_wfile_type.
* bits/basic_file.h: Add _M_wfile.
* config/c_io_libio.cc (__basic_file<char>): Initialize the
streams without setting the orientation of the underlying FILE to
either wide or narrow.
(__basic_file<wchar_t>)): Enable tricky wchar_t io bits.
From-SVN: r35584
2000-08-09 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
Finish preliminary wchar_t implementation, with trivial encodings.
* docs/configopts.html: Add bits about canonical configure option
checking.
* testsuite/27_io/iostream_objects.cc: Replace this file (which
has newly-declared-illegal mixing of wide/narrow stdstreams) with...
* testsuite/27_io/narrow_stream_objects.cc: New file.
* testsuite/27_io/wide_stream_objects.cc: New file.
* bits/fstream.tcc (underflow): Temporarily hack a solution
together that writes from the external file to the internal
buffers. This removes codecvt from the loop, and is incorrect.
(_M_really_overflow): Same here.
* testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
From-SVN: r35582
2000-07-23 Brent Verner <brent@rcfile.org>
* bits/istream.tcc: istream::getline(char_type*, streamsize,
char_type) make compliant
* testsuite/27_io/istream_unformatted.cc: test for compliant behavior
2000-07-23 Benjamin Kosnik <bkoz@haight.constant.com>
* acinclude.m4 (enable_cshadow_headers): Fix problems with blddir
and srcdir used to define CSHADOW_INCLUDES..
* configure.in: For consistency, change .sanity_warned to
stamp-sanity-warned.
* acinclude.m4: Tweak formatting.
* Makefile.am (check): Call mkcheck with full pathname for build
directory...
(check-install): And here.
* Makefile.in: Regenerate.
From-SVN: r35227
2000-07-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* src/stl-inst.cc: Change __sink_unused_warning to unsigned int
for alpha.
* testsuite/26_numerics/complex_inserters_extractors.cc (testall):
Change return type to void.
* testsuite/25_algorithms/lower_bound.cc: Add return values.
* testsuite/17_intro/header_ciso646.cc: Modify.
* bits/locale_facets.h: Add return values for the generic cases.
From-SVN: r35193
2000-07-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* src/stl-inst.cc: Change __sink_unused_warning to unsigned int
for alpha.
* testsuite/26_numerics/complex_inserters_extractors.cc (testall):
Change return type to void.
* testsuite/25_algorithms/lower_bound.cc: Add return values.
* bits/locale_facets.h: Add return values for the generic cases.
From-SVN: r35183
2000-07-03 scott snyder <snyder@fnal.gov>
* bits/locale_facets.tcc (_M_extract): Only figure out the base
from the input if base == 0.
* testsuite/27_io/istream_extractor_arith.cc: Test reading a
number with a leading `0' in hex mode.
* shadow/bits/std_cmath.h: Fix typo in _GLIBCPP_HAVE_CEILL test.
* mkinclosure: Change `==' to `=' in test.
2000-07-03 Chip Salzenberg <chip@valinux.com>
* src/Makefile.am (libio_headers): _G_config.h is found in srcdir,
not builddir.
* src/Makefile.in: Regenerate.
From-SVN: r34860
* bits/concept_checks.h
(__less_then_comparable_requirement_violation): Only check for <.
* testsuite/25_algorithms/lower_bound.cc: New file.
From-SVN: r34798
2000-06-13 Brent Verner <brent@rcfile.org>
* bits/string.tcc (string::rfind): Fix.
* testsuite/21_strings/rfind.cc: New file.
2000-06-26 Anthony Williams <anthony@anthonyw.cjb.net>
* testsuite/21_strings/ctor_copy_dtor.cc: Fixed logic error.
2000-06-26 Branko Cibej <branko.cibej@hermes.si>
* testsuite/27_io/filebuf_members.cc (test_01): Fixed typos.
* mkcheck.in: Make the *.txt and *.tst files writable after
copying them to $TEST_DIR.
* testsuite/27_io/ostream_inserter_arith.cc: Renamed
__TEST_NUMPUT_VERBOSE to TEST_NUMPUT_VERBOSE.
Define TEST_NUMPUT_VERBOSE only if DEBUG_ASSERT.
From-SVN: r34719
2000-06-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* testsuite/27_io/filebuf_members.cc: New file.
* testsuite/27_io/filebuf_members-1.tst: New file.
* bits/fstream.tcc (basic_filebuf::basic_filebuf(fd)): Use it.
(basic_filebuf::close): Use it.
* bits/std_fstream.h (basic_filebuf): Remove default arguments for
filebuf ctor.
(basic_filebuf): Add _M_fileno_based data member.
* bits/std_fstream.h: Formatting tweaks.
* testsuite/27_io/ofstream_members.cc: New file.
* testsuite/27_io/ofstream_members-1.tst: New file.
* testsuite/27_io/ifstream_members.cc: New file.
* testsuite/27_io/ifstream_members-1.tst: New file.
From-SVN: r34672
2000-06-22 Anthony Williams <anthony@anthonyw.cjb.net>
* testsuite/21_strings/find.cc: Patch.
2000-06-22 Benjamin Kosnik <bkoz@soma.redhat.com>
* acinclude.m4 (GLIBCPP_CHEC_LINKER_FEATURES): Use gcc + -x c++ as
an easy way to get at g++ without having to link in libstdc++.
From-SVN: r34649
2000-06-20 Anthony Williams <anthony@anthonyw.cjb.net>
* bits/string.tcc: Fix find.
* testsuite/21_strings/find.cc: Patch.
2000-06-20 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* docs/install.html: Update where to get automake, where to get
binutils.
* acinclude.m4: Need -fno-builtins too, so gcc doesn't recognize
builtins.
From-SVN: r34622
2000-06-19 Anthony Williams <anthony@anthonyw.cjb.net>
* testsuite/21_strings/find.cc: Empty strings can be found at all
positions. Modified.
From-SVN: r34600
2000-06-19 Branko Cibej <branko.cibej@hermes.si>
* testsuite/20_utilities: New directory.
* testsuite/20_utilities/auto_ptr.cc: New file.
From-SVN: r34599
2000-06-13 Anthony Williams <anthony@anthonyw.cjb.net>
* testsuite/23_containers/bitset_ctor.cc: Qualify reverse wth std::.
* testsuite/27_io/filebuf.cc: Changed calls to
fpos<>._M_position() to implicit calls to operator streamoff().
* testsuite/27_io/iostream_objects.cc: Removed #include <ciso646>,
as not needed. Revert, as part of standard.
* testsuite/27_io/ostream_inserter_arith.cc: Replaced explicit
call to numpunct<>._M_init() with overrides of the appropriate
virtual functions.
* testsuite/27_io/stringstream.cc: Removed unnecessary char *
pointers from test01, so no need to call base(), which isn't
guaranteed to be implemented as iterators may themselves be pointers
* testsuite/27_io/stringbuf.cc: Removed unnecessary calls to
_M_position() - use implicit conversion to streamoff instead
From-SVN: r34535
2000-05-10 Benjamin Kosnik <bkoz@redhat.com>
* bits/std_cmath.h: Tweaks.
* math/mathconf.h: Tweaks and fixes for HP-UX 11.
(sqrtf): Define away iff !builtin and !in <math.h>.
(sinf): Same.
(cosf): Same.
(fabsf): Same.
At some point this directory should be converted to c++, the
autoconf tests should be run by the c++ compiler (not c), and
<cmath> should be used instead of math.h.
Move declaration of nan() here.
* math/complex-stub.h (cabsl): Remove nan() declaration.
Finish up FreeBSD4.0 support.
* config/bsd/ctype.cc: Scope out toupper, tolower calls.
* config/generic/ctype.cc: And here.
* testsuite/21_strings/char_traits.cc (test02): Guard with
_GLIBCPP_USE_WCHAR_T.
via Phil Edwards <pme@sourceware.cygnus.com>
* bits/std_cctype.h: Remove _GLIBCPP_USE_NAMESPACES.
* acconfig.h: And here.
* acinclude.m4: Same.
* testsuite/27_io/istream.cc: And here.
* testsuite/27_io/ostream.cc: And here.
From-SVN: r33835
* bits/char_traits.h: use wchar_t utility functions for
char_traits<wchar_t> methods.
* testsuite/21_string/char_traits.cc: New (test02): test
char_traits<wchar_t>
2000-05-08 Benjamin Kosnik <bkoz@cygnus.com>
* acinclude.m4 (GLIBCPP_CXXFLAGS): Add bits for solaris2.8.
From-SVN: r33783
2000-05-08 Benjamin Kosnik <bkoz@cygnus.com>
* bits/fstream.tcc (filebuf::_M_init_filebuf): Don't set
_M_buf_size based on macro, instead use _M_buf_size_opt.
* bits/std_streambuf.h (basic_streambuf): Add _M_buf_size_opt.
(basic_streambuf()): Set _M_buf_size_opt.
* testsuite/27_io/filebuf.cc (filebuf): Use _M_buf_size_opt
instead of _M_buf_size.
From-SVN: r33768