OSDN Git Service

gcc/
authorjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Jan 2007 20:27:41 +0000 (20:27 +0000)
committerjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Jan 2007 20:27:41 +0000 (20:27 +0000)
* Makefile.in (USER_H): Remove decfloat.h.
* ginclude/decfloat.h: Delete, moving contents to ...
* ginclude/float.h: Add support for decimal floating point,
guarded by __STDC_WANT_DEC_FP__.

gcc/testsuite/
* gcc.dg/dfp/dec-eval-method.c: Replace decfloat.h with float.h.
* gcc.dg/dfp/decfloat-constants.c: Ditto.
* gcc.dg/dfp/convert-dfp.c: Ditto.
* gcc.dg/dfp/convert-int-saturate.c: Ditto.

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

gcc/ChangeLog
gcc/Makefile.in
gcc/ginclude/decfloat.h [deleted file]
gcc/ginclude/float.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/dfp/convert-dfp.c
gcc/testsuite/gcc.dg/dfp/convert-int-saturate.c
gcc/testsuite/gcc.dg/dfp/dec-eval-method.c
gcc/testsuite/gcc.dg/dfp/decfloat-constants.c

index 63c8aa8..3cf0452 100644 (file)
@@ -1,3 +1,10 @@
+2007-01-29  Janis Johnson  <janis187@us.ibm.com>
+
+       * Makefile.in (USER_H): Remove decfloat.h.
+       * ginclude/decfloat.h: Delete, moving contents to ...
+       * ginclude/float.h: Add support for decimal floating point,
+       guarded by __STDC_WANT_DEC_FP__.
+
 2007-01-29  Mike Stump  <mrs@apple.com>
 
        * doc/gccint.texi (Top): Rename Loop Representation to Loop
index dff2173..b569b36 100644 (file)
@@ -302,8 +302,7 @@ INSTALL_HEADERS_DIR = @build_install_headers_dir@
 
 # Header files that are made available under the same name
 # to programs compiled with GCC.
-USER_H = $(srcdir)/ginclude/decfloat.h \
-        $(srcdir)/ginclude/float.h \
+USER_H = $(srcdir)/ginclude/float.h \
         $(srcdir)/ginclude/iso646.h \
         $(srcdir)/ginclude/stdarg.h \
         $(srcdir)/ginclude/stdbool.h \
