aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jsifier.js2
-rw-r--r--src/parseTools.js4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/jsifier.js b/src/jsifier.js
index e218df05..aaf2d7d9 100644
--- a/src/jsifier.js
+++ b/src/jsifier.js
@@ -819,7 +819,7 @@ function JSify(data, functionsOnly, givenFunctions) {
break;
case VAR_EMULATED:
if (item.pointer.intertype == 'value') {
- return makeSetValue(item.ident, 0, value, item.valueType, 0, 0, item.align) + ';';
+ return makeSetValue(makeGlobalUse(item.ident), 0, value, item.valueType, 0, 0, item.align) + ';';
} else {
return makeSetValue(0, finalizeLLVMParameter(item.pointer), value, item.valueType, 0, 0, item.align) + ';';
}
diff --git a/src/parseTools.js b/src/parseTools.js
index 64fd0f91..4c91a20c 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -357,12 +357,12 @@ function hasVarArgs(params) {
}
function makeGlobalDef(ident) {
- if (!NAMED_GLOBALS && !Variables.globals[ident].alias) return '';
+ if (!NAMED_GLOBALS && ident in Variables.globals && !Variables.globals[ident].alias) return '';
return 'var ' + ident + ';'; // TODO: add option for namespacing or offsetting to allow reducing the number of globals
}
function makeGlobalUse(ident) {
- if (!NAMED_GLOBALS && !Variables.globals[ident].alias) {
+ if (!NAMED_GLOBALS && ident in Variables.globals && !Variables.globals[ident].alias) {
if (!(ident in Variables.indexedGlobals)) {
Variables.indexedGlobals[ident] = Variables.nextIndexedOffset;
Variables.nextIndexedOffset += Runtime.alignMemory(calcAllocatedSize(Variables.globals[ident].type));