summaryrefslogtreecommitdiff
path: root/src/support/file.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-01-11 20:56:20 -0500
committerAlon Zakai <alonzakai@gmail.com>2016-01-11 20:56:20 -0500
commite982e93d68671443214dd91b4aefc6fe5992ac6b (patch)
tree618d585a09c4f1db17a563c597bbe5143d8a1122 /src/support/file.cpp
parente821979eb433ee0cefed786d46c870caec7a6234 (diff)
parent1b3600b0aca6a8f23b6d9e8ae33dcd75c9493810 (diff)
downloadbinaryen-e982e93d68671443214dd91b4aefc6fe5992ac6b.tar.gz
binaryen-e982e93d68671443214dd91b4aefc6fe5992ac6b.tar.bz2
binaryen-e982e93d68671443214dd91b4aefc6fe5992ac6b.zip
Merge pull request #93 from WebAssembly/asm2wasm-use-command-line
asm2wasm: use support's command-line
Diffstat (limited to 'src/support/file.cpp')
-rw-r--r--src/support/file.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/support/file.cpp b/src/support/file.cpp
index 470d07737..8813750d4 100644
--- a/src/support/file.cpp
+++ b/src/support/file.cpp
@@ -18,7 +18,8 @@
#include <cstdlib>
-std::string wasm::read_file(const std::string &filename, bool debug) {
+template <typename T>
+T wasm::read_file(const std::string &filename, bool debug) {
if (debug) std::cerr << "Loading '" << filename << "'..." << std::endl;
std::ifstream infile(filename);
if (!infile.is_open()) {
@@ -27,12 +28,16 @@ std::string wasm::read_file(const std::string &filename, bool debug) {
}
infile.seekg(0, std::ios::end);
size_t insize = infile.tellg();
- std::string input(insize + 1, '\0');
+ T input(insize + 1, '\0');
infile.seekg(0);
infile.read(&input[0], insize);
return input;
}
+// Explicit instantiations for the explicit specializations.
+template std::string wasm::read_file<>(const std::string &, bool);
+template std::vector<char> wasm::read_file<>(const std::string &, bool);
+
wasm::Output::Output(const std::string &filename, bool debug)
: outfile(), out([this, filename, debug]() {
std::streambuf *buffer;