diff --git a/gcc/ginclude/decfloat.h b/gcc/ginclude/decfloat.h
deleted file mode 100644 (file)
index 03e0a7b..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* As a special exception, if you include this header file into source
-   files compiled by GCC, this header file does not by itself cause
-   the resulting executable to be covered by the GNU General Public
-   License.  This exception does not however invalidate any other
-   reasons why the executable file might be covered by the GNU General
-   Public License.  */
-
-/*
- * Draft C Extension to support decimal floating-pointing arithmetic:  
- * Characteristics of decimal floating types <decfloat.h>
- */
-
-#ifndef _DECFLOAT_H___
-#define _DECFLOAT_H___
-
-/* Number of base-FLT_RADIX digits in the significand, p.  */
-#undef DEC32_MANT_DIG
-#undef DEC64_MANT_DIG
-#undef DEC128_MANT_DIG
-#define DEC32_MANT_DIG __DEC32_MANT_DIG__
-#define DEC64_MANT_DIG __DEC64_MANT_DIG__
-#define DEC128_MANT_DIG        __DEC128_MANT_DIG__
-
-/* Minimum exponent. */
-#undef DEC32_MIN_EXP
-#undef DEC64_MIN_EXP
-#undef DEC128_MIN_EXP
-#define DEC32_MIN_EXP  __DEC32_MIN_EXP__
-#define DEC64_MIN_EXP  __DEC64_MIN_EXP__
-#define DEC128_MIN_EXP __DEC128_MIN_EXP__
-
-/* Maximum exponent. */
-#undef DEC32_MAX_EXP
-#undef DEC64_MAX_EXP
-#undef DEC128_MAX_EXP
-#define DEC32_MAX_EXP  __DEC32_MAX_EXP__
-#define DEC64_MAX_EXP  __DEC64_MAX_EXP__
-#define DEC128_MAX_EXP __DEC128_MAX_EXP__
-
-/* Maximum representable finite decimal floating-point number
-   (there are 6, 15, and 33 9s after the decimal points respectively). */
-#undef DEC32_MAX
-#undef DEC64_MAX
-#undef DEC128_MAX
-#define DEC32_MAX   __DEC32_MAX__
-#define DEC64_MAX   __DEC64_MAX__
-#define DEC128_MAX  __DEC128_MAX__
-
-/* The difference between 1 and the least value greater than 1 that is
-   representable in the given floating point type. */
-#undef DEC32_EPSILON
-#undef DEC64_EPSILON
-#undef DEC128_EPSILON
-#define DEC32_EPSILON  __DEC32_EPSILON__
-#define DEC64_EPSILON  __DEC64_EPSILON__
-#define DEC128_EPSILON __DEC128_EPSILON__
-
-/* Minimum normalized positive floating-point number. */
-#undef DEC32_MIN
-#undef DEC64_MIN
-#undef DEC128_MIN
-#define DEC32_MIN      __DEC32_MIN__
-#define DEC64_MIN      __DEC64_MIN__
-#define DEC128_MIN     __DEC128_MIN__
-
-/* Minimum denormalized positive floating-point number. */
-#undef DEC32_DEN
-#undef DEC64_DEN
-#undef DEC128_DEN
-#define DEC32_DEN       __DEC32_DEN__
-#define DEC64_DEN       __DEC64_DEN__
-#define DEC128_DEN      __DEC128_DEN__
-
-/* The floating-point expression evaluation method.
-         -1  indeterminate
-         0  evaluate all operations and constants just to the range and
-            precision of the type
-         1  evaluate operations and constants of type _Decimal32 
-           and _Decimal64 to the range and precision of the _Decimal64 
-            type, evaluate _Decimal128 operations and constants to the 
-           range and precision of the _Decimal128 type;
-        2  evaluate all operations and constants to the range and
-           precision of the _Decimal128 type.
-*/
-
-#undef DECFLT_EVAL_METHOD
-#define DECFLT_EVAL_METHOD     __DECFLT_EVAL_METHOD__
-
-#endif /* _DECFLOAT_H___ */
index 3cdf7c8..1e16e88 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2007 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -159,4 +159,83 @@ Boston, MA 02110-1301, USA.  */
 #define DECIMAL_DIG    __DECIMAL_DIG__
 
 #endif /* C99 */
+
+#if __STDC_WANT_DEC_FP__ == 1
+/* Draft Technical Report 24732, extension for decimal floating-point
+   arithmetic: Characteristic of decimal floating types <float.h>.  */
+
+/* Number of base-FLT_RADIX digits in the significand, p.  */
+#undef DEC32_MANT_DIG
+#undef DEC64_MANT_DIG
+#undef DEC128_MANT_DIG
+#define DEC32_MANT_DIG __DEC32_MANT_DIG__
+#define DEC64_MANT_DIG __DEC64_MANT_DIG__
+#define DEC128_MANT_DIG        __DEC128_MANT_DIG__
+
+/* Minimum exponent. */
+#undef DEC32_MIN_EXP
+#undef DEC64_MIN_EXP
+#undef DEC128_MIN_EXP
+#define DEC32_MIN_EXP  __DEC32_MIN_EXP__
+#define DEC64_MIN_EXP  __DEC64_MIN_EXP__
+#define DEC128_MIN_EXP __DEC128_MIN_EXP__
+
+/* Maximum exponent. */
+#undef DEC32_MAX_EXP
+#undef DEC64_MAX_EXP
+#undef DEC128_MAX_EXP
+#define DEC32_MAX_EXP  __DEC32_MAX_EXP__
+#define DEC64_MAX_EXP  __DEC64_MAX_EXP__
+#define DEC128_MAX_EXP __DEC128_MAX_EXP__
+
+/* Maximum representable finite decimal floating-point number
+   (there are 6, 15, and 33 9s after the decimal points respectively). */
+#undef DEC32_MAX
+#undef DEC64_MAX
+#undef DEC128_MAX
+#define DEC32_MAX   __DEC32_MAX__
+#define DEC64_MAX   __DEC64_MAX__
+#define DEC128_MAX  __DEC128_MAX__
+
+/* The difference between 1 and the least value greater than 1 that is
+   representable in the given floating point type. */
+#undef DEC32_EPSILON
+#undef DEC64_EPSILON
+#undef DEC128_EPSILON
+#define DEC32_EPSILON  __DEC32_EPSILON__
+#define DEC64_EPSILON  __DEC64_EPSILON__
+#define DEC128_EPSILON __DEC128_EPSILON__
+
+/* Minimum normalized positive floating-point number. */
+#undef DEC32_MIN
+#undef DEC64_MIN
+#undef DEC128_MIN
+#define DEC32_MIN      __DEC32_MIN__
+#define DEC64_MIN      __DEC64_MIN__
+#define DEC128_MIN     __DEC128_MIN__
+
+/* Minimum denormalized positive floating-point number. */
+#undef DEC32_DEN
+#undef DEC64_DEN
+#undef DEC128_DEN
+#define DEC32_DEN       __DEC32_DEN__
+#define DEC64_DEN       __DEC64_DEN__
+#define DEC128_DEN      __DEC128_DEN__
+
+/* The floating-point expression evaluation method.
+         -1  indeterminate
+         0  evaluate all operations and constants just to the range and
+            precision of the type
+         1  evaluate operations and constants of type _Decimal32 
+           and _Decimal64 to the range and precision of the _Decimal64 
+            type, evaluate _Decimal128 operations and constants to the 
+           range and precision of the _Decimal128 type;
+        2  evaluate all operations and constants to the range and
+           precision of the _Decimal128 type.  */
+
+#undef DECFLT_EVAL_METHOD
+#define DECFLT_EVAL_METHOD     __DECFLT_EVAL_METHOD__
+
+#endif /* __STDC_WANT_DEC_FP__ == 1 */
+
 #endif /* _FLOAT_H___ */
