diff options
Diffstat (limited to 'lib/isnanl-nolibm.h')
| -rw-r--r-- | lib/isnanl-nolibm.h | 32 | 
1 files changed, 12 insertions, 20 deletions
diff --git a/lib/isnanl-nolibm.h b/lib/isnanl-nolibm.h index 2639b3cd..a4374e70 100644 --- a/lib/isnanl-nolibm.h +++ b/lib/isnanl-nolibm.h @@ -1,35 +1,27 @@  /* Test for NaN that does not need libm. -   Copyright (C) 2007-2018 Free Software Foundation, Inc. +   Copyright (C) 2007-2022 Free Software Foundation, Inc. -   This program is free software: you can redistribute it and/or -   modify it under the terms of either: +   This file is free software: you can redistribute it and/or modify +   it under the terms of the GNU Lesser General Public License as +   published by the Free Software Foundation; either version 2.1 of the +   License, or (at your option) any later version. -     * the GNU Lesser General Public License as published by the Free -       Software Foundation; either version 3 of the License, or (at your -       option) any later version. - -   or - -     * 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. - -   or both in parallel, as here. -   This program is distributed in the hope that it will be useful, +   This file 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. +   GNU Lesser General Public License for more details. -   You should have received a copy of the GNU General Public License +   You should have received a copy of the GNU Lesser General Public License     along with this program.  If not, see <https://www.gnu.org/licenses/>.  */  #if HAVE_ISNANL_IN_LIBC  /* Get declaration of isnan macro or (older) isnanl function.  */  # include <math.h> -# if __GNUC__ >= 4 -   /* GCC 4.0 and newer provides three built-ins for isnan.  */ +# if (__GNUC__ >= 4) || (__clang_major__ >= 4) +   /* GCC >= 4.0 and clang provide a type-generic built-in for isnan. +      GCC >= 4.0 also provides __builtin_isnanl, but clang doesn't.  */  #  undef isnanl -#  define isnanl(x) __builtin_isnanl ((long double)(x)) +#  define isnanl(x) __builtin_isnan ((long double)(x))  # elif defined isnan  #  undef isnanl  #  define isnanl(x) isnan ((long double)(x))  | 
