summaryrefslogtreecommitdiff
path: root/src/wasm-linker.h
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@chromium.org>2016-05-12 14:55:47 -0700
committerDerek Schuff <dschuff@chromium.org>2016-05-12 14:55:47 -0700
commitd84fd5be60d4ead6bc9fbb3f27a710bef0c688c8 (patch)
tree54bb55ccb64d775b12f9b97bf14019506c607050 /src/wasm-linker.h
parent87c583fb258bd373219fdfae3fa181c2d10b56b7 (diff)
downloadbinaryen-d84fd5be60d4ead6bc9fbb3f27a710bef0c688c8.tar.gz
binaryen-d84fd5be60d4ead6bc9fbb3f27a710bef0c688c8.tar.bz2
binaryen-d84fd5be60d4ead6bc9fbb3f27a710bef0c688c8.zip
Use a class with implicit overflow checks for Address (#486)
It includes implicit conversion from u64 and implicit conversion to address_t. This makes it easier to use without ugly casting and but still gets the overflow checks.
Diffstat (limited to 'src/wasm-linker.h')
-rw-r--r--src/wasm-linker.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/wasm-linker.h b/src/wasm-linker.h
index 41c0f3c7e..5fe01b393 100644
--- a/src/wasm-linker.h
+++ b/src/wasm-linker.h
@@ -100,14 +100,12 @@ class LinkerObject {
// Add an initializer segment for the named static variable.
void addSegment(Name name, const char* data, Address size) {
- assert(wasm.memory.segments.size() < std::numeric_limits<Address>::max());
- segments[name] = static_cast<Address>(wasm.memory.segments.size());
+ segments[name] = wasm.memory.segments.size();
wasm.memory.segments.emplace_back(0, data, size);
}
void addSegment(Name name, std::vector<char>& data) {
- assert(wasm.memory.segments.size() < std::numeric_limits<Address>::max());
- segments[name] = static_cast<Address>(wasm.memory.segments.size());
+ segments[name] = wasm.memory.segments.size();
wasm.memory.segments.emplace_back(0, data);
}