diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2013-02-19 05:56:06 -0500 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2013-02-19 05:56:06 -0500 |
commit | 0acd2a96e5cd2a9bece4d5468dd1a8cc96c8aafe (patch) | |
tree | 0feaa85408e6aba2d4e4b3ad12b7dd4a98e27ed9 /src/arch/power | |
parent | d670fa60a105676a19dd91440f66dc186450b3e8 (diff) | |
download | gem5-0acd2a96e5cd2a9bece4d5468dd1a8cc96c8aafe.tar.xz |
scons: Add warning for overloaded virtual functions
A derived function with a different signature than a base class
function will result in the base class function of the same name being
hidden. The parameter list and return type for the member function in
the derived class must match those of the member function in the base
class, otherwise the function in the derived class will hide the
function in the base class and no polymorphic behaviour will occur.
This patch addresses these warnings by ensuring a unique function name
to avoid (unintentionally) hiding any functions.
Diffstat (limited to 'src/arch/power')
-rw-r--r-- | src/arch/power/insts/branch.hh | 15 | ||||
-rw-r--r-- | src/arch/power/linux/process.hh | 2 | ||||
-rw-r--r-- | src/arch/power/process.hh | 2 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/arch/power/insts/branch.hh b/src/arch/power/insts/branch.hh index 1947e4ec3..762e55a66 100644 --- a/src/arch/power/insts/branch.hh +++ b/src/arch/power/insts/branch.hh @@ -88,6 +88,9 @@ class BranchPCRel : public PCDependentDisassembly PowerISA::PCState branchTarget(const PowerISA::PCState &pc) const; + /// Explicitly import the otherwise hidden branchTarget + using StaticInst::branchTarget; + std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; }; @@ -114,6 +117,9 @@ class BranchNonPCRel : public PCDependentDisassembly PowerISA::PCState branchTarget(const PowerISA::PCState &pc) const; + /// Explicitly import the otherwise hidden branchTarget + using StaticInst::branchTarget; + std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; }; @@ -189,6 +195,9 @@ class BranchPCRelCond : public BranchCond PowerISA::PCState branchTarget(const PowerISA::PCState &pc) const; + /// Explicitly import the otherwise hidden branchTarget + using StaticInst::branchTarget; + std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; }; @@ -215,6 +224,9 @@ class BranchNonPCRelCond : public BranchCond PowerISA::PCState branchTarget(const PowerISA::PCState &pc) const; + /// Explicitly import the otherwise hidden branchTarget + using StaticInst::branchTarget; + std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; }; @@ -233,6 +245,9 @@ class BranchRegCond : public BranchCond PowerISA::PCState branchTarget(ThreadContext *tc) const; + /// Explicitly import the otherwise hidden branchTarget + using StaticInst::branchTarget; + std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; }; diff --git a/src/arch/power/linux/process.hh b/src/arch/power/linux/process.hh index c4600129e..e3f3071b8 100644 --- a/src/arch/power/linux/process.hh +++ b/src/arch/power/linux/process.hh @@ -46,6 +46,8 @@ class PowerLinuxProcess : public PowerLiveProcess void initState(); PowerISA::IntReg getSyscallArg(ThreadContext *tc, int &i); + /// Explicitly import the otherwise hidden getSyscallArg + using LiveProcess::getSyscallArg; void setSyscallArg(ThreadContext *tc, int i, PowerISA::IntReg val); /// Array of syscall descriptors, indexed by call number. diff --git a/src/arch/power/process.hh b/src/arch/power/process.hh index e02a30abd..977b75ae8 100644 --- a/src/arch/power/process.hh +++ b/src/arch/power/process.hh @@ -52,6 +52,8 @@ class PowerLiveProcess : public LiveProcess public: void argsInit(int intSize, int pageSize); PowerISA::IntReg getSyscallArg(ThreadContext *tc, int &i); + /// Explicitly import the otherwise hidden getSyscallArg + using LiveProcess::getSyscallArg; void setSyscallArg(ThreadContext *tc, int i, PowerISA::IntReg val); void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value); }; |