The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 19
META.json 22
META.yml 22
Warp.pm 11
Warp.xs 44
5 files changed (This is a version diff) 1018
@@ -1,5 +1,13 @@
+0.52 2015.04.16
+    The type of the Time::NVtime pointer is NV ()() not double ()(), as can be seen from looking at the Time::HiRes source.
+      On Linux x86_64 on a uselongdouble build when you replace the Time::NVtime entry with a
+      double (*)() pointer calls to that function end up leaving an entry on the FPU stack,
+      eventually causing the failure seen at https://rt.perl.org/Ticket/Display.html?id=123879
+      This minimal commit fixes that issue and allows DBIX::Class::TimeStamp to pass its tests.
+      (Tony Cook)
 
-0.51 2014-10-17
+
+0.51 2014.10.17
     New maintainer (SZABGAB)
     Use Test::More instead of Test
     Include META.yml RT #77752
@@ -4,7 +4,7 @@
       "Joshua Nathaniel Pritikin <jpritikin@pobox.com>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142060",
+   "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.150001",
    "license" : [
       "perl_5"
    ],
@@ -48,5 +48,5 @@
          "x_license" : "http://dev.perl.org/licenses/"
       }
    },
-   "version" : "0.51"
+   "version" : "0.52"
 }
@@ -7,7 +7,7 @@ build_requires:
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142060'
+generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.150001'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,4 +22,4 @@ requires:
 resources:
   bugtracker: http://github.com/szabgab/Time-Warp
   repository: http://github.com/szabgab/Time-Warp.git
-version: '0.51'
+version: '0.52'
@@ -5,7 +5,7 @@ require Exporter;
 require DynaLoader;
 @ISA =         qw(DynaLoader Exporter);
 @EXPORT_OK   = qw(reset to scale time);
-$VERSION     = '0.51';
+$VERSION     = '0.52';
 
 __PACKAGE__->bootstrap($VERSION);
 
@@ -14,7 +14,7 @@ extern "C" {
 
 /* Is time() portable everywhere?  Hope so!  XXX */
 
-static double fallback_NVtime()
+static NV fallback_NVtime()
 { return time(0); }
 
 static void fallback_U2time(U32 *ret)
@@ -26,7 +26,7 @@ static void fallback_U2time(U32 *ret)
 /*-----------------*/
 
 static int    Installed=0;
-static double (*realNVtime)();
+static NV (*realNVtime)();
 static void   (*realU2time)(U32 *);
 
 static double Lost;    /** time relative to now */
@@ -42,7 +42,7 @@ static void reset_warp()
 
 /*-----------------*/
 
-static double warped_NVtime()
+static NV warped_NVtime()
 {
     double now = (*realNVtime)() - Lost;
     double delta = now - Zero;
@@ -84,7 +84,7 @@ install_time_api()
     }
     svp = hv_fetch(PL_modglobal, "Time::NVtime", 12, 0);
     if (!SvIOK(*svp)) croak("Time::NVtime isn't a function pointer");
-    realNVtime = (double(*)()) SvIV(*svp);
+    realNVtime = (NV(*)()) SvIV(*svp);
     svp = hv_fetch(PL_modglobal, "Time::U2time", 12, 0);
     if (!SvIOK(*svp)) croak("Time::U2time isn't a function pointer");
     realU2time = (void(*)(U32*)) SvIV(*svp);