string_buf.push_back(str);
return string_buf.back().c_str();
}
+
+void log_cell(RTLIL::Cell *cell, std::string indent)
+{
+ char *ptr;
+ size_t size;
+
+ FILE *f = open_memstream(&ptr, &size);
+ ILANG_BACKEND::dump_cell(f, indent, cell);
+ fputc(0, f);
+ fclose(f);
+
+ log("%s", ptr);
+ free(ptr);
+}
+
return log_id(obj->name);
}
+void log_cell(RTLIL::Cell *cell, std::string indent = "");
+
#define log_abort() log_error("Abort in %s:%d.\n", __FILE__, __LINE__)
#define log_assert(_assert_expr_) do { if (_assert_expr_) break; log_error("Assert `%s' failed in %s:%d.\n", #_assert_expr_, __FILE__, __LINE__); } while (0)