diff options
author | Clifford Wolf <clifford@clifford.at> | 2019-05-31 09:28:51 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2019-05-31 09:28:51 +0200 |
commit | 90ec2cda4217115fb91206a712befb3e6fa797e5 (patch) | |
tree | 423ff56c6377955a00aeb5f4a5d55f9f1298acb2 /passes/cmds | |
parent | 2faa1d0e80d213461d4403e36499aaaf1c8088b8 (diff) | |
download | yosys-90ec2cda4217115fb91206a712befb3e6fa797e5.tar.gz yosys-90ec2cda4217115fb91206a712befb3e6fa797e5.tar.bz2 yosys-90ec2cda4217115fb91206a712befb3e6fa797e5.zip |
Fix "tee" handling of log_streams
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'passes/cmds')
-rw-r--r-- | passes/cmds/tee.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/passes/cmds/tee.cc b/passes/cmds/tee.cc index ee96ace86..1a44bdaec 100644 --- a/passes/cmds/tee.cc +++ b/passes/cmds/tee.cc @@ -52,7 +52,9 @@ struct TeePass : public Pass { void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE { std::vector<FILE*> backup_log_files, files_to_close; + std::vector<std::ostream*> backup_log_streams; int backup_log_verbose_level = log_verbose_level; + backup_log_streams = log_streams; backup_log_files = log_files; size_t argidx; @@ -60,6 +62,7 @@ struct TeePass : public Pass { { if (args[argidx] == "-q" && files_to_close.empty()) { log_files.clear(); + log_streams.clear(); continue; } if ((args[argidx] == "-o" || args[argidx] == "-a") && argidx+1 < args.size()) { @@ -89,6 +92,7 @@ struct TeePass : public Pass { for (auto cf : files_to_close) fclose(cf); log_files = backup_log_files; + log_streams = backup_log_streams; throw; } @@ -97,6 +101,7 @@ struct TeePass : public Pass { log_verbose_level = backup_log_verbose_level; log_files = backup_log_files; + log_streams = backup_log_streams; } } TeePass; |