In perl.git, the branch smoke-me/jkeenan/xenu/133141-dragonfly has been updated
<https://perl5.git.perl.org/perl.git/commitdiff/e6381baf5dafa071ac30bb3eaac5c7c956f676a9?hp=71e845c3420f2496b845cf717d584dcaa063f4bf> - Log ----------------------------------------------------------------- commit e6381baf5dafa071ac30bb3eaac5c7c956f676a9 Author: Tomasz Konojacki <m...@xenu.pl> Date: Sun Apr 22 23:49:59 2018 +0200 getcwd() doesn't fail on non-existent directories on DragonFly BSD. Until it's fixed upstream, we should skip tests that don't expect this behaviour. [RT #133141] ----------------------------------------------------------------------- Summary of changes: dist/PathTools/t/cwd_enoent.t | 4 ++++ dist/Time-HiRes/Makefile.PL | 2 +- perl.h | 9 ++++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dist/PathTools/t/cwd_enoent.t b/dist/PathTools/t/cwd_enoent.t index ee99423cbb..b9adddeab7 100644 --- a/dist/PathTools/t/cwd_enoent.t +++ b/dist/PathTools/t/cwd_enoent.t @@ -24,6 +24,10 @@ foreach my $type (qw(regular perl)) { skip "_perl_abs_path() not expected to work", 4 if $type eq "perl" && !(($Config{prefix} =~ m/\//) && $^O ne "cygwin"); + + skip "getcwd() doesn't fail on non-existent directories on this platform", 4 + if $type eq 'regular' && $^O eq 'dragonfly'; + no warnings "redefine"; local *Cwd::abs_path = \&Cwd::_perl_abs_path if $type eq "perl"; local *Cwd::getcwd = \&Cwd::_perl_getcwd if $type eq "perl"; diff --git a/dist/Time-HiRes/Makefile.PL b/dist/Time-HiRes/Makefile.PL index e0f7dd9a2f..daca5b4f60 100644 --- a/dist/Time-HiRes/Makefile.PL +++ b/dist/Time-HiRes/Makefile.PL @@ -731,7 +731,7 @@ EOD print "NOT found.\n"; } - my $has_hires_utime = ($has_futimens || $has_utimensat); + my $has_hires_utime = ($has_futimens && $has_utimensat); if ($has_hires_utime) { $DEFINE .= ' -DTIME_HIRES_UTIME'; print "You seem to have subsecond timestamp setting.\n"; diff --git a/perl.h b/perl.h index 8f60f9b8fa..f41d5c9bd6 100644 --- a/perl.h +++ b/perl.h @@ -5402,13 +5402,8 @@ EXTCONST bool PL_valid_types_NV_set[]; * With the U8_NV version you will want to have inner braces, * while with the NV_U8 use just the NV. */ -#ifdef __cplusplus -#define INFNAN_U8_NV_DECL EXTERN_C const union { U8 u8[NVSIZE]; NV nv; } -#define INFNAN_NV_U8_DECL EXTERN_C const union { NV nv; U8 u8[NVSIZE]; } -#else #define INFNAN_U8_NV_DECL EXTCONST union { U8 u8[NVSIZE]; NV nv; } #define INFNAN_NV_U8_DECL EXTCONST union { NV nv; U8 u8[NVSIZE]; } -#endif /* if these never got defined, they need defaults */ #ifndef PERL_SET_CONTEXT @@ -6696,6 +6691,8 @@ extern void moncontrol(int); #ifdef DOUBLE_HAS_NAN +START_EXTERN_C + #ifdef DOINIT /* PL_inf and PL_nan initialization. @@ -6800,6 +6797,8 @@ INFNAN_NV_U8_DECL PL_nan; #endif +END_EXTERN_C + /* If you have not defined NV_INF/NV_NAN (like for example win32/win32.h), * we will define NV_INF/NV_NAN as the nv part of the global const * PL_inf/PL_nan. Note, however, that the preexisting NV_INF/NV_NAN -- Perl5 Master Repository