diff options
-rw-r--r-- | src/embind/embind.js | 4 | ||||
-rw-r--r-- | tests/test_core.py | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/embind/embind.js b/src/embind/embind.js index c729aff5..bb979365 100644 --- a/src/embind/embind.js +++ b/src/embind/embind.js @@ -721,6 +721,10 @@ function requireFunction(signature, rawFunction) { // - Function.prototype.bind generally benchmarks poorly relative to // function objects, but using 'arguments' would confound JITs and // possibly allocate. + var dc = asm['dynCall_' + signature]; + if (dc === undefined) { + throwBindingError("No dynCall invoker for signature: " + signature); + } fp = asm['dynCall_' + signature].bind(undefined, rawFunction); } else { fp = FUNCTION_TABLE[rawFunction]; diff --git a/tests/test_core.py b/tests/test_core.py index 083d468a..2e2f5587 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -5655,6 +5655,7 @@ def process(filename): def test_embind_2(self): if self.emcc_args is None: return self.skip('requires emcc') + if self.run_name == 'asm2f': return self.skip('embind/asm.js not compatible with PRECISE_F32 because it changes signature strings') if self.run_name == 'slow2asm': return self.skip('embind/asm.js requires fastcomp') Building.COMPILER_TEST_OPTS += ['--bind', '--post-js', 'post.js'] open('post.js', 'w').write(''' |