diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2014-10-16 05:49:51 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2014-10-16 05:49:51 -0400 |
commit | a2d246b6b8379f9a74dbc56feefc155f615b5ea4 (patch) | |
tree | bbfaf7a39edebda5ca7ddac9af5e205823d37e10 /src/base | |
parent | a769963d16b7b259580fa2da1e84f62aae0a5a42 (diff) | |
download | gem5-a2d246b6b8379f9a74dbc56feefc155f615b5ea4.tar.xz |
arch: Use shared_ptr for all Faults
This patch takes quite a large step in transitioning from the ad-hoc
RefCountingPtr to the c++11 shared_ptr by adopting its use for all
Faults. There are no changes in behaviour, and the code modifications
are mostly just replacing "new" with "make_shared".
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/types.hh | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/base/types.hh b/src/base/types.hh index 9ef362fa1..c4cb4d988 100644 --- a/src/base/types.hh +++ b/src/base/types.hh @@ -40,6 +40,7 @@ #include <inttypes.h> #include <cassert> +#include <memory> #include <ostream> #include "base/refcnt.hh" @@ -179,6 +180,12 @@ typedef int16_t PortID; const PortID InvalidPortID = (PortID)-1; class FaultBase; -typedef RefCountingPtr<FaultBase> Fault; +typedef std::shared_ptr<FaultBase> Fault; + +#ifndef SWIG // Swig gets really confused by decltype +// Rather than creating a shared_ptr instance and assigning it nullptr, +// we just create an alias. +constexpr decltype(nullptr) NoFault = nullptr; +#endif #endif // __BASE_TYPES_HH__ |