diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-11-12 21:09:38 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-11-12 21:09:38 -0800 |
commit | 4caba7e02ab1e3dcae31114fd119544c7e106e70 (patch) | |
tree | 6f2a83cb8cc7679da85a4e1d564ef11d2eb06b4f /src/jsifier.js | |
parent | 634ded6639c0a25b558aedbfc8bb4add0a5feea9 (diff) |
make DEAD_FUNCTIONS work on js library functions too
Diffstat (limited to 'src/jsifier.js')
-rw-r--r-- | src/jsifier.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 97317756..a9505bb8 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -490,10 +490,15 @@ function JSify(data, functionsOnly, givenFunctions) { } else { // If this is not linkable, anything not in the library is definitely missing var cancel = false; + if (item.ident in DEAD_FUNCTIONS) { + LibraryManager.library[shortident] = new Function("Module['printErr']('dead function: " + shortident + "'); abort(-1);"); + delete LibraryManager.library[shortident + '__inline']; + delete LibraryManager.library[shortident + '__deps']; + } if (!LINKABLE && !LibraryManager.library.hasOwnProperty(shortident) && !LibraryManager.library.hasOwnProperty(shortident + '__inline')) { if (ERROR_ON_UNDEFINED_SYMBOLS) error('unresolved symbol: ' + shortident); if (VERBOSE || WARN_ON_UNDEFINED_SYMBOLS) printErr('warning: unresolved symbol: ' + shortident); - if (ASM_JS || item.ident in DEAD_FUNCTIONS) { + if (ASM_JS) { // emit a stub that will fail during runtime. this allows asm validation to succeed. LibraryManager.library[shortident] = new Function("Module['printErr']('missing function: " + shortident + "'); abort(-1);"); } else { |