aboutsummaryrefslogtreecommitdiffstats
path: root/passes/cmds
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-05-31 09:28:51 +0200
committerClifford Wolf <clifford@clifford.at>2019-05-31 09:28:51 +0200
commit90ec2cda4217115fb91206a712befb3e6fa797e5 (patch)
tree423ff56c6377955a00aeb5f4a5d55f9f1298acb2 /passes/cmds
parent2faa1d0e80d213461d4403e36499aaaf1c8088b8 (diff)
downloadyosys-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.cc5
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;