sim: Inheritance fixes in varargs
Change-Id: I3c6027223893363df098d1990a4ad3d07c2ff5ff Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28250 Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -70,6 +70,8 @@ template <typename First, typename ...Types>
|
||||
class VarArgsBase<First, Types...> : public VarArgsBase<Types...>
|
||||
{
|
||||
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<ABI, Base> : 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();
|
||||
|
||||
Reference in New Issue
Block a user