summaryrefslogtreecommitdiff
path: root/src/wasm2asm.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-02-03 11:17:30 -0800
committerAlon Zakai <alonzakai@gmail.com>2016-02-03 11:17:30 -0800
commit1ceff1c7ede8014782cae7170e75ce6cd3a52a16 (patch)
tree6478c33dc3adec74b462b7bbac15cf5e069376b9 /src/wasm2asm.h
parentff497f7a261331b3aa6a1e7a1f8a5e476f856d3c (diff)
parentb1ba1b81ae7a382018f5b5769e25d9431fd462b9 (diff)
downloadbinaryen-1ceff1c7ede8014782cae7170e75ce6cd3a52a16.tar.gz
binaryen-1ceff1c7ede8014782cae7170e75ce6cd3a52a16.tar.bz2
binaryen-1ceff1c7ede8014782cae7170e75ce6cd3a52a16.zip
Merge pull request #152 from WebAssembly/float-refactor
Float refactoring and nan comparison change
Diffstat (limited to 'src/wasm2asm.h')
-rw-r--r--src/wasm2asm.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/wasm2asm.h b/src/wasm2asm.h
index 76ccbf8b6..c87e81eec 100644
--- a/src/wasm2asm.h
+++ b/src/wasm2asm.h
@@ -915,21 +915,21 @@ Ref Wasm2AsmBuilder::processFunctionBody(Expression* curr, IString result) {
}
Ref visitConst(Const *curr) {
switch (curr->type) {
- case i32: return ValueBuilder::makeInt(curr->value.i32);
+ case i32: return ValueBuilder::makeInt(curr->value.geti32());
case f32: {
Ref ret = ValueBuilder::makeCall(MATH_FROUND);
Const fake;
- fake.value = Literal(double(curr->value.f32));
+ fake.value = Literal(double(curr->value.getf32()));
fake.type = f64;
ret[2]->push_back(visitConst(&fake));
return ret;
}
case f64: {
- double d = curr->value.f64;
+ double d = curr->value.getf64();
if (d == 0 && std::signbit(d)) { // negative zero
return ValueBuilder::makeUnary(PLUS, ValueBuilder::makeUnary(MINUS, ValueBuilder::makeDouble(0)));
}
- return ValueBuilder::makeUnary(PLUS, ValueBuilder::makeDouble(curr->value.f64));
+ return ValueBuilder::makeUnary(PLUS, ValueBuilder::makeDouble(curr->value.getf64()));
}
default: abort();
}