From: Miodrag Milanovic Date: Fri, 6 May 2022 06:05:23 +0000 (+0200) Subject: Handle possible non-memory indexed data X-Git-Tag: yosys-0.17~3^2 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d8adbff72f6648589d7699857ee8c65a80315033;p=yosys.git Handle possible non-memory indexed data --- diff --git a/kernel/fstdata.cc b/kernel/fstdata.cc index 41b22d1c5..fea8ee3c3 100644 --- a/kernel/fstdata.cc +++ b/kernel/fstdata.cc @@ -141,11 +141,12 @@ void FstData::extractVarNames() char *endptr; int mem_addr = strtol(addr.c_str(), &endptr, 16); if (*endptr) { - log_error("Error parsing memory address in : %s\n", clean_name.c_str()); + log_warning("Error parsing memory address in : %s\n", clean_name.c_str()); + } else { + memory_to_handle[var.scope+"."+mem_cell][mem_addr] = var.id; + name_to_handle[stringf("%s.%s[%d]",var.scope.c_str(),mem_cell.c_str(),mem_addr)] = h->u.var.handle; + continue; } - memory_to_handle[var.scope+"."+mem_cell][mem_addr] = var.id; - name_to_handle[stringf("%s.%s[%d]",var.scope.c_str(),mem_cell.c_str(),mem_addr)] = h->u.var.handle; - continue; } pos = clean_name.find_last_of("["); if (pos != std::string::npos) { @@ -155,11 +156,12 @@ void FstData::extractVarNames() char *endptr; int mem_addr = strtol(addr.c_str(), &endptr, 10); if (*endptr) { - log_error("Error parsing memory address in : %s\n", clean_name.c_str()); + log_warning("Error parsing memory address in : %s\n", clean_name.c_str()); + } else { + memory_to_handle[var.scope+"."+mem_cell][mem_addr] = var.id; + name_to_handle[stringf("%s.%s[%d]",var.scope.c_str(),mem_cell.c_str(),mem_addr)] = h->u.var.handle; + continue; } - memory_to_handle[var.scope+"."+mem_cell][mem_addr] = var.id; - name_to_handle[stringf("%s.%s[%d]",var.scope.c_str(),mem_cell.c_str(),mem_addr)] = h->u.var.handle; - continue; } name_to_handle[var.scope+"."+clean_name] = h->u.var.handle; break;