diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-07-30 15:53:47 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-07-30 15:53:47 -0700 |
commit | 55626711df57e3f675935fb816022da242d023a6 (patch) | |
tree | 376d4c5a4ed180e259f139de7269c1e57274eff7 | |
parent | 7d395b63624edb19717affac24345c8ccd69e355 (diff) |
disable asm in embind mode, and add a test for what embind cannot do in asm mode yet; issue #1447
-rwxr-xr-x | emcc | 4 | ||||
-rwxr-xr-x | tests/runner.py | 20 |
2 files changed, 24 insertions, 0 deletions
@@ -1030,6 +1030,10 @@ try: exec('shared.Settings.' + key + ' = ' + value) # Apply effects from settings + if bind and shared.Settings.ASM_JS: + logging.warning('disabling asm.js since embind is not ready for it yet') + shared.Settings.ASM_JS = 0 + if shared.Settings.ASM_JS: assert opt_level >= 1, 'asm.js requires -O1 or above' diff --git a/tests/runner.py b/tests/runner.py index 47e18ed7..976772ce 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -9332,6 +9332,26 @@ def process(filename): ''' self.do_run(src, 'abs(-10): 10\nabs(-11): 11'); + def test_embind_2(self): + if self.emcc_args is None: return self.skip('requires emcc') + Building.COMPILER_TEST_OPTS += ['--bind', '--post-js', 'post.js'] + open('post.js', 'w').write(''' + Module.print('lerp ' + Module.lerp(1, 2, 0.66) + '.'); + ''') + src = r''' + #include <stdio.h> + #include <SDL/SDL.h> + #include <emscripten/bind.h> + using namespace emscripten; + float lerp(float a, float b, float t) { + return (1 - t) * a + t * b; + } + EMSCRIPTEN_BINDINGS(my_module) { + function("lerp", &lerp); + } + ''' + self.do_run(src, 'lerp 1.66'); + def test_scriptaclass(self): if self.emcc_args is None: return self.skip('requires emcc') |