return string_buf.back().c_str();
}
+const char *log_id(std::string str)
+{
+ if (str.size() > 1 && str[0] == '\\' && str[1] != '$')
+ string_buf.push_back(str.substr(1));
+ else
+ string_buf.push_back(str);
+ return string_buf.back().c_str();
+}
void log_flush();
const char *log_signal(const RTLIL::SigSpec &sig, bool autoint = true);
-
-static inline const char *log_id(std::string id) {
- return RTLIL::id2cstr(id);
-}
+const char *log_id(std::string id);
template<typename T> static inline const char *log_id(T *obj) {
- return RTLIL::id2cstr(obj->name);
+ return log_id(obj->name);
}
#define log_abort() log_error("Abort in %s:%d.\n", __FILE__, __LINE__)