Merge branch 'koriakin/xc7nocarrymux' into xaig
[yosys.git] / kernel / register.cc
index 983577682121c7b03d8cf87bf1a2a31fc82a9a84..26da96b95b6d9e62a217f3577050a25d510c4d38 100644 (file)
@@ -86,6 +86,9 @@ Pass::pre_post_exec_state_t Pass::pre_execute()
 
 void Pass::post_execute(Pass::pre_post_exec_state_t state)
 {
+       IdString::checkpoint();
+       log_suppressed();
+
        int64_t time_ns = PerformanceTimer::query() - state.begin_ns;
        runtime_ns += time_ns;
        current_pass = state.parent_pass;
@@ -428,6 +431,7 @@ void Frontend::extra_args(std::istream *&f, std::string &filename, std::vector<s
                        }
                        std::ifstream *ff = new std::ifstream;
                        ff->open(filename.c_str());
+                       yosys_input_files.insert(filename);
                        if (ff->fail())
                                delete ff;
                        else
@@ -541,8 +545,10 @@ void Backend::extra_args(std::ostream *&f, std::string &filename, std::vector<st
                }
 
                filename = arg;
+               rewrite_filename(filename);
                std::ofstream *ff = new std::ofstream;
                ff->open(filename.c_str(), std::ofstream::trunc);
+               yosys_output_files.insert(filename);
                if (ff->fail()) {
                        delete ff;
                        log_cmd_error("Can't open output file `%s' for writing: %s\n", filename.c_str(), strerror(errno));
@@ -613,7 +619,7 @@ static struct CellHelpMessages {
 
 struct HelpPass : public Pass {
        HelpPass() : Pass("help", "display help messages") { }
-       virtual void help()
+       void help() YS_OVERRIDE
        {
                log("\n");
                log("    help  ................  list all commands\n");
@@ -682,7 +688,7 @@ struct HelpPass : public Pass {
 
                fclose(f);
        }
-       virtual void execute(std::vector<std::string> args, RTLIL::Design*)
+       void execute(std::vector<std::string> args, RTLIL::Design*) YS_OVERRIDE
        {
                if (args.size() == 1) {
                        log("\n");
@@ -766,7 +772,7 @@ struct HelpPass : public Pass {
 
 struct EchoPass : public Pass {
        EchoPass() : Pass("echo", "turning echoing back of commands on and off") { }
-       virtual void help()
+       void help() YS_OVERRIDE
        {
                log("\n");
                log("    echo on\n");
@@ -779,7 +785,7 @@ struct EchoPass : public Pass {
                log("Do not print all commands to log before executing them. (default)\n");
                log("\n");
        }
-       virtual void execute(std::vector<std::string> args, RTLIL::Design*)
+       void execute(std::vector<std::string> args, RTLIL::Design*) YS_OVERRIDE
        {
                if (args.size() > 2)
                        cmd_error(args, 2, "Unexpected argument.");
@@ -804,10 +810,9 @@ struct MinisatSatSolver : public SatSolver {
        MinisatSatSolver() : SatSolver("minisat") {
                yosys_satsolver = this;
        }
-       virtual ezSAT *create() YS_OVERRIDE {
+       ezSAT *create() YS_OVERRIDE {
                return new ezMiniSAT();
        }
 } MinisatSatSolver;
 
 YOSYS_NAMESPACE_END
-