OSDN Git Service

* include/std/std_limits.h (__glibcpp_f32_is_iec559,
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 22 Sep 2002 18:36:38 +0000 (18:36 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 22 Sep 2002 18:36:38 +0000 (18:36 +0000)
        __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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57413 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/std_limits.h

index 9d0be87..97f149b 100644 (file)
        (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
index 088f506..bb71fb1 100644 (file)
 #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
@@ -1502,7 +1428,7 @@ namespace std
       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;
 
@@ -1512,7 +1438,6 @@ namespace std
     };
 
 #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
@@ -1562,7 +1487,7 @@ namespace std
       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;
 
@@ -1572,7 +1497,6 @@ namespace std
     };
 
 #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
@@ -1624,7 +1548,7 @@ namespace std
       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;
 
@@ -1634,7 +1558,6 @@ namespace std
     };
 
 #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