# endif
# define NV_DIG LDBL_DIG
# ifdef HAS_SQRTL
-# define Perl_modf modfl
-# define Perl_frexp frexpl
+ /* libsunmath doesn't have modfl and frexpl as of mid-March 2000 */
+ /* XXX Configure probe for modfl and frexpl needed XXX */
+# if defined(__sun) && defined(__svr4)
+# define Perl_modf(x,y) ((long double)modf((double)(x),(double*)(y)))
+# define Perl_frexp(x) ((long double)frexp((double)(x)))
+# else
+# define Perl_modf modfl
+# define Perl_frexp frexpl
+# endif
# define Perl_cos cosl
# define Perl_sin sinl
# define Perl_sqrt sqrtl
# if !defined(Strtol) && defined(HAS_STRTOLL)
# define Strtol strtoll
# endif
-# if !defined(Strtol) && defined(HAS_ATOLL)
-# define Strtol atoll
-# endif
/* is there atoq() anywhere? */
#endif
#if !defined(Strtol) && defined(HAS_STRTOL)
#ifndef Atol
/* It would be more fashionable to use Strtol() to define atol()
* (as is done for Atoul(), see below) but for backward compatibility
- * we just assume and use atol(). */
-# define Atol atol
+ * we just assume atol(). */
+# if defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG && defined(HAS_ATOLL)
+# define Atol atoll
+# else
+# define Atol atol
+# endif
#endif
#if !defined(Strtoul) && defined(USE_64_BIT_INT) && defined(UV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
# define Strtoul strtoul
#endif
#ifndef Atoul
-# define Atoul Strtoul(s, (char **)NULL, 10)
+# define Atoul(s) Strtoul(s, (char **)NULL, 10)
#endif
#if !defined(PERLIO_IS_STDIO) && defined(HASATTRIBUTE)