aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/register.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/register.cc b/kernel/register.cc
index f6f5804b5..9f6fe37d3 100644
--- a/kernel/register.cc
+++ b/kernel/register.cc
@@ -149,12 +149,15 @@ void Pass::call(RTLIL::Design *design, std::string command)
std::string str = p;
int strsz = str.size();
if (strsz > 0 && str[strsz-1] == ';') {
+ int num_semikolon = 0;
while (strsz > 0 && str[strsz-1] == ';')
- strsz--;
+ strsz--, num_semikolon++;
if (strsz > 0)
args.push_back(str.substr(0, strsz));
call(design, args);
args.clear();
+ if (num_semikolon == 2)
+ call(design, "clean");
} else
args.push_back(str);
}