Author: Matti Picus <matti.pi...@gmail.com>
Branch: 
Changeset: r70432:bc44c98191c9
Date: 2014-04-04 13:16 +0300
http://bitbucket.org/pypy/pypy/changeset/bc44c98191c9/

Log:    disallow asmgcc on win32, breaks untested mingw support

diff --git a/rpython/config/test/test_translationoption.py 
b/rpython/config/test/test_translationoption.py
--- a/rpython/config/test/test_translationoption.py
+++ b/rpython/config/test/test_translationoption.py
@@ -2,9 +2,16 @@
 from rpython.config.translationoption import get_combined_translation_config
 from rpython.config.translationoption import set_opt_level
 from rpython.config.config import ConflictConfigError
+from rpython.translator.platform import platform as compiler
 
 
 def test_no_gcrootfinder_with_boehm():
     config = get_combined_translation_config()
     config.translation.gcrootfinder = "shadowstack"
     py.test.raises(ConflictConfigError, set_opt_level, config, '0')
+
+if compiler.name == 'msvc':
+    def test_no_asmgcrot_on_msvc():
+        config = get_combined_translation_config()
+        config.translation.setoption('gcrootfinder', 'asmgcc', 'required') 
+        py.test.raises(ConflictConfigError, set_opt_level, config, 'jit')
diff --git a/rpython/config/translationoption.py 
b/rpython/config/translationoption.py
--- a/rpython/config/translationoption.py
+++ b/rpython/config/translationoption.py
@@ -1,7 +1,7 @@
 import sys
 import os
 from rpython.config.config import OptionDescription, BoolOption, IntOption, 
ArbitraryOption, FloatOption
-from rpython.config.config import ChoiceOption, StrOption, Config
+from rpython.config.config import ChoiceOption, StrOption, Config, 
ConflictConfigError
 from rpython.config.config import ConfigError
 from rpython.config.support import detect_number_of_processors
 
@@ -366,9 +366,11 @@
     # if we have specified strange inconsistent settings.
     config.translation.gc = config.translation.gc
 
-    # disallow asmgcc on OS/X
+    # disallow asmgcc on OS/X and windows
     if config.translation.gcrootfinder == "asmgcc":
         assert sys.platform != "darwin"
+        if (sys.platform == 'win32'):
+            raise ConflictConfigError("asmgcc unusable on win32")
 
 # ----------------------------------------------------------------
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to