Tru64 nan() function broken.
authorJarkko Hietaniemi <jhi@iki.fi>
Mon, 22 Sep 2014 14:49:58 +0000 (10:49 -0400)
committerJarkko Hietaniemi <jhi@iki.fi>
Fri, 26 Sep 2014 21:04:51 +0000 (17:04 -0400)
Exists in libm, but no proto or man page, probably for a reason.
Return values seem to be garbage, or at least not NaN.

Also add a todo for the nan() payload.

ext/POSIX/POSIX.xs

index 0de280a..fff04a0 100644 (file)
 #    undef c99_isunordered
 #    undef c99_lrint
 #    undef c99_lround
+#    undef c99_nan /* in libm, but seems broken (no proto, either) */
 #    undef c99_nearbyint
 #    undef c99_nexttoward
 #    undef c99_remquo
@@ -2509,11 +2510,12 @@ nan(s = 0)
     CODE:
 #ifdef c99_nan
        RETVAL = c99_nan(s ? s : "");
-#else
+#elif defined(NV_NAN)
+       /* XXX if s != NULL, warn about unused argument,
+         * or implement the nan payload setting. */
        RETVAL = NV_NAN;
-#  ifndef NV_NAN
+#else
        not_here("nan");
-#  endif
 #endif
     OUTPUT:
        RETVAL