aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--include/ruby/win32.h14
2 files changed, 10 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 8a3216f2d5..03c60f91e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Jan 4 01:20:21 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * win32.h: only VC6 needs extern "C++" for math.h. [ruby-talk:285660]
+
Fri Jan 4 00:54:43 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* include/ruby/oniguruma.h: Oniguruma 1.9.1 merged.
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