pod2usage2.t is not readily portable to VMS either
[p5sagit/p5-mst-13.2.git] / gv.h
diff --git a/gv.h b/gv.h
index a97d4ba..4b410e8 100644 (file)
--- a/gv.h
+++ b/gv.h
@@ -1,7 +1,7 @@
 /*    gv.h
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, 2004, 2005, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 2005, 2006, by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -24,7 +24,13 @@ 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. And MinGW
+ * (gcc-3.4.2) has a different problem when compiling win32/perllib.c! */
+#if defined(DEBUGGING) && \
+    ((!defined(_MSC_VER) || _MSC_VER > 1200) && \
+      !defined(__BORLANDC__) && !defined(__MINGW32__))
 #  define GvGP(gv)     (*(assert(SvTYPE(gv) == SVt_PVGV || \
                                  SvTYPE(gv) == SVt_PVLV), \
                           &(GvXPVGV(gv)->xgv_gp)))