aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-09-29 09:21:51 -0700
committerEddie Hung <eddie@fpgeh.com>2019-09-29 09:21:51 -0700
commitf3e150d9a5a71a554a99c619ae5389f687c381ef (patch)
tree6f5145bfc48768fd858032b8a9a4295804d26a8f /kernel
parent79b6edb6397c530a7304eb4334f95324a4208aba (diff)
parentce0631c371f69f0132ea9ee4bc8f5ee576dbb1a3 (diff)
downloadyosys-f3e150d9a5a71a554a99c619ae5389f687c381ef.tar.gz
yosys-f3e150d9a5a71a554a99c619ae5389f687c381ef.tar.bz2
yosys-f3e150d9a5a71a554a99c619ae5389f687c381ef.zip
Merge remote-tracking branch 'origin/master' into xaig_dff
Diffstat (limited to 'kernel')
-rw-r--r--kernel/register.cc4
-rw-r--r--kernel/register.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/kernel/register.cc b/kernel/register.cc
index 8131fa279..3033ee710 100644
--- a/kernel/register.cc
+++ b/kernel/register.cc
@@ -612,7 +612,7 @@ void Backend::execute(std::vector<std::string> args, RTLIL::Design *design)
delete f;
}
-void Backend::extra_args(std::ostream *&f, std::string &filename, std::vector<std::string> args, size_t argidx)
+void Backend::extra_args(std::ostream *&f, std::string &filename, std::vector<std::string> args, size_t argidx, bool bin_output)
{
bool called_with_fp = f != NULL;
@@ -647,7 +647,7 @@ void Backend::extra_args(std::ostream *&f, std::string &filename, std::vector<st
#endif
} else {
std::ofstream *ff = new std::ofstream;
- ff->open(filename.c_str(), std::ofstream::trunc);
+ ff->open(filename.c_str(), bin_output ? (std::ofstream::trunc | std::ofstream::binary) : std::ofstream::trunc);
yosys_output_files.insert(filename);
if (ff->fail()) {
delete ff;
diff --git a/kernel/register.h b/kernel/register.h
index c74029823..be836013f 100644
--- a/kernel/register.h
+++ b/kernel/register.h
@@ -109,7 +109,7 @@ struct Backend : Pass
void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE YS_FINAL;
virtual void execute(std::ostream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design *design) = 0;
- void extra_args(std::ostream *&f, std::string &filename, std::vector<std::string> args, size_t argidx);
+ void extra_args(std::ostream *&f, std::string &filename, std::vector<std::string> args, size_t argidx, bool bin_output = false);
static void backend_call(RTLIL::Design *design, std::ostream *f, std::string filename, std::string command);
static void backend_call(RTLIL::Design *design, std::ostream *f, std::string filename, std::vector<std::string> args);