diff options
| author | Clifford Wolf <clifford@clifford.at> | 2019-04-22 20:09:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-04-22 20:09:51 +0200 |
| commit | 8ed4a53d99fda86468658ade665fc2a9f2faa3c4 (patch) | |
| tree | 56b9ee5a9707ab6c118154bcda611ca5e3e1d8df /passes/cmds | |
| parent | 1d538ff1ecdbdbae7e8e462599a4a3d9983dd60b (diff) | |
| parent | e158ea20979165c1bac4c5c4027cf53255e57baa (diff) | |
| download | yosys-8ed4a53d99fda86468658ade665fc2a9f2faa3c4.tar.gz yosys-8ed4a53d99fda86468658ade665fc2a9f2faa3c4.tar.bz2 yosys-8ed4a53d99fda86468658ade665fc2a9f2faa3c4.zip | |
Merge pull request #951 from YosysHQ/clifford/logdebug
Add log_debug() framework
Diffstat (limited to 'passes/cmds')
| -rw-r--r-- | passes/cmds/trace.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/passes/cmds/trace.cc b/passes/cmds/trace.cc index f5305cde9..cf3e46ace 100644 --- a/passes/cmds/trace.cc +++ b/passes/cmds/trace.cc @@ -94,4 +94,38 @@ struct TracePass : public Pass { } } TracePass; +struct DebugPass : public Pass { + DebugPass() : Pass("debug", "run command with debug log messages enabled") { } + void help() YS_OVERRIDE + { + // |---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---|---v---| + log("\n"); + log(" debug cmd\n"); + log("\n"); + log("Execute the specified command with debug log messages enabled\n"); + log("\n"); + } + void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE + { + size_t argidx; + for (argidx = 1; argidx < args.size(); argidx++) + { + // .. parse options .. + break; + } + + log_force_debug++; + + try { + std::vector<std::string> new_args(args.begin() + argidx, args.end()); + Pass::call(design, new_args); + } catch (...) { + log_force_debug--; + throw; + } + + log_force_debug--; + } +} DebugPass; + PRIVATE_NAMESPACE_END |
