From 25f5a6733cbca02f0db9839a00dec30f9751b462 Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Wed, 13 Aug 2014 06:57:26 -0400 Subject: [PATCH] cpu: Don't forward declare RefCountingPtr RefCountingPtr is sometimes forward declared to avoid having to include refcnt.hh. This does not work since we typically return instances of RefCountingPtr rather than references to instances. The only reason this currently works is that we include refcnt.hh in cprintf.hh, which "leaks" the header to most other source files. This changeset replaces such forward declarations with an include of refcnt.hh. --- src/base/types.hh | 3 ++- src/cpu/static_inst_fwd.hh | 3 ++- src/sim/fault_fwd.hh | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/base/types.hh b/src/base/types.hh index ad9ac766e..9ef362fa1 100644 --- a/src/base/types.hh +++ b/src/base/types.hh @@ -42,6 +42,8 @@ #include #include +#include "base/refcnt.hh" + /** uint64_t constant */ #define ULL(N) ((uint64_t)N##ULL) /** int64_t constant */ @@ -177,7 +179,6 @@ typedef int16_t PortID; const PortID InvalidPortID = (PortID)-1; class FaultBase; -template class RefCountingPtr; typedef RefCountingPtr Fault; #endif // __BASE_TYPES_HH__ diff --git a/src/cpu/static_inst_fwd.hh b/src/cpu/static_inst_fwd.hh index 7e2172f72..554de4928 100644 --- a/src/cpu/static_inst_fwd.hh +++ b/src/cpu/static_inst_fwd.hh @@ -31,8 +31,9 @@ #ifndef __CPU_STATIC_INST_FWD_HH__ #define __CPU_STATIC_INST_FWD_HH__ +#include "base/refcnt.hh" + class StaticInst; -template class RefCountingPtr; typedef RefCountingPtr StaticInstPtr; #endif // __CPU_STATIC_INST_FWD_HH__ diff --git a/src/sim/fault_fwd.hh b/src/sim/fault_fwd.hh index 64ccd4b15..3fd90caeb 100644 --- a/src/sim/fault_fwd.hh +++ b/src/sim/fault_fwd.hh @@ -31,8 +31,9 @@ #ifndef __SIM_FAULT_FWD_HH__ #define __SIM_FAULT_FWD_HH__ +#include "base/refcnt.hh" + class FaultBase; -template class RefCountingPtr; typedef RefCountingPtr Fault; FaultBase * const NoFault = 0; -- 2.30.2