diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2023-01-09 17:02:56 +0100 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2023-01-09 17:02:56 +0100 |
commit | 40282576b08cb0c786f8088a128be7f5c7ea25a4 (patch) | |
tree | cccb83cbe2eae76b05d6c2fb4cf13ac0b04b0877 | |
parent | f2c689403ace0637b7455bac8f1e8d4bc312e74f (diff) | |
download | yosys-40282576b08cb0c786f8088a128be7f5c7ea25a4.tar.gz yosys-40282576b08cb0c786f8088a128be7f5c7ea25a4.tar.bz2 yosys-40282576b08cb0c786f8088a128be7f5c7ea25a4.zip |
Display error instead of assertion when pass exists
-rw-r--r-- | kernel/register.cc | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/kernel/register.cc b/kernel/register.cc index ab391b10d..0e4d503be 100644 --- a/kernel/register.cc +++ b/kernel/register.cc @@ -108,7 +108,9 @@ Pass::Pass(std::string name, std::string short_help) : pass_name(name), short_he void Pass::run_register() { - log_assert(pass_register.count(pass_name) == 0); + if (pass_register.count(pass_name)) + log_error("Unable to register pass '%s', pass already exists!\n", pass_name.c_str()); + pass_register[pass_name] = this; } @@ -445,10 +447,13 @@ Frontend::Frontend(std::string name, std::string short_help) : void Frontend::run_register() { - log_assert(pass_register.count(pass_name) == 0); + if (pass_register.count(pass_name)) + log_error("Unable to register pass '%s', pass already exists!\n", pass_name.c_str()); pass_register[pass_name] = this; - log_assert(frontend_register.count(frontend_name) == 0); + if (frontend_register.count(frontend_name)) + log_error("Unable to register frontend '%s', frontend already exists!\n", frontend_name.c_str()); + frontend_register[frontend_name] = this; } @@ -626,10 +631,12 @@ Backend::Backend(std::string name, std::string short_help) : void Backend::run_register() { - log_assert(pass_register.count(pass_name) == 0); + if (pass_register.count(pass_name)) + log_error("Unable to register pass '%s', pass already exists!\n", pass_name.c_str()); pass_register[pass_name] = this; - log_assert(backend_register.count(backend_name) == 0); + if (backend_register.count(backend_name)) + log_error("Unable to register backend '%s', backend already exists!\n", backend_name.c_str()); backend_register[backend_name] = this; } |