aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jsifier.js2
-rwxr-xr-xtests/runner.py15
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')