summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-03 16:20:29 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-03 16:20:29 +0000
commit97751bbd5a3a6b66f91932ff3292f5b113ee964f (patch)
tree32771456f7676526caef2ffc2d82b5b4cd21210b /include
parent52ed8c4edd880e9b9482748e9692b1e22917bf92 (diff)
* win32.h: only VC6 needs extern "C++" for math.h. [ruby-talk:285660]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include')
-rw-r--r--include/ruby/win32.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/include/ruby/win32.h b/include/ruby/win32.h
index 79e3396892..3b7b113133 100644
--- a/include/ruby/win32.h
+++ b/include/ruby/win32.h
@@ -46,17 +46,19 @@ extern "C" {
#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>
@@ -88,10 +90,6 @@ typedef unsigned int uintptr_t;
# endif
#endif
-#if defined(__cplusplus)
-}
-#endif
-
#ifdef _M_IX86
# define WIN95 1
#else