/* 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.
#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)))