This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fix Storable test for pre-5.19.2 threaded perls
[perl5.git] / dist / Storable / t / blessed.t
index fe439ac..352eb5f 100644 (file)
@@ -6,6 +6,19 @@
 #  in the README file that comes with the distribution.
 #
 
+BEGIN {
+    # Do this as the very first thing, in order to avoid problems with the
+    # PADTMP flag on pre-5.19.3 threaded Perls.  On those Perls, compiling
+    # code that contains a constant-folded canonical truth value breaks
+    # the ability to take a reference to that canonical truth value later.
+    $::false = 0;
+    %::immortals = (
+       'u' => \undef,
+       'y' => \!$::false,
+       'n' => \!!$::false,
+    );
+}
+
 sub BEGIN {
     unshift @INC, 't';
     unshift @INC, 't/compat' if $] < 5.006002;
@@ -20,12 +33,6 @@ use Test::More;
 
 use Storable qw(freeze thaw store retrieve);
 
-%::immortals
-  = (u => \undef,
-     'y' => \(1 == 1),
-     n => \(1 == 0)
-);
-
 {
     %::weird_refs = (
         REF     => \(my $aref    = []),