2002-04-03 Benjamin Kosnik <bkoz@redhat.com>
As per DR 184, libstdc++/3139
* include/std/std_limits.h (__glibcpp_bool_digits): Change to 1.
(numeric_limits<bool>::is_iec559): False.
(numeric_limits<bool>::is_modulo): False.
* testsuite/27_io/ios_init.cc: Add instantiations.
From-SVN: r51838
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-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
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
* include/c_std/std_cmath.h: To prevent problems overloading
g++ builtins, use the double variants from the global namespace
before defining float and long double variants in std::.
PR c++/5998:
* decl.c (cxx_init_decl_processing): Re-enable built-in functions
in the g++ front-end.
(duplicate_decl): Allow redefinition of anticipated built-ins.
Fix inlining problem by over-writing the old DECL_RTL.
(lookup_namespace_name): Fail to find an identifier in the
specified namespace if its still anticipated.
(builtin_function_1): New function split out from builtin_function
to create a builtin in the current namespace with given context.
(builtin_function): Call builtin_function_1 to define the
appropriate builtins in both the std and global namespaces.
(select_decl): Don't test for anticipated decls here.
(unqualified_namespace_lookup): Instead ignore them whilst
searching through scopes and namespaces.
* decl2.c (do_nonmember_using_decl): If a using declaration
specifies an anticipated built-in function, mark it as no longer
anticipated in that scope.
(ambiguous_decl): Avoid resolving to an anticipated decl.
* lex.c (do_scoped_id): Fail to find an identifier in the global
namespace if its still anticipated.
* g++.old-deja/g++.other/builtins5.C: New test.
* g++.old-deja/g++.other/builtins6.C: New test.
* g++.old-deja/g++.other/builtins7.C: New test.
* g++.old-deja/g++.other/builtins8.C: New test.
* g++.old-deja/g++.other/builtins9.C: New test.
From-SVN: r51568
Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/codecvt_members_unicode_wchar_t.cc
(test01): Protect the test with _GLIBCPP_USE_WCHAR_T;
fix i_lit_base e_lit_base arrays, making them independent
from the endianness of the platform; tweak UCS4 to UCS-4BE.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r51521
Richard Henderson <rth@redhat.com>
* testsuite/22_locale/codecvt_members_unicode_char.cc
(test01, test02): make sure that the i_lit_base array
is sufficiently aligned.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r51359
* testsuite/22_locale/collate_byname.cc
(test01): compare the result of collate::compare with
that of collate::transform + string::compare, not with
that of collate::transform + collate::compare; values
returned by collate::compare are normalized, therefore
test against +-1.
From-SVN: r51351
Paolo Carlini <pcarlini@unitus.it>
* testsuite/locale/codecvt_members_unicode_char.cc
(test01, test02): Fix i_lit_base arrays, making them
independent from the endianness of the platform.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r51314
* acinclude.m4 (GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3): New.
(GLIBCPP_CONFIGURE_TESTSUITE): Use it to check for setenv.
* aclocal.m4: Regenerate.
* configure: Likewise.
From-SVN: r51110
2002-03-19 Paolo Carlini <pcarlini@unitus.it>
Ulrich Drepper <drepper@redhat.com>
* src/locale-inst.cc (__convert_from_v): Add an additional
__size parameter in the declarations.
* include/bits/locale_facets.tcc
(__convert_from_v): When available (that is,
_GLIBCPP_USE_C99 defined) use snprintf instead of sprintf.
(num_put::_M_convert_float): Depending on _GLIBCPP_USE_C99
being defined or not, call and use __convert_from_v in the
appropriate way.
(num_put::_M_convert_int): Same here.
(money_put::do_put(long double)): Same here.
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>
From-SVN: r51050
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-18 Paolo Carlini <pcarlini@unitus.it>
* include/bits/locale_facets.tcc
(money_put::do_put(long double)): Fix dimensioning of
temporary buffers to avoid risk of overruns.
(money_put::do_put(string)): Same for the buffer used to
add the grouping chars.
* testsuite/22_locale/money_put_members_char.cc: Add test06.
* testsuite/22_locale/money_put_members_wchar_t.cc: Ditto.
* include/bits/locale_facets.tcc
(collate::do_transform): Simplify.
From-SVN: r51012
2002-03-15 Philipp Thomas <pthomas@suse.de>
* include/backward/hash_map.h: hash, hashtable, hash_map and
hash_multimap are in namespace __gnu_cxx.
include/backward/hash_set.h: hash, hashtable, hash_set and
hash_multiset are in namespace __gnu_cxx.
include/backward/hashtable.h: hash and hashtable are in
namespace __gnu_cxx.
include/backward/rope.h: char_producer, sequence_buffer,
rope, crope and wrope are in namespace __gnu_cxx.
include/backward/slist.h: slist is in namespace __gnu_cxx.
* testsuite/backward/header_hash_map_h.cc
testsuite/backward/header_hash_set_h.cc
testsuite/backward/header_hashtable_h.cc
testsuite/backward/header_rope_h.cc
testsuite/backward/header_slist_h.cc
testsuite/backward/header_tempbuf_h.cc: New tests for
checking that we're using the correct namespace.
From-SVN: r50956
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
* testsuite/22_locale/collate_members_char.cc
(test01): compare the result of collate::compare with
that of collate::transform + string::compare, not with
that of collate::transform + collate::compare.
(test01): values returned by collate::compare are
normalized, therefore test against +-1.
* testsuite/22_locale/collate_members_wchar_t.cc: Ditto.
From-SVN: r50808
2002-03-11 Phil Edwards <pme@gcc.gnu.org>
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles):
New function. Build the list of tests to run in testsuite_files.
* testsuite/libstdc++-v3.dg/dg.exp: Use it.
From-SVN: r50598
2002-03-11 Phil Edwards <pme@gcc.gnu.org>
* testsuite/21_strings/capacity.cc: Only explicitly instantiate on
platforms with no weak support.
* testsuite/27_io/ios_init.cc: Likewise.
From-SVN: r50597
Paolo Carlini <pcarlini@unitus.it>
* config/locale/generic/collate_members.cc
(collate<char,wchar_t>::_M_compare_helper): normalize
values returned by strcoll and wcscoll.
* config/locale/gnu/collate_members.cc
(collate<char,wchar_t>::_M_compare_helper): ditto
for __strcoll_l and __wcscoll_l.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r50551
2002-03-09 Paolo Carlini <pcarlini@unitus.it>
* include/bits/locale_facets.tcc (collate::do_transform):
Rewrite to fix problems with long transformed strings.
From-SVN: r50500
2002-03-08 scott snyder <snyder@fnal.gov>
libstdc++/5875
* include/bits/locale_facets.tcc (num_put::_M_convert_float):
Allow one more digit of precision.
* testsuite/27_io/ostream_inserter_arith.cc: Test that we can
From-SVN: r50471
2002-03-08 scott snyder <snyder@fnal.gov>
libstdc++/5875
* include/bits/locale_facets.tcc (num_put::_M_convert_float):
Allow one more digit of precision.
* testsuite/27_io/ostream_inserter_arith.cc: Test that we can
write a double and read back in the same value.
From-SVN: r50470
2002-03-08 Benjamin Kosnik <bkoz@redhat.com>
* include/std/std_limits.h: Move static const data members out of
generic template, into base class __numeric_limits_base.
* src/limits.cc: Add definitions.
* config/linker-map.gnu: Add __numeric_limits_base.
* testsuite/18_support/numeric_limits.cc: Declare test in scope.
From-SVN: r50447
2002-03-06 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/user.cfg.in: Also document deprecated entries.
* docs/html/Makefile: Example rule to rebuild porting-howto.html.
* docs/html/17_intro/howto.html: "gcc"->"GCC" changes, when
referring to the collection as a whole. New section on which macros
can be redefined by the user.
* docs/html/19_diagnostics/howto.html: Update note for concepts.
* docs/html/20_util/howto.html: Update link to SGI.
* docs/html/faq/index.html: Update snapshot versions. New entry
on why g++ (but not gcc) must currently predefine certain macros.
* docs/html/faq/index.txt: Regenerated.
* include/bits/basic_string.h (basic_string::_S_construct): Fix
names in declaration.
(basic_string::compare): These are no longer optional.
* include/bits/ostream.tcc: Tweak closing brace placement.
* include/bits/stl_algo.h: Lots of initial doxygen comment hooks.
* include/std/std_sstream.h: Fix typo in comment.
* include/bits/locale_facets.tcc: Remove unneeded header inclusion.
* src/locale.cc: Likewise.
From-SVN: r50376