aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-01-20 15:15:39 -0800
committerAlon Zakai <alonzakai@gmail.com>2014-01-20 15:15:39 -0800
commit6363dec347be9cb2e7dd775330785c8f8019eca9 (patch)
tree79d5016170e72de60994cf87ae91313f5bf6f98d
parent8232a25d37d77fe523757ed0cf32557df07e011a (diff)
fix longjmp call by pointer in fastcomp, and enable test_longjmp2
-rw-r--r--src/library.js4
-rw-r--r--tests/test_core.py4
2 files changed, 5 insertions, 3 deletions
diff --git a/src/library.js b/src/library.js
index 09cb9b42..c668a5aa 100644
--- a/src/library.js
+++ b/src/library.js
@@ -6287,6 +6287,10 @@ LibraryManager.library = {
throw { longjmp: true, id: {{{ makeGetValue('env', '0', 'i32') }}}, value: value || 1 };
#endif
},
+ emscripten_longjmp__deps: ['longjmp'],
+ emscripten_longjmp: function(env, value) {
+ _longjmp(env, value);
+ },
// ==========================================================================
// signal.h
diff --git a/tests/test_core.py b/tests/test_core.py
index 4d1cfdd3..3b067308 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -1123,11 +1123,9 @@ class T(RunnerCore): # Short name, to make it more fun to use manually on the co
self.do_run_from_file(src, output)
def test_longjmp2(self):
- if os.environ.get('EMCC_FAST_COMPILER') == '1': return self.skip('todo in fastcomp')
-
+ if os.environ.get('EMCC_FAST_COMPILER') == '1': Settings.DISABLE_EXCEPTION_CATCHING = 1
test_path = path_from_root('tests', 'core', 'test_longjmp2')
src, output = (test_path + s for s in ('.in', '.out'))
-
self.do_run_from_file(src, output)
def test_longjmp3(self):