aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xemcc2
-rwxr-xr-xtests/runner.py8
2 files changed, 9 insertions, 1 deletions
diff --git a/emcc b/emcc
index 73921f91..6f0f9cbf 100755
--- a/emcc
+++ b/emcc
@@ -86,6 +86,7 @@ LEAVE_INPUTS_RAW = os.environ.get('EMCC_LEAVE_INPUTS_RAW') # Do not compile .ll
# added in. Also, LLVM optimizations will not be done, nor dead code elimination
if DEBUG: print >> sys.stderr, 'emcc: ', ' '.join(sys.argv)
+if DEBUG and LEAVE_INPUTS_RAW: print >> sys.stderr, 'emcc: leaving inputs raw'
shared.check_sanity()
@@ -477,6 +478,7 @@ try:
shared.Building.build_library('libcxx', shared.EMSCRIPTEN_TEMP_DIR, shared.EMSCRIPTEN_TEMP_DIR, ['libcxx.bc'], configure=None, copy_project=True, source_dir=shared.path_from_root('system', 'lib', 'libcxx'))
return os.path.join(shared.EMSCRIPTEN_TEMP_DIR, 'libcxx', 'libcxx.bc')
def fix_libcxx():
+ assert shared.Settings.QUANTUM_SIZE == 4, 'We do not support libc++ with QUANTUM_SIZE == 1'
# libcxx might need corrections, so turn them all on. TODO: check which are actually needed
shared.Settings.CORRECT_SIGNS = shared.Settings.CORRECT_OVERFLOWS = shared.Settings.CORRECT_ROUNDINGS = 1
print >> sys.stderr, 'emcc: warning: using libcxx turns on CORRECT_* options'
diff --git a/tests/runner.py b/tests/runner.py
index 00003547..22c84eea 100755
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -1167,6 +1167,8 @@ if 'benchmark' not in str(sys.argv) and 'sanity' not in str(sys.argv):
self.do_run(src, 'Assertion failed: 1 == false')
def test_exceptions(self):
+ if Settings.QUANTUM_SIZE == 1: return self.skip("we don't support libcxx in q1")
+
self.banned_js_engines = [NODE_JS] # node issue 1669, exception causes stdout not to be flushed
Settings.DISABLE_EXCEPTION_CATCHING = 0
if self.emcc_args is None: self.emcc_args = [] # libc++ auto-inclusion is only done if we use emcc
@@ -3868,7 +3870,11 @@ def process(filename):
# libc++ tests
def test_iostream(self):
- if self.emcc_args is None: self.emcc_args = [] # libc++ auto-inclusion is only done if we use emcc
+ if Settings.QUANTUM_SIZE == 1: return self.skip("we don't support libcxx in q1")
+
+ if self.emcc_args is None:
+ self.emcc_args = [] # libc++ auto-inclusion is only done if we use emcc
+ Settings.SAFE_HEAP = 0 # Some spurious warnings from libc++ internals
src = '''
#include <iostream>