From: Nikos Nikoleris Date: Thu, 23 Apr 2020 19:05:57 +0000 (+0100) Subject: sim: Inheritance fixes in varargs X-Git-Tag: v20.0.0.0~85 X-Git-Url: https://git.libre-soc.org/?p=gem5.git;a=commitdiff_plain;h=e2e25f8139f6c30187cf86c5978f71bf9f32593b sim: Inheritance fixes in varargs Change-Id: I3c6027223893363df098d1990a4ad3d07c2ff5ff Signed-off-by: Nikos Nikoleris Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28250 Reviewed-by: Bobby R. Bruce Reviewed-by: Jason Lowe-Power Reviewed-by: Gabe Black Maintainer: Jason Lowe-Power Tested-by: kokoro --- diff --git a/src/sim/guest_abi/varargs.hh b/src/sim/guest_abi/varargs.hh index 6a19db806..07ed2a195 100644 --- a/src/sim/guest_abi/varargs.hh +++ b/src/sim/guest_abi/varargs.hh @@ -70,6 +70,8 @@ template class VarArgsBase : public VarArgsBase { public: + virtual ~VarArgsBase() = default; + // The virtual function takes a reference parameter so that the different // _getImpl methods can co-exist through overloading. virtual void _getImpl(First &) = 0; @@ -126,6 +128,8 @@ class VarArgsImpl : public Base // Declare state to pass to the Argument<>::get methods. ThreadContext *tc; typename ABI::State state; + // Make sure base class _getImpl-es don't get hidden by ours. + using Base::_getImpl; // Give the "using" statement in our subclass something to refer to. void _getImpl();