This compiler can't compile its own standard headers with the default options
as it overflows an internal heap. Disable the use of standard containers by
default for it to avoid this problem and indicate that /Zm option must be used
to avoid this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67380
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
-// Default is 1 if compiler supports it.
+// Default is 1 if compiler supports it. Currently this means not one of the
+// compilers mentioned in wxUSE_STD_DEFAULT comment and also not VC6 as it
+// needs non-default options for such build to avoid getting "fatal error
+// C1076: compiler limit : internal heap limit reached; use /Zm to specify a
+// higher limit" in its own standard headers, so you need to ensure you do
+// increase the heap size before enabling this option for this compiler.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
-#define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#if defined(_MSC_VER) && _MSC_VER < 1300
+ #define wxUSE_STD_CONTAINERS 0
+#else
+ #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#endif
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
-// Default is 1 if compiler supports it.
+// Default is 1 if compiler supports it. Currently this means not one of the
+// compilers mentioned in wxUSE_STD_DEFAULT comment and also not VC6 as it
+// needs non-default options for such build to avoid getting "fatal error
+// C1076: compiler limit : internal heap limit reached; use /Zm to specify a
+// higher limit" in its own standard headers, so you need to ensure you do
+// increase the heap size before enabling this option for this compiler.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
-#define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#if defined(_MSC_VER) && _MSC_VER < 1300
+ #define wxUSE_STD_CONTAINERS 0
+#else
+ #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#endif
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
-// Default is 1 if compiler supports it.
+// Default is 1 if compiler supports it. Currently this means not one of the
+// compilers mentioned in wxUSE_STD_DEFAULT comment and also not VC6 as it
+// needs non-default options for such build to avoid getting "fatal error
+// C1076: compiler limit : internal heap limit reached; use /Zm to specify a
+// higher limit" in its own standard headers, so you need to ensure you do
+// increase the heap size before enabling this option for this compiler.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
-#define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#if defined(_MSC_VER) && _MSC_VER < 1300
+ #define wxUSE_STD_CONTAINERS 0
+#else
+ #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#endif
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
-// Default is 1 if compiler supports it.
+// Default is 1 if compiler supports it. Currently this means not one of the
+// compilers mentioned in wxUSE_STD_DEFAULT comment and also not VC6 as it
+// needs non-default options for such build to avoid getting "fatal error
+// C1076: compiler limit : internal heap limit reached; use /Zm to specify a
+// higher limit" in its own standard headers, so you need to ensure you do
+// increase the heap size before enabling this option for this compiler.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
-#define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#if defined(_MSC_VER) && _MSC_VER < 1300
+ #define wxUSE_STD_CONTAINERS 0
+#else
+ #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#endif
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
-// Default is 1 if compiler supports it.
+// Default is 1 if compiler supports it. Currently this means not one of the
+// compilers mentioned in wxUSE_STD_DEFAULT comment and also not VC6 as it
+// needs non-default options for such build to avoid getting "fatal error
+// C1076: compiler limit : internal heap limit reached; use /Zm to specify a
+// higher limit" in its own standard headers, so you need to ensure you do
+// increase the heap size before enabling this option for this compiler.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
-#define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#if defined(_MSC_VER) && _MSC_VER < 1300
+ #define wxUSE_STD_CONTAINERS 0
+#else
+ #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#endif
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
-// Default is 1 if compiler supports it.
+// Default is 1 if compiler supports it. Currently this means not one of the
+// compilers mentioned in wxUSE_STD_DEFAULT comment and also not VC6 as it
+// needs non-default options for such build to avoid getting "fatal error
+// C1076: compiler limit : internal heap limit reached; use /Zm to specify a
+// higher limit" in its own standard headers, so you need to ensure you do
+// increase the heap size before enabling this option for this compiler.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
-#define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#if defined(_MSC_VER) && _MSC_VER < 1300
+ #define wxUSE_STD_CONTAINERS 0
+#else
+ #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#endif
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
-// Default is 1 if compiler supports it.
+// Default is 1 if compiler supports it. Currently this means not one of the
+// compilers mentioned in wxUSE_STD_DEFAULT comment and also not VC6 as it
+// needs non-default options for such build to avoid getting "fatal error
+// C1076: compiler limit : internal heap limit reached; use /Zm to specify a
+// higher limit" in its own standard headers, so you need to ensure you do
+// increase the heap size before enabling this option for this compiler.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
-#define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#if defined(_MSC_VER) && _MSC_VER < 1300
+ #define wxUSE_STD_CONTAINERS 0
+#else
+ #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#endif
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
// usually more limited) implementations are used which allows to avoid the
// dependency on the C++ run-time library.
//
-// Default is 1 if compiler supports it.
+// Default is 1 if compiler supports it. Currently this means not one of the
+// compilers mentioned in wxUSE_STD_DEFAULT comment and also not VC6 as it
+// needs non-default options for such build to avoid getting "fatal error
+// C1076: compiler limit : internal heap limit reached; use /Zm to specify a
+// higher limit" in its own standard headers, so you need to ensure you do
+// increase the heap size before enabling this option for this compiler.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
//
// Recommended setting: 1 unless you use a system without good implementation
// of STL.
-#define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#if defined(_MSC_VER) && _MSC_VER < 1300
+ #define wxUSE_STD_CONTAINERS 0
+#else
+ #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#endif
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
// Use standard C++ streams if 1 instead of wx streams in some places. If
// disabled, wx streams are used everywhere and wxWidgets doesn't depend on the
#define wxUSE_STD_DEFAULT 0
#endif
#define wxUSE_STD_DEFAULT 0
#endif
-#define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#if defined(_MSC_VER) && _MSC_VER < 1300
+ #define wxUSE_STD_CONTAINERS 0
+#else
+ #define wxUSE_STD_CONTAINERS wxUSE_STD_DEFAULT
+#endif
#define wxUSE_STD_IOSTREAM wxUSE_STD_DEFAULT
#define wxUSE_STD_IOSTREAM wxUSE_STD_DEFAULT