summaryrefslogtreecommitdiff
path: root/win32/win32.h
diff options
context:
space:
mode:
Diffstat (limited to 'win32/win32.h')
-rw-r--r--win32/win32.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/win32/win32.h b/win32/win32.h
index 87f4d4867a..d9311076ec 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -51,17 +51,19 @@
#undef finally
#undef leave
-#if defined(__cplusplus)
-extern "C++" {
-#endif
-
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <direct.h>
#include <process.h>
#include <time.h>
+#if defined(__cplusplus) && defined(_MSC_VER) && _MSC_VER == 1200
+extern "C++" { /* template without extern "C++" */
+#endif
#include <math.h>
+#if defined(__cplusplus) && defined(_MSC_VER) && _MSC_VER == 1200
+}
+#endif
#include <signal.h>
#include <sys/stat.h>
#include <sys/types.h>
@@ -73,10 +75,6 @@ extern "C++" {
#include <io.h>
#include <malloc.h>
-#if defined(__cplusplus)
-}
-#endif
-
#ifdef _M_IX86
# define WIN95 1
#else