diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 2838449b..56c631f3 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -490,9 +490,9 @@ namespace { } for (auto &conn : cell->connections()) { - if (conn.first.size() != 2 || conn.first.at(0) != '\\') + if (conn.first.size() != 2 || conn.first[0] != '\\') error(__LINE__); - if (strchr(ports, conn.first.at(1)) == NULL) + if (strchr(ports, conn.first[1]) == NULL) error(__LINE__); } } diff --git a/kernel/rtlil.h b/kernel/rtlil.h index 502969a1..ab15024e 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -185,12 +185,11 @@ namespace RTLIL bool operator==(const char *rhs) const { return str() == rhs; } bool operator!=(const char *rhs) const { return str() != rhs; } - char at(size_t i) const { - return c_str()[i]; - } - char operator[](size_t i) const { - return c_str()[i]; + const char *p = c_str(); + for (; i != 0; i--, p++) + log_assert(*p != 0); + return *p; } std::string substr(size_t pos = 0, size_t len = std::string::npos) const { diff --git a/passes/sat/expose.cc b/passes/sat/expose.cc index affd685e..e856fdf7 100644 --- a/passes/sat/expose.cc +++ b/passes/sat/expose.cc @@ -50,7 +50,7 @@ static bool consider_cell(RTLIL::Design *design, std::set &dff_ { if (cell->name[0] == '$' || dff_cells.count(cell->name)) return false; - if (cell->type.at(0) == '\\' && !design->modules_.count(cell->type)) + if (cell->type[0] == '\\' && !design->modules_.count(cell->type)) return false; return true; }