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".
This commit is contained in:
Andreas Hansson
2014-10-16 05:49:51 -04:00
parent a769963d16
commit a2d246b6b8
91 changed files with 625 additions and 553 deletions

View File

@@ -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__