From 33e25394b447eda249cc9cf7c114093f3069fb62 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Mon, 29 Dec 2014 04:15:48 +0100 Subject: Fixed comment parsing in Pass::call() --- kernel/register.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/kernel/register.cc b/kernel/register.cc index 7086e142..56dc695a 100644 --- a/kernel/register.cc +++ b/kernel/register.cc @@ -150,7 +150,7 @@ void Pass::call(RTLIL::Design *design, std::string command) std::string cmd_buf = command; std::string tok = next_token(cmd_buf, " \t\r\n"); - if (tok.empty() || tok[0] == '#') + if (tok.empty()) return; if (tok[0] == '!') { @@ -166,8 +166,13 @@ void Pass::call(RTLIL::Design *design, std::string command) } while (!tok.empty()) { - if (tok == "#") - break; + if (tok == "#") { + int stop; + for (stop = 0; stop < GetSize(cmd_buf); stop++) + if (cmd_buf[stop] == '\r' || cmd_buf[stop] == '\n') + break; + cmd_buf = cmd_buf.substr(stop); + } else if (tok.back() == ';') { int num_semikolon = 0; while (!tok.empty() && tok.back() == ';') -- cgit v1.2.3