(numeric_limits<float>::round_style): Use round_to_nearest.
(numeric_limits<double>, numeric_limits<long double>): Similarly.
+ * include/std/std_limits.h (__glibcpp_f32_is_iec559,
+ __glibcpp_f64_is_iec559, __glibcpp_f80_is_iec559,
+ __glibcpp_f96_is_iec559, __glibcpp_f128_is_iec559,
+ __glibcpp_float_is_iec559, __glibcpp_double_is_iec559,
+ __glibcpp_long_double_is_iec559): Remove.
+ (numeric_limits<float>::is_iec559): Use has_infinity & has_quiet_NaN.
+ (numeric_limits<double>, numeric_limits<long double>): Similarly.
+
2002-09-18 Loren J. Rittle <ljrittle@acm.org>
* testsuite/18_support/numeric_limits.cc (test_epsilon): New.
2002-09-16 Benjamin Kosnik <bkoz@redhat.com>
- * include/c_shadow: Remove.
- * include/bits/generic_shadow.h: Remove.
- * include/Makefile.am: Remove generic_shadow.h.
- * acinclude.m4: Remove c_shadow references.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * mkcshadow: Remove.
- * mkinclosure: Remove.
+ * include/c_shadow: Remove.
+ * include/bits/generic_shadow.h: Remove.
+ * include/Makefile.am: Remove generic_shadow.h.
+ * acinclude.m4: Remove c_shadow references.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * mkcshadow: Remove.
+ * mkinclosure: Remove.
2002-09-16 Loren J. Rittle <ljrittle@acm.org>
2002-09-11 Paolo Carlini <pcarlini@unitus.it>
- * include/bits/locale_facets.tcc (__convert_from_v):
- Use __uselocale instead of setlocale for glibc 2.3+.
+ * include/bits/locale_facets.tcc (__convert_from_v):
+ Use __uselocale instead of setlocale for glibc 2.3+.
2002-09-10 Benjamin Kosnik <bkoz@redhat.com>
switch to "C" locale and initialize using __ctype_{b,tolower,toupper}.
2002-09-05 Paolo Carlini <pcarlini@unitus.it>
- Roland McGrath <roland@redhat.com>
+ Roland McGrath <roland@redhat.com>
PR libstdc++/7811
* src/locale.cc (locale::locale(__s)): Use getenv instead
punctuation.
2002-08-13 Jonathan Wakely <jw@kayari.org>
- Phil Edwards <pme@gcc.gnu.org>
+ Phil Edwards <pme@gcc.gnu.org>
* docs/html/documentation.html: Use HTML entities for punctuation.
re-wrap comment lines as necessary.
2002-08-08 Danny Smith <dannysmith@users.sourceforge.net>
- Benjamin Kosnik <bkoz@redhat.com>
+ Benjamin Kosnik <bkoz@redhat.com>
* include/bits/istream.tcc (basic_istream::ignore): Use sbumpc,
not snextc.
GLIBCPP_3.1 to GLIBCPP_3.2.
2002-07-31 Benjamin Kosnik <bkoz@redhat.com>
- Mark Mitchell <mark@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
PR libstdc++/7442
* libsupc++/cxxabi.h (class __base_class_type_info::hwm_bit):
* docs/html/abi.txt: Update.
2002-07-30 Benjamin Kosnik <bkoz@redhat.com>
- Gabriel Dos Reis <gdr@nerim.net>
+ Gabriel Dos Reis <gdr@nerim.net>
* include/bits/char_traits.h: Remove generic definitions.
* include/bits/streambuf_iterator.h (istreambuf_iterator): Use
* testsuite/23_containers/deque_operators.cc: Add test02.
2002-07-04 Benjamin Kosnik <bkoz@redhat.com>
- Jack Reeves <jackw_reeves@hotmail.com>
+ Jack Reeves <jackw_reeves@hotmail.com>
* include/std/std_streambuf.h (basic_streambuf::_M_buf): Change to
size_t, from int_type.
* testsuite/ext/hash_map.cc: New.
2002-07-03 Jack Reeves <jackw_reeves@hotmail.com>
- Kenny Simpson <theonetruekenny@yahoo.com>
- Phil Edwards <pme@gcc.gnu.org>
+ Kenny Simpson <theonetruekenny@yahoo.com>
+ Phil Edwards <pme@gcc.gnu.org>
PR libstdc++/3946
* testsuite/20_util/auto_ptr.cc (test08): New test.
* Makefile.in: Regenerated.
2002-06-11 J.T. Conklin <jtc@acorntoolworks.com>
- Benjamin Kosnik <bkoz@redhat.com>
+ Benjamin Kosnik <bkoz@redhat.com>
* configure.target: Set os_include_dir to config/os/qnx/qnx6.1
under *-qnx6.[12]*.
Search correct multilib testsuite dir for libv3test.
2002-06-04 Paolo Carlini <pcarlini@unitus.it>
- Gaby Dos Reis <gdr@codesourcery.com>
+ Gaby Dos Reis <gdr@codesourcery.com>
* include/bits/basic_string.tcc
(basic_string::_S_construct(forward_iterator_tag):
* testsuite/22_locale/ctype_widen_wchar_t.cc: Same.
2002-05-26 Carlo Wood <carlo@alinoe.com>
- Paolo Carlini <pcarlini@unitus.it>
+ Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/6811
* config/locale/ieee_1003.1-2001/codecvt_specializations.h
* testsuite/22_locale/ctype_scan_char.cc: New file.
2002-05-13 Paolo Carlini <pcarlini@unitus.it>
- Jakub Jelinek <jakub@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
* testsuite/22_locale/money_get_members_char.cc
(test01, test02, test04): Use the de_DE@euro named locale
2002-05-13 Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/codecvt_members_char_char.cc
- (test03): Robustify wrt localedata.
+ (test03): Robustify wrt localedata.
* testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Likewise.
* testsuite/22_locale/collate_members_char.cc (test04): Likewise.
* testsuite/22_locale/collate_members_wchar_t.cc (test04): Likewise.
* include/ext/stl_hashtable.h: Import __iterator_category
2002-04-28 Paolo Carlini <pcarlini@unitus.it>
- Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
+ Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
* testsuite/ext/hash_set.cc: New testfile.
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.
+ 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.
* include/Makefile.in: Regenerate.
2002-04-02 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
- Philip Martin <philip@codematters.co.uk>
+ Nathan Myers <ncm@cantrip.org>
+ Philip Martin <philip@codematters.co.uk>
* include/bits/basic_string.h
(replace(i1, i2, _CharT* k1, _CharT* k2),
(test02): New tests.
2002-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
- Paolo Carlini <pcarlini@unitus.it>
+ Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/codecvt_members_unicode_wchar_t.cc
(test01): Protect the test with _GLIBCPP_USE_WCHAR_T;
* include/Makefile.in: Regerate.
2002-03-25 Paolo Carlini <pcarlini@unitus.it>
- Richard Henderson <rth@redhat.com>
+ Richard Henderson <rth@redhat.com>
* testsuite/22_locale/codecvt_members_unicode_char.cc
(test01, test02): make sure that the i_lit_base array
2002-03-25 Benjamin Kosnik <bkoz@redhat.com>
- * config/os/newlib/bits/ctype_noninline.h (ctype::classic): Set to
- _ctype_.
+ * config/os/newlib/bits/ctype_noninline.h (ctype::classic): Set to
+ _ctype_.
2002-03-25 Paolo Carlini <pcarlini@unitus.it>
test against +-1.
2002-03-25 Benjamin Kosnik <bkoz@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
* config/locale/gnu/messages_members.h: Correct conditional.
* config/locale/gnu/messages_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
2002-03-25 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
- Paolo Carlini <pcarlini@unitus.it>
+ Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/codecvt_members_unicode_char.cc
(test01, test02): Fix i_lit_base arrays, making them
* configure: Likewise.
2002-03-19 Paolo Carlini <pcarlini@unitus.it>
- Ulrich Drepper <drepper@redhat.com>
+ Ulrich Drepper <drepper@redhat.com>
* src/locale-inst.cc (__convert_from_v): Add an additional
__size parameter in the declarations.
* testsuite/thread/pthread4.cc: Lower nominal iteration counter.
2002-03-12 Benjamin Kosnik <bkoz@redhat.com>
- Per Liboriussen <liborius@stofanet.dk>
+ Per Liboriussen <liborius@stofanet.dk>
* config/os/gnu-linux/bits/ctype_noninline.h: Cast to
unsigned char.
Remove redundant variable.
2002-03-10 Ulrich Drepper <drepper@redhat.com>
- Paolo Carlini <pcarlini@unitus.it>
+ Paolo Carlini <pcarlini@unitus.it>
* config/locale/generic/collate_members.cc
(collate<char,wchar_t>::_M_compare_helper): normalize
#define __glibcpp_u64_digits 64
#define __glibcpp_u64_digits10 19
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f32_is_iec559 true
-#endif
-#ifndef __glibcpp_f32_is_iec559
-# define __glibcpp_f32_is_iec559 false
-#endif
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f64_is_iec559 true
-#endif
-#ifndef __glibcpp_f64_is_iec559
-# define __glibcpp_f64_is_iec559 false
-#endif
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f80_is_iec559 true
-#endif
-#ifndef __glibcpp_f80_is_iec559
-# define __glibcpp_f80_is_iec559 false
-#endif
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f96_is_iec559 true
-#endif
-#if __GCC_FLOAT_FORMAT__ == __IEEE_FORMAT__
-# define __glibcpp_f128_is_iec559 true
-#endif
-#ifndef __glibcpp_f128_is_iec559
-# define __glibcpp_f128_is_iec559 false
-#endif
-
// bool-specific hooks:
// __glibcpp_bool_digits __glibcpp_int_traps __glibcpp_long_traps
// float
//
-#if __FLOAT_BIT__ == 32
-# define __glibcpp_float_is_iec559 __glibcpp_f32_is_iec559
-#elif __FLOAT_BIT__ == 64
-# define __glibcpp_float_is_iec559 __glibcpp_f64_is_iec559
-#elif __FLOAT_BIT__ == 80
-# define __glibcpp_float_is_iec559 __glibcpp_f80_is_iec559
-#else
-// You must define these macros in the configuration file.
-#endif
-
// Default values. Should be overriden in configuration files if necessary.
#ifndef __glibcpp_float_has_denorm_loss
# define __glibcpp_float_is_bounded true
#endif
-#ifndef __glibcpp_float_is_iec559
-# define __glibcpp_float_is_iec559 false
-#endif
-
#ifndef __glibcpp_float_is_modulo
# define __glibcpp_float_is_modulo false
#endif
// double
-#if __DOUBLE_BIT__ == 32
-# define __glibcpp_double_is_iec559 __glibcpp_f32_is_iec559
-#elif __DOUBLE_BIT__ == 64
-# define __glibcpp_double_is_iec559 __glibcpp_f64_is_iec559
-#elif __DOUBLE_BIT__ == 80
-# define __glibcpp_double_is_iec559 __glibcpp_f80_is_iec559
-#else
-// You must define these macros in the configuration file.
-#endif
-
// Default values. Should be overriden in configuration files if necessary.
#ifndef __glibcpp_double_has_denorm_loss
# define __glibcpp_double_has_denorm_loss false
#endif
-#ifndef __glibcpp_double_is_iec559
-# define __glibcpp_double_is_iec559 false
-#endif
-
#ifndef __glibcpp_double_is_bounded
# define __glibcpp_double_is_bounded true
#endif
// long double
-#if __LONG_DOUBLE_BIT__ == 32
-# define __glibcpp_long_double_is_iec559 __glibcpp_f32_is_iec559
-#elif __LONG_DOUBLE_BIT__ == 64
-# define __glibcpp_long_double_is_iec559 __glibcpp_f64_is_iec559
-#elif __LONG_DOUBLE_BIT__ == 80
-# define __glibcpp_long_double_is_iec559 __glibcpp_f80_is_iec559
-#elif __LONG_DOUBLE_BIT__ == 96
-# define __glibcpp_long_double_is_iec559 __glibcpp_f96_is_iec559
-#elif __LONG_DOUBLE_BIT__ == 128
-# define __glibcpp_long_double_is_iec559 __glibcpp_f128_is_iec559
-#else
-// You must define these macros in the configuration file.
-#endif
-
// Default values. Should be overriden in configuration files if necessary.
#ifndef __glibcpp_long_double_has_denorm_loss
# define __glibcpp_long_double_has_denorm_loss false
#endif
-#ifndef __glibcpp_long_double_is_iec559
-# define __glibcpp_long_double_is_iec559 false
-#endif
-
#ifndef __glibcpp_long_double_is_bounded
# define __glibcpp_long_double_is_bounded true
#endif
static float denorm_min() throw()
{ return __FLT_DENORM_MIN__; }
- static const bool is_iec559 = __glibcpp_float_is_iec559;
+ static const bool is_iec559 = has_infinity && has_quiet_NaN;
static const bool is_bounded = __glibcpp_float_is_bounded;
static const bool is_modulo = __glibcpp_float_is_modulo;
};
#undef __glibcpp_float_has_denorm_loss
-#undef __glibcpp_float_is_iec559
#undef __glibcpp_float_is_bounded
#undef __glibcpp_float_is_modulo
#undef __glibcpp_float_traps
static double denorm_min() throw()
{ return __DBL_DENORM_MIN__; }
- static const bool is_iec559 = __glibcpp_double_is_iec559;
+ static const bool is_iec559 = has_infinity && has_quiet_NaN;
static const bool is_bounded = __glibcpp_double_is_bounded;
static const bool is_modulo = __glibcpp_double_is_modulo;
};
#undef __glibcpp_double_has_denorm_loss
-#undef __glibcpp_double_is_iec559
#undef __glibcpp_double_is_bounded
#undef __glibcpp_double_is_modulo
#undef __glibcpp_double_traps
static long double denorm_min() throw()
{ return __LDBL_DENORM_MIN__; }
- static const bool is_iec559 = __glibcpp_long_double_is_iec559;
+ static const bool is_iec559 = has_infinity && has_quiet_NaN;
static const bool is_bounded = __glibcpp_long_double_is_bounded;
static const bool is_modulo = __glibcpp_long_double_is_modulo;
};
#undef __glibcpp_long_double_has_denorm_loss
-#undef __glibcpp_long_double_is_iec559
#undef __glibcpp_long_double_is_bounded
#undef __glibcpp_long_double_is_modulo
#undef __glibcpp_long_double_traps