Commit 7de4b37e by Kaveh R. Ghazi Committed by Kaveh Ghazi

inclhack.def (solaris_math_4): Use GCC's __builtin_fpclassify.

	* inclhack.def (solaris_math_4): Use GCC's __builtin_fpclassify.
	* tests/base/iso/math_c99.h: Update.
	* fixincl.x: Regenerate.

From-SVN: r135852
parent c36c9821
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> 2008-05-14 Joseph Myers <joseph@codesourcery.com>
* inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on * inclhack.def (AAB_fd_zero_asm_posix_types_h): Bypass on
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
* *
* DO NOT EDIT THIS FILE (fixincl.x) * 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 * From the definitions inclhack.def
* and the template file fixincl * 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. * You must regenerate it. Use the ./genfixes script.
* *
...@@ -22,18 +22,23 @@ ...@@ -22,18 +22,23 @@
* inclhack copyright (c) 1998, 1999, 2000, 2001 * inclhack copyright (c) 1998, 1999, 2000, 2001
* The Free Software Foundation, Inc. * The Free Software Foundation, Inc.
* *
* inclhack is free software: you can redistribute it and/or modify it * inclhack is free software.
* 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 distributed in the hope that it will be useful, but * You may redistribute it and/or modify it under the terms of the
* WITHOUT ANY WARRANTY; without even the implied warranty of * 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. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. * See the GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License along * You should have received a copy of the GNU General Public License
* with this program. If not, see <http://www.gnu.org/licenses/>. * 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[] = { ...@@ -5842,16 +5847,7 @@ static tTestDesc aSolaris_Math_4Tests[] = {
static const char* apzSolaris_Math_4Patch[] = { static const char* apzSolaris_Math_4Patch[] = {
"format", "format",
"#define\tfpclassify(x) \\\n\ "#define\tfpclassify(x) \\\n\
__extension__ ({ const __typeof(x) __x_fp = (x); \\\n\ __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))",
\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; })",
"^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)", "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
(char*)NULL }; (char*)NULL };
......
...@@ -3205,16 +3205,7 @@ fix = { ...@@ -3205,16 +3205,7 @@ fix = {
files = iso/math_c99.h; files = iso/math_c99.h;
c_fix = format; c_fix = format;
c_fix_arg = "#define\tfpclassify(x) \\\n" c_fix_arg = "#define\tfpclassify(x) \\\n"
" __extension__ ({ const __typeof(x) __x_fp = (x); \\\n" " __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))";
"\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; })";
c_fix_arg = "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)"; c_fix_arg = "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)";
test_text = test_text =
'#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n"
......
...@@ -38,16 +38,7 @@ ...@@ -38,16 +38,7 @@
#ident "@(#)math_c99.h 1.9 04/11/01 SMI" #ident "@(#)math_c99.h 1.9 04/11/01 SMI"
#undef fpclassify #undef fpclassify
#define fpclassify(x) \ #define fpclassify(x) \
__extension__ ({ const __typeof(x) __x_fp = (x); \ __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))
isnan(__x_fp) \
? FP_NAN \
: isinf(__x_fp) \
? FP_INFINITE \
: isnormal(__x_fp) \
? FP_NORMAL \
: __x_fp == 0.0 \
? FP_ZERO \
: FP_SUBNORMAL; })
#endif /* SOLARIS_MATH_4_CHECK */ #endif /* SOLARIS_MATH_4_CHECK */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment