summaryrefslogtreecommitdiff
path: root/gv.h
diff options
context:
space:
mode:
Diffstat (limited to 'gv.h')
-rw-r--r--gv.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gv.h b/gv.h
index a97d4ba61e..97d3cd0322 100644
--- a/gv.h
+++ b/gv.h
@@ -24,7 +24,11 @@ struct gp {
#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)))