Date: Mon, 29 Jul 2013 08:32:14 +0000 (UTC) From: David Chisnall <theraven@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r253764 - head/lib/msun/src Message-ID: <201307290832.r6T8WEYB007487@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: theraven Date: Mon Jul 29 08:32:13 2013 New Revision: 253764 URL: http://svnweb.freebsd.org/changeset/base/253764 Log: Reenable the isnan(double) / isinf(double) declarations when targeting C89 + SUSv2 mode. Modified: head/lib/msun/src/math.h Modified: head/lib/msun/src/math.h ============================================================================== --- head/lib/msun/src/math.h Mon Jul 29 08:08:43 2013 (r253763) +++ head/lib/msun/src/math.h Mon Jul 29 08:32:13 2013 (r253764) @@ -209,6 +209,21 @@ __inline_isnanl(__const long double __x) return (__x != __x); } +/* + * Version 2 of the Single UNIX Specification (UNIX98) defined isnan() and + * isinf() as functions taking double. C99, and the subsequent POSIX revisions + * (SUSv3, POSIX.1-2001, define it as a macro that accepts any real floating + * point type. If we are targeting SUSv2 and C99 or C11 (or C++11) then we + * expose the newer definition, assuming that the language spec takes + * precedence over the operating system interface spec. + */ +#if __XSI_VISIBLE > 0 && __XSI_VISIBLE < 600 && __ISO_C_VISIBLE < 1999 +#undef isinf +#undef isnan +int isinf(double); +int isnan(double); +#endif + double acos(double); double asin(double); double atan(double);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307290832.r6T8WEYB007487>