diff options
author | Clifford Wolf <clifford@clifford.at> | 2014-10-10 18:34:19 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2014-10-10 18:34:19 +0200 |
commit | 54bf3a95dd859ac1811a5265ad45f9eb596de3db (patch) | |
tree | ca4ef75f8ad7610b389103c8028ffba2d8f9f8bb | |
parent | 2c683102be85b0ee9c03c85ddcf5d7fd0f004ab7 (diff) | |
download | yosys-54bf3a95dd859ac1811a5265ad45f9eb596de3db.tar.gz yosys-54bf3a95dd859ac1811a5265ad45f9eb596de3db.tar.bz2 yosys-54bf3a95dd859ac1811a5265ad45f9eb596de3db.zip |
More Win32 build fixes
-rw-r--r-- | libs/subcircuit/subcircuit.cc | 4 | ||||
-rw-r--r-- | passes/techmap/extract.cc | 17 |
2 files changed, 11 insertions, 10 deletions
diff --git a/libs/subcircuit/subcircuit.cc b/libs/subcircuit/subcircuit.cc index 84f23d636..cf14df0ac 100644 --- a/libs/subcircuit/subcircuit.cc +++ b/libs/subcircuit/subcircuit.cc @@ -34,6 +34,7 @@ using namespace SubCircuit; +#ifndef _YOSYS_ static std::string my_stringf(const char *fmt, ...) { std::string string; @@ -52,6 +53,9 @@ static std::string my_stringf(const char *fmt, ...) return string; } +#else +# define my_stringf YOSYS_NAMESPACE_PREFIX stringf +#endif SubCircuit::Graph::Graph(const Graph &other, const std::vector<std::string> &otherNodes) { diff --git a/passes/techmap/extract.cc b/passes/techmap/extract.cc index e0b1d360a..994ef8f2a 100644 --- a/passes/techmap/extract.cc +++ b/passes/techmap/extract.cc @@ -518,24 +518,21 @@ struct ExtractPass : public Pass { if (args[argidx] == "-swap" && argidx+2 < args.size()) { std::string type = RTLIL::escape_id(args[++argidx]); std::set<std::string> ports; - char *ports_str = strdup(args[++argidx].c_str()); - for (char *sptr, *p = strtok_r(ports_str, ",\t\r\n ", &sptr); p != NULL; p = strtok_r(NULL, ",\t\r\n ", &sptr)) + std::string ports_str = args[++argidx], p; + while (!(p = next_token(ports_str, ",\t\r\n ")).empty()) ports.insert(RTLIL::escape_id(p)); - free(ports_str); solver.addSwappablePorts(type, ports); continue; } if (args[argidx] == "-perm" && argidx+3 < args.size()) { std::string type = RTLIL::escape_id(args[++argidx]); std::vector<std::string> map_left, map_right; - char *left_str = strdup(args[++argidx].c_str()); - char *right_str = strdup(args[++argidx].c_str()); - for (char *sptr, *p = strtok_r(left_str, ",\t\r\n ", &sptr); p != NULL; p = strtok_r(NULL, ",\t\r\n ", &sptr)) + std::string left_str = args[++argidx]; + std::string right_str = args[++argidx], p; + while (!(p = next_token(left_str, ",\t\r\n ")).empty()) map_left.push_back(RTLIL::escape_id(p)); - for (char *sptr, *p = strtok_r(right_str, ",\t\r\n ", &sptr); p != NULL; p = strtok_r(NULL, ",\t\r\n ", &sptr)) + while (!(p = next_token(right_str, ",\t\r\n ")).empty()) map_right.push_back(RTLIL::escape_id(p)); - free(left_str); - free(right_str); if (map_left.size() != map_right.size()) log_cmd_error("Arguments to -perm are not a valid permutation!\n"); std::map<std::string, std::string> map; @@ -665,7 +662,7 @@ struct ExtractPass : public Pass { log("Solving for %s in %s.\n", ("needle_" + RTLIL::unescape_id(needle->name)).c_str(), haystack_it.first.c_str()); solver.solve(results, "needle_" + RTLIL::unescape_id(needle->name), haystack_it.first, false); } - log("Found %zd matches.\n", results.size()); + log("Found %d matches.\n", GetSize(results)); if (results.size() > 0) { |