diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2008-05-18 23:19:38 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2008-05-18 23:19:38 +0000 |
commit | 05f41289d88658c05f34f713aed66054e12ff316 (patch) | |
tree | 90c75e8f2433a04ac95315cbba4166b8f7f7b3d2 /gcc/builtins.def | |
parent | d393bbd73754dfe54fac24d350c789316f17428f (diff) | |
download | gcc-05f41289d88658c05f34f713aed66054e12ff316.zip gcc-05f41289d88658c05f34f713aed66054e12ff316.tar.gz gcc-05f41289d88658c05f34f713aed66054e12ff316.tar.bz2 |
re PR middle-end/35509 (builtin isinf() mismatch to compile-time substitution)
PR middle-end/35509
* builtins.c (mathfn_built_in_1): Renamed from mathfn_built_in.
Add `implicit' parameter. Handle BUILT_IN_SIGNBIT.
(mathfn_built_in): Rewrite in terms of mathfn_built_in_1.
(fold_builtin_classify): Handle BUILT_IN_ISINF_SIGN.
(fold_builtin_1): Likewise.
* builtins.def (BUILT_IN_ISINF_SIGN): New.
c-common.c (check_builtin_function_arguments): Handle
BUILT_IN_ISINF_SIGN.
* doc/extend.texi: Document __builtin_isinf_sign.
* fold-const.c (operand_equal_p): Handle COND_EXPR.
testsuite:
* gcc.dg/builtins-error.c: Test __builtin_isinf_sign.
* gcc.dg/tg-tests.h: Likewise. Mark variables volatile.
* gcc.dg/torture/builtin-isinf_sign-1.c: New test.
From-SVN: r135517
Diffstat (limited to 'gcc/builtins.def')
-rw-r--r-- | gcc/builtins.def | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/builtins.def b/gcc/builtins.def index 722f81c..8bae2bd 100644 --- a/gcc/builtins.def +++ b/gcc/builtins.def @@ -655,6 +655,7 @@ DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITED32, "finited32", BT_FN_INT_DFLOAT32, ATT DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITED64, "finited64", BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LIST) DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITED128, "finited128", BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LIST) DEF_GCC_BUILTIN (BUILT_IN_ISFINITE, "isfinite", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC) +DEF_GCC_BUILTIN (BUILT_IN_ISINF_SIGN, "isinf_sign", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC) DEF_C99_C90RES_BUILTIN (BUILT_IN_ISINF, "isinf", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC) DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFF, "isinff", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LIST) DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFL, "isinfl", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LIST) |