From 5c5982c50a63c83dba2f68e9d5dcc2bb67cc4c67 Mon Sep 17 00:00:00 2001 From: YRabbit Date: Sat, 3 Jul 2021 08:23:25 +1000 Subject: Fix parser. Comments and IO_PORT Signed-off-by: YRabbit --- gowin/arch.cc | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'gowin/arch.cc') diff --git a/gowin/arch.cc b/gowin/arch.cc index 8dc5657c..b4c8c96f 100644 --- a/gowin/arch.cc +++ b/gowin/arch.cc @@ -492,19 +492,17 @@ void Arch::read_cst(std::istream &in) std::getline(in, line); io_loc = true; if (!std::regex_match(line, match, iobre)) { - // empty line or comment - if (line.empty() == 0) { - continue; - } else { - if (!std::regex_match(line, match, portre)) { - io_loc = false; - } else if (line.rfind("//", 0) == 0) { + if (std::regex_match(line, match, portre)) { + io_loc = false; + } else { + if ( (!line.empty()) && (line.rfind("//", 0) == std::string::npos)) { log_warning("Invalid constraint: %s\n", line.c_str()); - continue; } - } - } - // std::cout << match[1] << " " << match[2] << std::endl; + continue; + } + } + + //std::cout << match[1] << " " << match[2] << std::endl; IdString net = id(match[1]); auto it = cells.find(net); -- cgit v1.2.3