diff options
author | Derek Schuff <dschuff@chromium.org> | 2016-05-12 14:55:47 -0700 |
---|---|---|
committer | Derek Schuff <dschuff@chromium.org> | 2016-05-12 14:55:47 -0700 |
commit | d84fd5be60d4ead6bc9fbb3f27a710bef0c688c8 (patch) | |
tree | 54bb55ccb64d775b12f9b97bf14019506c607050 /src/wasm-linker.h | |
parent | 87c583fb258bd373219fdfae3fa181c2d10b56b7 (diff) | |
download | binaryen-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.h | 6 |
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); } |