Change 26634 by [EMAIL PROTECTED] on 2006/01/04 10:39:13
Workaround Win32 compiler bugs following change 26395
Can't understand what VC++ 6 and Borland don't like about it. There
is similar code for SvMAGIC and SvSTASH already in sv.h. Must be
compiler bugs since VC++ 7 and MinGW (and compilers on other platforms)
are all happy.
Affected files ...
... //depot/perl/gv.h#44 edit
Differences ...
==== //depot/perl/gv.h#44 (text) ====
Index: perl/gv.h
--- perl/gv.h#43~26446~ 2005-12-22 03:23:34.000000000 -0800
+++ perl/gv.h 2006-01-04 02:39:13.000000000 -0800
@@ -24,7 +24,11 @@
#define GvXPVGV(gv) ((XPVGV*)SvANY(gv))
-#ifdef DEBUGGING
+/* MSVC++ 6.0 (_MSC_VER == 1200) can't compile pp_hot.c with DEBUGGING enabled
+ * if we include the following assert(). Must be a compiler bug because it
+ * works fine with MSVC++ 7.0. Borland (5.5.1) has the same problem. */
+#if defined(DEBUGGING) && \
+ ((!defined(_MSC_VER) || _MSC_VER > 1200) && !defined(__BORLANDC__))
# define GvGP(gv) (*(assert(SvTYPE(gv) == SVt_PVGV || \
SvTYPE(gv) == SVt_PVLV), \
&(GvXPVGV(gv)->xgv_gp)))
End of Patch.