This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Bump ext/POSIX version to 1.48
[perl5.git] / ext / POSIX / lib / POSIX.pm
index 3a61b78..47520c8 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 
 our ($AUTOLOAD, %SIGRT);
 
-our $VERSION = '1.31';
+our $VERSION = '1.48';
 
 require XSLoader;
 
@@ -188,6 +188,8 @@ eval join ';', map "sub $_", keys %replacement, keys %reimpl;
 sub AUTOLOAD {
     my ($func) = ($AUTOLOAD =~ /.*::(.*)/);
 
+    die "POSIX.xs has failed to load\n" if $func eq 'constant';
+
     if (my $code = $reimpl{$func}) {
        my ($num, $arg) = (0, '');
        if ($code =~ s/^(.*?) *=> *//) {
@@ -241,19 +243,20 @@ our %EXPORT_TAGS = (
 
     dirent_h =>        [],
 
-    errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT
-               EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED
-               ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT
-               EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS
-               EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
-               EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH
-               ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM
-               ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
-               ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
-               EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE
-               ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT
-               ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY
-               EUSERS EWOULDBLOCK EXDEV errno)],
+    errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN
+               EALREADY EBADF EBADMSG EBUSY ECANCELED ECHILD ECONNABORTED
+               ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT EEXIST
+               EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EIDRM EILSEQ EINPROGRESS
+               EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE
+               ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS
+               ENODATA ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG
+               ENOPROTOOPT ENOSPC ENOSR ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR
+               ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP ENOTTY ENXIO
+               EOPNOTSUPP EOTHER EOVERFLOW EOWNERDEAD EPERM EPFNOSUPPORT EPIPE
+               EPROCLIM EPROTO EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE
+               ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE
+               ETIME ETIMEDOUT ETOOMANYREFS ETXTBSY EUSERS EWOULDBLOCK EXDEV
+               errno)],
 
     fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK
                F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK
@@ -265,6 +268,9 @@ our %EXPORT_TAGS = (
                S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID
                S_IWGRP S_IWOTH S_IWUSR)],
 
+    fenv_h =>  [qw(FE_DOWNWARD FE_TONEAREST FE_TOWARDZERO FE_UPWARD
+                    fegetround fesetround)],
+
     float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG
                DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP
                DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP
@@ -293,8 +299,19 @@ our %EXPORT_TAGS = (
                    LC_MONETARY LC_NUMERIC LC_TIME NULL
                    localeconv setlocale)],
 
-    math_h =>  [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod
-               frexp ldexp log10 modf pow sinh tan tanh)],
+    math_h => [qw(FP_ILOGB0 FP_ILOGBNAN FP_INFINITE FP_NAN FP_NORMAL
+                  FP_SUBNORMAL FP_ZERO HUGE_VAL INFINITY Inf M_1_PI
+                  M_2_PI M_2_SQRTPI M_E M_LN10 M_LN2 M_LOG10E M_LOG2E M_PI
+                  M_PI_2 M_PI_4 M_SQRT1_2 M_SQRT2 NAN NaN acos acosh
+                  asin asinh atan atanh cbrt ceil copysign cosh erf
+                  erfc exp2 expm1 fabs fdim floor fma fmax fmin fmod
+                  fpclassify frexp hypot ilogb isfinite isgreater
+                  isgreaterequal isinf isless islessequal
+                  islessgreater isnan isnormal isunordered j0 j1 jn
+                  ldexp lgamma log10 log1p log2 logb lrint modf nan
+                  nearbyint nextafter nexttoward pow remainder remquo
+                  rint round scalbn signbit sinh tan tanh tgamma trunc
+                  y0 y1 yn)],
 
     pwd_h =>   [],
 
@@ -326,7 +343,7 @@ our %EXPORT_TAGS = (
     stdlib_h =>        [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX
                abort atexit atof atoi atol bsearch calloc div
                free getenv labs ldiv malloc mblen mbstowcs mbtowc
-               qsort realloc strtod strtol strtoul wcstombs wctomb)],
+               qsort realloc strtod strtol strtold strtoul wcstombs wctomb)],
 
     string_h =>        [qw(NULL memchr memcmp memcpy memmove memset strcat
                strchr strcmp strcoll strcpy strcspn strerror strlen