From: Clifford Wolf Date: Mon, 29 Dec 2014 03:15:48 +0000 (+0100) Subject: Fixed comment parsing in Pass::call() X-Git-Tag: yosys-0.5~188 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=33e25394b447eda249cc9cf7c114093f3069fb62;p=yosys.git Fixed comment parsing in Pass::call() --- diff --git a/kernel/register.cc b/kernel/register.cc index 7086e1424..56dc695aa 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() == ';')