summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjuj <jujjyl@gmail.com>2016-06-21 21:34:39 +0100
committerAlon Zakai <alonzakai@gmail.com>2016-06-21 13:34:39 -0700
commit52821472b93e551375b8df43cc1b8a7bfc18e8f5 (patch)
tree4d20c79c5a84f52148b32e9e890fffb9e9765d6f
parent509319ac42a18b5a120ae9e45daac624affc07e1 (diff)
downloadbinaryen-52821472b93e551375b8df43cc1b8a7bfc18e8f5.tar.gz
binaryen-52821472b93e551375b8df43cc1b8a7bfc18e8f5.tar.bz2
binaryen-52821472b93e551375b8df43cc1b8a7bfc18e8f5.zip
Build fixes/workarounds to support Visual Studio 2013 build, which has trouble with some new C++11 constructs. (#581)
-rw-r--r--src/passes/CoalesceLocals.cpp4
-rw-r--r--src/passes/pass.cpp2
-rw-r--r--src/support/archive.cpp2
-rw-r--r--src/support/archive.h4
-rw-r--r--src/support/file.cpp1
5 files changed, 7 insertions, 6 deletions
diff --git a/src/passes/CoalesceLocals.cpp b/src/passes/CoalesceLocals.cpp
index e2d11d697..fb1ef09cb 100644
--- a/src/passes/CoalesceLocals.cpp
+++ b/src/passes/CoalesceLocals.cpp
@@ -569,7 +569,7 @@ void CoalesceLocalsWithLearning::pickIndices(std::vector<Index>& indices) {
#ifdef CFG_LEARN_DEBUG
std::cout << "[learning for " << getFunction()->name << "]\n";
#endif
- auto numVars = getFunction()->getNumVars();
+ auto numVars = this->getFunction()->getNumVars();
const int GENERATION_SIZE = std::min(Index(numVars * (numVars - 1)), Index(20));
Generator generator(this);
GeneticLearner<Order, double, Generator> learner(generator, GENERATION_SIZE);
@@ -590,7 +590,7 @@ void CoalesceLocalsWithLearning::pickIndices(std::vector<Index>& indices) {
#ifdef CFG_LEARN_DEBUG
learner.getBest()->dump("the best");
#endif
- pickIndicesFromOrder(*learner.getBest(), indices); // TODO: cache indices in Orders, at the cost of more memory?
+ this->pickIndicesFromOrder(*learner.getBest(), indices); // TODO: cache indices in Orders, at the cost of more memory?
}
// declare passes
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index 1c66147ef..35250cb8d 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -144,7 +144,7 @@ void PassRunner::run() {
if (index >= numFunctions) {
return ThreadWorkState::Finished; // nothing left
}
- Function* func = wasm->functions[index].get();
+ Function* func = this->wasm->functions[index].get();
// do the current task: run all passes on this function
for (auto* pass : stack) {
runPassOnFunction(pass, func);
diff --git a/src/support/archive.cpp b/src/support/archive.cpp
index 126f4e2ce..487a77376 100644
--- a/src/support/archive.cpp
+++ b/src/support/archive.cpp
@@ -60,7 +60,7 @@ uint32_t ArchiveMemberHeader::getSize() const {
return static_cast<uint32_t>(sizeInt);
}
-Archive::Archive(Buffer& b, bool& error) : data(b) {
+Archive::Archive(Buffer& b, bool& error) : data(b), symbolTable({nullptr, 0}), stringTable({nullptr, 0}) {
error = false;
if (data.size() < strlen(magic) ||
memcmp(data.data(), magic, strlen(magic))) {
diff --git a/src/support/archive.h b/src/support/archive.h
index 40fea2529..95af1ac94 100644
--- a/src/support/archive.h
+++ b/src/support/archive.h
@@ -97,8 +97,8 @@ class Archive {
private:
void setFirstRegular(const Child& c) { firstRegularData = c.data; }
Buffer& data;
- SubBuffer symbolTable = {nullptr, 0};
- SubBuffer stringTable = {nullptr, 0};
+ SubBuffer symbolTable;
+ SubBuffer stringTable;
const uint8_t* firstRegularData;
};
diff --git a/src/support/file.cpp b/src/support/file.cpp
index 59880e862..296fd6dbe 100644
--- a/src/support/file.cpp
+++ b/src/support/file.cpp
@@ -17,6 +17,7 @@
#include "support/file.h"
#include <cstdlib>
+#include <cstdint>
#include <limits>
template <typename T>