aboutsummaryrefslogtreecommitdiff
path: root/src/parseTools.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/parseTools.js')
-rw-r--r--src/parseTools.js8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index 14683bf6..134c6a83 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -479,10 +479,13 @@ function parseParamTokens(params) {
segment[0].text += segment[1].text;
segment.splice(1, 1); // TODO: merge tokens nicely
}
+ var num = isNumber(segment[1].text);
+ var ident = parseNumerical(segment[1].text, segment[0].text);
+ if (!num) ident = toNiceIdent(ident);
ret.push({
intertype: 'value',
type: segment[0].text,
- ident: toNiceIdent(parseNumerical(segment[1].text, segment[0].text))
+ ident: ident
});
Types.needAnalysis[removeAllPointing(ret[ret.length-1].type)] = 0;
}
@@ -569,7 +572,7 @@ function finalizeParam(param) {
if (param.type == 'i64' && USE_TYPED_ARRAYS == 2) {
return parseI64Constant(param.ident);
}
- var ret = toNiceIdent(param.ident);
+ var ret = param.ident;
if (ret in Variables.globals) {
ret = makeGlobalUse(ret);
}
@@ -1177,6 +1180,7 @@ function asmEnsureFloat(value, type) { // ensures that a float type has either 5
if (!ASM_JS) return value;
// coerce if missing a '.', or if smaller than 1, so could be 1e-5 which has no .
if (type in Runtime.FLOAT_TYPES && isNumber(value) && (value.toString().indexOf('.') < 0 || Math.abs(value) < 1)) {
+ if (FROUND && type === 'float') return 'Math_fround(' + value + ')';
if (RUNNING_JS_OPTS) {
return '(+' + value + ')'; // JS optimizer will run, we must do +x, and it will be corrected later
} else {