summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--appveyor.yml8
-rw-r--r--include/mrbconf.h7
2 files changed, 14 insertions, 1 deletions
diff --git a/appveyor.yml b/appveyor.yml
index a91834cef..bf4fb3f17 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -14,10 +14,18 @@ environment:
# Visual Studio 2017 64bit
- visualcpp: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat
+ # Visual Studio 2017 32bit
+ - visualcpp: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
+ machine: x86
+
# Visual Studio 2015 64bit
- visualcpp: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
machine: amd64
+ # Visual Studio 2015 32bit
+ - visualcpp: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
+ machine: x86
+
# Visual Studio 2013 64bit
- visualcpp: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat
machine: amd64
diff --git a/include/mrbconf.h b/include/mrbconf.h
index 3a574c7d2..35762a8f0 100644
--- a/include/mrbconf.h
+++ b/include/mrbconf.h
@@ -38,7 +38,12 @@
/* add -DMRB_METHOD_T_STRUCT on machines that use higher bits of pointers */
/* no MRB_METHOD_T_STRUCT requires highest 2 bits of function pointers to be zero */
-//#define MRB_METHOD_T_STRUCT
+#ifndef MRB_METHOD_T_STRUCT
+ // can't use highest 2 bits of function pointers on 32bit Windows.
+# if defined(_WIN32) && !defined(_WIN64)
+# define MRB_METHOD_T_STRUCT
+# endif
+#endif
/* add -DMRB_INT32 to use 32bit integer for mrb_int; conflict with MRB_INT64;
Default for 32-bit CPU mode. */