diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-08-12 11:57:12 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-08-12 20:16:27 -0700 |
commit | 7e3917884152eda021cff9107b5f789aee92fb1b (patch) | |
tree | 1a48c04c52e6e7b1615b01e2c92e2d597fe30b3c /src/binaryen-c.cpp | |
parent | 79029eb346b721eacdaa28326fe8e7b50042611c (diff) | |
download | binaryen-7e3917884152eda021cff9107b5f789aee92fb1b.tar.gz binaryen-7e3917884152eda021cff9107b5f789aee92fb1b.tar.bz2 binaryen-7e3917884152eda021cff9107b5f789aee92fb1b.zip |
support expressions in segment offsets
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r-- | src/binaryen-c.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index b7fc4347a..b0e241ab3 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -736,7 +736,7 @@ void BinaryenSetFunctionTable(BinaryenModuleRef module, BinaryenFunctionRef* fun // Memory. One per module -void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, const char **segments, BinaryenIndex* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments) { +void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, const char **segments, BinaryenExpressionRef* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments) { if (tracing) { std::cout << " {\n"; for (BinaryenIndex i = 0; i < numSegments; i++) { @@ -754,10 +754,10 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, Binaryen } if (numSegments == 0) std::cout << "0"; // ensure the array is not empty, otherwise a compiler error on VS std::cout << " };\n"; - std::cout << " BinaryenIndex segmentOffsets[] = { "; + std::cout << " BinaryenExpressionRef segmentOffsets[] = { "; for (BinaryenIndex i = 0; i < numSegments; i++) { if (i > 0) std::cout << ", "; - std::cout << segmentOffsets[i]; + std::cout << "expressions[" << expressions[segmentOffsets[i]] << "]"; } if (numSegments == 0) std::cout << "0"; // ensure the array is not empty, otherwise a compiler error on VS std::cout << " };\n"; @@ -779,7 +779,7 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, Binaryen wasm->memory.max = maximum; if (exportName) wasm->memory.exportName = exportName; for (BinaryenIndex i = 0; i < numSegments; i++) { - wasm->memory.segments.emplace_back(segmentOffsets[i], segments[i], segmentSizes[i]); + wasm->memory.segments.emplace_back((Expression*)segmentOffsets[i], segments[i], segmentSizes[i]); } } |