Ensure static IdStrings get prepopulated when initializing yosys
An alternative would be to call ensure_prepopulated() in various IdString methods.
This commit is contained in:
@@ -217,8 +217,7 @@ struct RTLIL::IdString
|
||||
return it->second;
|
||||
}
|
||||
|
||||
if (global_id_index_.empty())
|
||||
prepopulate();
|
||||
ensure_prepopulated();
|
||||
|
||||
if (!p[0])
|
||||
return 0;
|
||||
@@ -457,6 +456,12 @@ struct RTLIL::IdString
|
||||
|
||||
private:
|
||||
static void prepopulate();
|
||||
|
||||
public:
|
||||
static void ensure_prepopulated() {
|
||||
if (global_id_index_.empty())
|
||||
prepopulate();
|
||||
}
|
||||
};
|
||||
|
||||
namespace hashlib {
|
||||
|
||||
@@ -196,6 +196,8 @@ void yosys_setup()
|
||||
already_setup = true;
|
||||
already_shutdown = false;
|
||||
|
||||
IdString::ensure_prepopulated();
|
||||
|
||||
#ifdef WITH_PYTHON
|
||||
// With Python 3.12, calling PyImport_AppendInittab on an already
|
||||
// initialized platform fails (such as when libyosys is imported
|
||||
|
||||
Reference in New Issue
Block a user