]> Dogcows Code - chaz/yoink/blobdiff - src/stlplus/containers/containers_fixes.hpp
testing new non-autotools build system
[chaz/yoink] / src / stlplus / containers / containers_fixes.hpp
old mode 100755 (executable)
new mode 100644 (file)
similarity index 79%
rename from src/moof/stlplus/containers_fixes.hpp
rename to src/stlplus/containers/containers_fixes.hpp
index 618ef84..ad29f99
@@ -19,7 +19,6 @@
 #ifdef _MSC_VER\r
 // Microsoft Visual Studio\r
 // shut up the following irritating warnings\r
-//   4275 - VC6, exported class was derived from a class that was not exported\r
 //   4786 - VC6, identifier string exceeded maximum allowable length and was truncated (only affects debugger)\r
 //   4305 - VC6, identifier type was converted to a smaller type\r
 //   4503 - VC6, decorated name was longer than the maximum the compiler allows (only affects debugger)\r
 //   4355 - VC6, 'this' : used in base member initializer list\r
 //   4675 - VC7.1, "change" in function overload resolution _might_ have altered program\r
 //   4996 - VC8, 'xxxx' was declared deprecated\r
-#pragma warning(disable: 4275 4786 4305 4503 4309 4290 4800 4355 4675 4996)\r
+#pragma warning(disable: 4786 4305 4503 4309 4290 4800 4355 4675 4996)\r
 #endif\r
 \r
 #ifdef __BORLANDC__\r
 // Borland\r
 // Shut up the following irritating warnings\r
-//   8008 - Condition is always true.\r
-//          Whenever the compiler encounters a constant comparison that (due to\r
-//          the nature of the value being compared) is always true or false, it\r
-//          issues this warning and evaluates the condition at compile time.\r
 //   8026 - Functions with exception specifications are not expanded inline\r
 //   8027 - Functions with xxx are not expanded inline\r
-//   8060 - Possibly incorrect assignment.\r
-//          This warning is generated when the compiler encounters an assignment\r
-//          operator as the main operator of a conditional expression (part of\r
-//          an if, while, or do-while statement). This is usually a\r
-//          typographical error for the equality operator.\r
-//   8066 - Unreachable code.\r
-//          A break, continue, goto, or return statement was not followed by a\r
-//          label or the end of a loop or function. The compiler checks while,\r
-//          do, and for loops with a constant test condition, and attempts to\r
-//          recognize loops that can't fall through.\r
-#pragma warn -8008\r
 #pragma warn -8026\r
 #pragma warn -8027\r
-#pragma warn -8060\r
-#pragma warn -8066\r
 #endif\r
 \r
 ////////////////////////////////////////////////////////////////////////////////\r
 //   - version 7 (.NET) (compiler v.13) requires a typename in a parameter specification but supports all\r
 //   - version 8 (2005) (compiler v.14) requires parameters and templates, supports all\r
 #ifdef _MSC_VER\r
-#if _MSC_VER < 1300\r
+#if _MSC_VER <= 1200\r
 #undef TYPENAME\r
 #define TYPENAME\r
 #endif\r
 #endif\r
 #endif\r
 \r
+////////////////////////////////////////////////////////////////////////////////\r
+// Member templates\r
+// e.g. a template function in a template class\r
+\r
+// Not all compilers support them - this fix can be used to disable member\r
+// templates for compilers that don't. Unfortunately that means that some\r
+// functionality will be missing for those compilers.\r
+\r
+#define STLPLUS_MEMBER_TEMPLATES\r
+\r
+// Visual Studio v6 (compiler version 12) does not support them\r
+#ifdef _MSC_VER\r
+#if _MSC_VER <= 1200\r
+#undef STLPLUS_MEMBER_TEMPLATES\r
+#endif\r
+#endif\r
+\r
 ////////////////////////////////////////////////////////////////////////////////\r
 #endif\r
This page took 0.020318 seconds and 4 git commands to generate.