index 41f6dd8..7403bf9 100644 (file)
@@ -1,3 +1,10 @@
+2007-01-29  Janis Johnson  <janis187@us.ibm.com>
+
+       * gcc.dg/dfp/dec-eval-method.c: Replace decfloat.h with float.h.
+       * gcc.dg/dfp/decfloat-constants.c: Ditto.
+       * gcc.dg/dfp/convert-dfp.c: Ditto.
+       * gcc.dg/dfp/convert-int-saturate.c: Ditto.
+
 2007-01-29  Josh Conner  <jconner@apple.com>
 
        * gcc.target/powerpc/altivec-24.c: New test.
index bafe089..5afdcf0 100644 (file)
@@ -6,7 +6,8 @@
 
    Test various conversions involving decimal floating types. */
 
-#include <decfloat.h>
+#define __STDC_WANT_DEC_FP__ 1
+#include <float.h>
 
 extern void abort (void);
 
index 9aeb1d7..aeaa465 100644 (file)
@@ -4,7 +4,8 @@
    C99 6.3.1.4(1a) New.
    Test integer saturation.  */
 
-#include <decfloat.h>
+#define __STDC_WANT_DEC_FP__ 1
+#include <float.h>
 #include <limits.h>
 
 extern void abort (void);
index e1ccbb7..070a403 100644 (file)
@@ -1,11 +1,11 @@
 /* { dg-do compile } */
 /* { dg-options "-std=gnu99" } */
                                                                                 
-/* N1107 4: Characteristics of decimal floating types <decfloat.h>.
+/* N1107 4: Characteristics of decimal floating types <float.h>.
    C99 5.2.4.2.2a[2] (New).
 
    Verify that __DEC_EVAL_METHOD__ is defined; it will be used to define
-   DEC_EVAL_METHOD in <decfloat.h>.  */
+   DEC_EVAL_METHOD in <float.h>.  */
 
 int i;
 #ifndef __DEC_EVAL_METHOD__
index 62461e6..4980c65 100644 (file)
@@ -1,13 +1,14 @@
 /* { dg-options "-std=gnu99" } */
 
-/* N1150 4: Characteristics of decimal floating types <decfloat.h>.
+/* N1150 4: Characteristics of decimal floating types <float.h>.
    C99 5.2.4.2.2a[3]: New.
 
    Verify constants about range of decimal float and three components of
-   decimal float defined in decfloat.h.  */
+   decimal float defined in float.h.  */
 
-/* Make sure we are exporting the right values to decfloat.h. */
-#include <decfloat.h>
+/* Make sure we are exporting the right values to float.h. */
+#define __STDC_WANT_DEC_FP__ 1
+#include <float.h>
 
 extern void abort (void);