mirror of https://github.com/YosysHQ/yosys.git
Support binary files for backends, fixes #1407
This commit is contained in:
parent
c372e7baf9
commit
d0493925ec
|
@ -856,7 +856,7 @@ struct XAigerBackend : public Backend {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
extra_args(f, filename, args, argidx);
|
extra_args(f, filename, args, argidx, !ascii_mode);
|
||||||
|
|
||||||
Module *top_module = design->top_module();
|
Module *top_module = design->top_module();
|
||||||
|
|
||||||
|
|
|
@ -612,7 +612,7 @@ void Backend::execute(std::vector<std::string> args, RTLIL::Design *design)
|
||||||
delete f;
|
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;
|
bool called_with_fp = f != NULL;
|
||||||
|
|
||||||
|
@ -647,7 +647,7 @@ void Backend::extra_args(std::ostream *&f, std::string &filename, std::vector<st
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
std::ofstream *ff = new std::ofstream;
|
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);
|
yosys_output_files.insert(filename);
|
||||||
if (ff->fail()) {
|
if (ff->fail()) {
|
||||||
delete ff;
|
delete ff;
|
||||||
|
|
|
@ -109,7 +109,7 @@ struct Backend : Pass
|
||||||
void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE YS_FINAL;
|
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;
|
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::string command);
|
||||||
static void backend_call(RTLIL::Design *design, std::ostream *f, std::string filename, std::vector<std::string> args);
|
static void backend_call(RTLIL::Design *design, std::ostream *f, std::string filename, std::vector<std::string> args);
|
||||||
|
|
Loading…
Reference in New Issue