params: Deprecate old-style constructors; update most SimObject constructors.
SimObjects not yet updated:
- Process and subclasses
- BaseCPU and subclasses
The SimObject(const std::string &name) constructor was removed. Subclasses
that still rely on that behavior must call the parent initializer as
: SimObject(makeParams(name))
--HG--
extra : convert_revision : d6faddde76e7c3361ebdbd0a7b372a40941c12ed
diff --git a/src/sim/sim_object.hh b/src/sim/sim_object.hh
index 2e99a85..b70f1d5 100644
--- a/src/sim/sim_object.hh
+++ b/src/sim/sim_object.hh
@@ -84,9 +84,14 @@
typedef SimObjectParams Params;
const Params *params() const { return _params; }
SimObject(const Params *_params);
- SimObject(const std::string &_name);
virtual ~SimObject() {}
+ protected:
+ // static: support for old-style constructors (call manually)
+ static Params *makeParams(const std::string &name);
+
+ public:
+
virtual const std::string name() const { return params()->name; }
// initialization pass of all objects.