summaryrefslogtreecommitdiff
path: root/src/dev/etherlink.cc
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2014-10-16 05:49:46 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2014-10-16 05:49:46 -0400
commitad3f75dc81efc8818786c32d6190e3ed069b9fc6 (patch)
treef3f0e2a55a3fbcd554fb8d4f110e41991de03ae9 /src/dev/etherlink.cc
parent4e67ab6663f8f4960a1078546906746877f87e1a (diff)
downloadgem5-ad3f75dc81efc8818786c32d6190e3ed069b9fc6.tar.xz
dev: Use shared_ptr for EthPacketData
This patch transitions the EthPacketData from the ad-hoc RefCountingPtr to the c++11 shared_ptr. There are no changes in behaviour, and the code modifications are mainly replacing "new" with "make_shared". The bool casting operator for the shared_ptr is explicit, and we must therefore either cast it, compare it to NULL (p != nullptr), double negate it (!!p) or do a (p ? true : false).
Diffstat (limited to 'src/dev/etherlink.cc')
-rw-r--r--src/dev/etherlink.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dev/etherlink.cc b/src/dev/etherlink.cc
index 0117bb7c2..c5ef66d99 100644
--- a/src/dev/etherlink.cc
+++ b/src/dev/etherlink.cc
@@ -195,7 +195,7 @@ EtherLink::Link::transmit(EthPacketPtr pkt)
void
EtherLink::Link::serialize(const string &base, ostream &os)
{
- bool packet_exists = packet;
+ bool packet_exists = packet != nullptr;
paramOut(os, base + ".packet_exists", packet_exists);
if (packet_exists)
packet->serialize(base + ".packet", os);
@@ -216,7 +216,7 @@ EtherLink::Link::unserialize(const string &base, Checkpoint *cp,
bool packet_exists;
paramIn(cp, section, base + ".packet_exists", packet_exists);
if (packet_exists) {
- packet = new EthPacketData(16384);
+ packet = make_shared<EthPacketData>(16384);
packet->unserialize(base + ".packet", cp, section);
}
@@ -273,7 +273,7 @@ LinkDelayEvent::unserialize(Checkpoint *cp, const string &section,
link = parent->link[number];
- packet = new EthPacketData(16384);
+ packet = make_shared<EthPacketData>(16384);
packet->unserialize("packet", cp, section);
}