diff options
| author | YRabbit <rabbit@yrabbit.cyou> | 2021-07-03 08:23:25 +1000 | 
|---|---|---|
| committer | YRabbit <rabbit@yrabbit.cyou> | 2021-07-03 08:23:25 +1000 | 
| commit | 5c5982c50a63c83dba2f68e9d5dcc2bb67cc4c67 (patch) | |
| tree | 0b89dba370de1903afc4c116c0df635fbde69164 | |
| parent | 9443267717cf0ea2278f800127db7fd9e962650f (diff) | |
| download | nextpnr-5c5982c50a63c83dba2f68e9d5dcc2bb67cc4c67.tar.gz nextpnr-5c5982c50a63c83dba2f68e9d5dcc2bb67cc4c67.tar.bz2 nextpnr-5c5982c50a63c83dba2f68e9d5dcc2bb67cc4c67.zip  | |
Fix parser. Comments and IO_PORT
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
| -rw-r--r-- | gowin/arch.cc | 20 | 
1 files changed, 9 insertions, 11 deletions
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);  | 
