diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-05-18 15:11:23 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2017-05-19 08:00:45 +0000 |
commit | c4b85d5f9854abeee6d1dbe15ae65a7a1aada6b2 (patch) | |
tree | 521b54e172ab547cd2147502bdb0015be924bb73 /src/arch/arm | |
parent | 41ab3e6e7e9b5a5f4427949f9a981cdf2186c88a (diff) | |
download | gem5-c4b85d5f9854abeee6d1dbe15ae65a7a1aada6b2.tar.xz |
base, sim, arch: Fix clang 5.0 warnings
Compiling gem5 with recent version of clang (4 and 5) triggers
warnings that are treated as errors:
* Global templatized static functions result in a warning if they
are not used. These should either be declared as static inline or
without the static identifier to avoid the warning.
* Some templatized classes contain static variables. The
instantiated versions of these variables / templates need to be
explicitly declared to avoid a compiler warning.
Change-Id: Ie8261144836e94ebab7ea04ccccb90927672c257
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3420
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/arch/arm')
-rw-r--r-- | src/arch/arm/faults.hh | 3 | ||||
-rw-r--r-- | src/arch/arm/insts/vfp.hh | 2 | ||||
-rw-r--r-- | src/arch/arm/isa/insts/fp.isa | 8 |
3 files changed, 7 insertions, 6 deletions
diff --git a/src/arch/arm/faults.hh b/src/arch/arm/faults.hh index ab4c67552..6e7c92cf6 100644 --- a/src/arch/arm/faults.hh +++ b/src/arch/arm/faults.hh @@ -567,7 +567,8 @@ class IllegalInstSetStateFault : public ArmFaultVals<IllegalInstSetStateFault> }; /* - * Explicitly declare template static member variables avoid warnings in some clang versions + * Explicitly declare template static member variables to avoid warnings + * in some clang versions */ template<> ArmFault::FaultVals ArmFaultVals<Reset>::vals; template<> ArmFault::FaultVals ArmFaultVals<UndefinedInstruction>::vals; diff --git a/src/arch/arm/insts/vfp.hh b/src/arch/arm/insts/vfp.hh index de0c62161..caa22376e 100644 --- a/src/arch/arm/insts/vfp.hh +++ b/src/arch/arm/insts/vfp.hh @@ -201,7 +201,7 @@ bitsToFp(uint64_t bits, double junk) } template <class fpType> -static bool +static inline bool isSnan(fpType val) { const bool single = (sizeof(fpType) == sizeof(float)); diff --git a/src/arch/arm/isa/insts/fp.isa b/src/arch/arm/isa/insts/fp.isa index 0f10a05af..dc2f30701 100644 --- a/src/arch/arm/isa/insts/fp.isa +++ b/src/arch/arm/isa/insts/fp.isa @@ -65,7 +65,7 @@ class VfpMacroRegRegOp : public VfpMacroOp }; template <class VfpOp> -static StaticInstPtr +StaticInstPtr decodeVfpRegRegOp(ExtMachInst machInst, IntRegIndex dest, IntRegIndex op1, bool wide) { @@ -101,7 +101,7 @@ class VfpMacroRegImmOp : public VfpMacroOp }; template <class VfpOp> -static StaticInstPtr +StaticInstPtr decodeVfpRegImmOp(ExtMachInst machInst, IntRegIndex dest, uint64_t imm, bool wide) { @@ -137,7 +137,7 @@ class VfpMacroRegRegImmOp : public VfpMacroOp }; template <class VfpOp> -static StaticInstPtr +StaticInstPtr decodeVfpRegRegImmOp(ExtMachInst machInst, IntRegIndex dest, IntRegIndex op1, uint64_t imm, bool wide) { @@ -173,7 +173,7 @@ class VfpMacroRegRegRegOp : public VfpMacroOp }; template <class VfpOp> -static StaticInstPtr +StaticInstPtr decodeVfpRegRegRegOp(ExtMachInst machInst, IntRegIndex dest, IntRegIndex op1, IntRegIndex op2, bool wide) { |