From a7acda95f09a117a912bb3d1c327e854cd45acc8 Mon Sep 17 00:00:00 2001 From: Lushay Labs <107283894+lushaylabs@users.noreply.github.com> Date: Sun, 9 Oct 2022 23:47:09 +0300 Subject: support windows line endings --- gowin/arch.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gowin/arch.cc b/gowin/arch.cc index e33a904a..00050f44 100644 --- a/gowin/arch.cc +++ b/gowin/arch.cc @@ -876,12 +876,12 @@ void Arch::read_cst(std::istream &in) // If two locations are specified separated by commas (for differential I/O buffers), // only the first location is actually recognized and used. // And pin A will be Positive and pin B will be Negative in any case. - std::regex iobre = std::regex("IO_LOC +\"([^\"]+)\" +([^ ,;]+)(, *[^ ;]+)? *;.*"); - std::regex portre = std::regex("IO_PORT +\"([^\"]+)\" +([^;]+;).*"); + std::regex iobre = std::regex("IO_LOC +\"([^\"]+)\" +([^ ,;]+)(, *[^ ;]+)? *;.*[\\s\\S]*"); + std::regex portre = std::regex("IO_PORT +\"([^\"]+)\" +([^;]+;).*[\\s\\S]*"); std::regex port_attrre = std::regex("([^ =;]+=[^ =;]+) *([^;]*;)"); std::regex iobelre = std::regex("IO([TRBL])([0-9]+)\\[?([A-Z])\\]?"); - std::regex inslocre = std::regex("INS_LOC +\"([^\"]+)\" +R([0-9]+)C([0-9]+)\\[([0-9])\\]\\[([AB])\\] *;.*"); - std::regex clockre = std::regex("CLOCK_LOC +\"([^\"]+)\" +BUF([GS])(\\[([0-7])\\])?[^;]*;.*"); + std::regex inslocre = std::regex("INS_LOC +\"([^\"]+)\" +R([0-9]+)C([0-9]+)\\[([0-9])\\]\\[([AB])\\] *;.*[\\s\\S]*"); + std::regex clockre = std::regex("CLOCK_LOC +\"([^\"]+)\" +BUF([GS])(\\[([0-7])\\])?[^;]*;.*[\\s\\S]*"); std::smatch match, match_attr, match_pinloc; std::string line, pinline; enum -- cgit v1.2.3