[REPATCH] reference pointer comparison
Nicholas Clark [Sat, 1 Dec 2001 13:00:17 +0000 (13:00 +0000)]
Message-ID: <20011201130017.I21702@plum.flirble.org>

p4raw-id: //depot/perl@13401

pp.c

diff --git a/pp.c b/pp.c
index 15949f9..fd4c52c 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -1544,11 +1544,14 @@ PP(pp_lt)
     }
 #endif
 #ifndef NV_PRESERVES_UV
-    else if (SvROK(TOPs) && SvROK(TOPm1s)) {
-        SP--;
-        SETs(boolSV(SvRV(TOPs) < SvRV(TOPp1s)));
-        RETURN;
-    }
+#ifdef PERL_PRESERVE_IVUV
+    else
+#endif
+        if (SvROK(TOPs) && SvROK(TOPm1s)) {
+            SP--;
+            SETs(boolSV(SvRV(TOPs) < SvRV(TOPp1s)));
+            RETURN;
+        }
 #endif
     {
       dPOPnv;
@@ -1619,7 +1622,10 @@ PP(pp_gt)
     }
 #endif
 #ifndef NV_PRESERVES_UV
-    else if (SvROK(TOPs) && SvROK(TOPm1s)) {
+#ifdef PERL_PRESERVE_IVUV
+    else
+#endif
+        if (SvROK(TOPs) && SvROK(TOPm1s)) {
         SP--;
         SETs(boolSV(SvRV(TOPs) > SvRV(TOPp1s)));
         RETURN;
@@ -1694,7 +1700,10 @@ PP(pp_le)
     }
 #endif
 #ifndef NV_PRESERVES_UV
-    else if (SvROK(TOPs) && SvROK(TOPm1s)) {
+#ifdef PERL_PRESERVE_IVUV
+    else
+#endif
+        if (SvROK(TOPs) && SvROK(TOPm1s)) {
         SP--;
         SETs(boolSV(SvRV(TOPs) <= SvRV(TOPp1s)));
         RETURN;
@@ -1769,7 +1778,10 @@ PP(pp_ge)
     }
 #endif
 #ifndef NV_PRESERVES_UV
-    else if (SvROK(TOPs) && SvROK(TOPm1s)) {
+#ifdef PERL_PRESERVE_IVUV
+    else
+#endif
+        if (SvROK(TOPs) && SvROK(TOPm1s)) {
         SP--;
         SETs(boolSV(SvRV(TOPs) >= SvRV(TOPp1s)));
         RETURN;