OSDN Git Service

* inclhack.def (solaris_math_4): Use GCC's __builtin_fpclassify.
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 24 May 2008 20:52:00 +0000 (20:52 +0000)
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 24 May 2008 20:52:00 +0000 (20:52 +0000)
* tests/base/iso/math_c99.h: Update.
* fixincl.x: Regenerate.

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

fixincludes/ChangeLog
fixincludes/fixincl.x
fixincludes/inclhack.def
fixincludes/tests/base/iso/math_c99.h

index 3f7e991..6f45df3 100644 (file)
@@ -1,3 +1,9 @@
+2008-05-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * inclhack.def (solaris_math_4): Use GCC's __builtin_fpclassify.
+       * tests/base/iso/math_c99.h: Update.
+       * fixincl.x: Regenerate.
+
 2008-05-14  Joseph Myers  <joseph@codesourcery.com>
 
        * inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on
index 4d5c8c0..f9786e0 100644 (file)
@@ -2,11 +2,11 @@
  * 
  * DO NOT EDIT THIS FILE   (fixincl.x)
  * 
- * It has been AutoGen-ed  Wednesday May 14, 2008 at 03:12:47 PM UTC
+ * It has been AutoGen-ed  Friday May 23, 2008 at 06:50:18 PM CEST
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT SVN-MERGE THIS FILE, EITHER Wed May 14 15:12:47 UTC 2008
+/* DO NOT SVN-MERGE THIS FILE, EITHER Fri May 23 18:50:18 CEST 2008
  *
  * You must regenerate it.  Use the ./genfixes script.
  *
  *  inclhack copyright (c) 1998, 1999, 2000, 2001
  *  The Free Software Foundation, Inc.
  *
-  *  inclhack 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 3 of the License, or
- *  (at your option) any later version.
+  *  inclhack is free software.
  *  
- *  inclhack is distributed in the hope that it will be useful, but
- *  WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  You may 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 of the License, or (at your option)
+ *  any later version.
+ *  
+ *  inclhack 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 this program.  If not, see <http://www.gnu.org/licenses/>.
+ *  You should have received a copy of the GNU General Public License
+ *  along with inclhack.  If not, write to:
+ *     The Free Software Foundation, Inc.,
+ *     51 Franklin Street, Fifth Floor
+ *     Boston, MA  02110-1301, USA.
  */
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -5842,16 +5847,7 @@ static tTestDesc aSolaris_Math_4Tests[] = {
 static const char* apzSolaris_Math_4Patch[] = {
     "format",
     "#define\tfpclassify(x) \\\n\
-  __extension__ ({ const __typeof(x) __x_fp = (x); \\\n\
-\t\t   isnan(__x_fp) \\\n\
-\t\t     ? FP_NAN \\\n\
-\t\t     : isinf(__x_fp) \\\n\
-\t\t       ? FP_INFINITE \\\n\
-\t\t       : isnormal(__x_fp) \\\n\
-\t\t\t ? FP_NORMAL \\\n\
-\t\t\t : __x_fp == 0.0 \\\n\
-\t\t\t   ? FP_ZERO \\\n\
-\t\t\t   : FP_SUBNORMAL; })",
+  __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))",
     "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
     (char*)NULL };
 
index a64566e..6c21cb1 100644 (file)
@@ -3205,16 +3205,7 @@ fix = {
     files = iso/math_c99.h;
     c_fix = format;
     c_fix_arg = "#define\tfpclassify(x) \\\n"
-                "  __extension__ ({ const __typeof(x) __x_fp = (x); \\\n"
-                "\t\t   isnan(__x_fp) \\\n"
-                "\t\t     ? FP_NAN \\\n"
-                "\t\t     : isinf(__x_fp) \\\n"
-                "\t\t       ? FP_INFINITE \\\n"
-                "\t\t       : isnormal(__x_fp) \\\n"
-                "\t\t\t ? FP_NORMAL \\\n"
-                "\t\t\t : __x_fp == 0.0 \\\n"
-                "\t\t\t   ? FP_ZERO \\\n"
-                "\t\t\t   : FP_SUBNORMAL; })";
+                "  __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))";
     c_fix_arg = "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)";
     test_text =
     '#ident    "@(#)math_c99.h 1.9     04/11/01 SMI"'"\n"
index e3b2799..4d9b631 100644 (file)
 #ident "@(#)math_c99.h 1.9     04/11/01 SMI"
 #undef fpclassify
 #define        fpclassify(x) \
-  __extension__ ({ const __typeof(x) __x_fp = (x); \
-                  isnan(__x_fp) \
-                    ? FP_NAN \
-                    : isinf(__x_fp) \
-                      ? FP_INFINITE \
-                      : isnormal(__x_fp) \
-                        ? FP_NORMAL \
-                        : __x_fp == 0.0 \
-                          ? FP_ZERO \
-                          : FP_SUBNORMAL; })
+  __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))
 #endif  /* SOLARIS_MATH_4_CHECK */