diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-02-22 14:17:16 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-02-22 14:17:16 -0800 |
commit | 36ac03888364283ef2a3d4492e673ba38f4fa1a8 (patch) | |
tree | a52f517304ae6f05a30602ed3bf81e14d0bd58f5 | |
parent | 534aa4a8ce66417f9579d72ac82ffb5a9c7b63ec (diff) |
always warn on undefs in asm, since it breaks validation
-rw-r--r-- | src/jsifier.js | 2 | ||||
-rwxr-xr-x | tests/runner.py | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index c51d7ab9..4af522b4 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -507,7 +507,7 @@ function JSify(data, functionsOnly, givenFunctions) { item.JS = addFromLibrary(shortident); } else { item.JS = 'var ' + item.ident + '; // stub for ' + item.ident; - if (WARN_ON_UNDEFINED_SYMBOLS) { + if (WARN_ON_UNDEFINED_SYMBOLS || ASM_JS) { // always warn on undefs in asm, since it breaks validation warn('Unresolved symbol: ' + item.ident); } } diff --git a/tests/runner.py b/tests/runner.py index 85cb0d3c..44879c16 100755 --- a/tests/runner.py +++ b/tests/runner.py @@ -8771,6 +8771,21 @@ f.close() self.assertContained('result: 62', run_js(os.path.join(self.get_dir(), 'a.out.js'))) + def test_asm_undefined(self): + src = r''' + #include <stdio.h> + extern void doit(); + int main(int argc, char **argv) { + if (argc == 121) doit(); + printf("done\n"); + return 1; + } + ''' + filename = self.in_dir('src.cpp') + open(filename, 'w').write(src) + out, err = Popen([PYTHON, EMCC, filename, '-s', 'ASM_JS=1', '-O2'], stderr=PIPE).communicate() + assert 'Warning: Unresolved symbol' in err, 'always warn on undefs in asm, since it breaks validation' + def test_redundant_link(self): lib = "int mult() { return 1; }" lib_name = os.path.join(self.get_dir(), 'libA.c') |