arm: fix template instantiation warning in clang
In arch/arm/faults.hh, template the static member vals require explicit specialisation to avoid compiler warnings. Change-Id: Ie404ccaa43269cb1bb819e33153e776abbf3a79b Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
parent
9f3615d9c9
commit
626a0cc003
1 changed files with 26 additions and 1 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2010, 2012-2013, 2016 ARM Limited
|
* Copyright (c) 2010, 2012-2013, 2016-2017 ARM Limited
|
||||||
* All rights reserved
|
* All rights reserved
|
||||||
*
|
*
|
||||||
* The license below extends only to copyright in the software and shall
|
* The license below extends only to copyright in the software and shall
|
||||||
|
@ -566,6 +566,31 @@ class IllegalInstSetStateFault : public ArmFaultVals<IllegalInstSetStateFault>
|
||||||
IllegalInstSetStateFault();
|
IllegalInstSetStateFault();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Explicitly declare template static member variables avoid warnings in some clang versions
|
||||||
|
*/
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<Reset>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<UndefinedInstruction>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<SupervisorCall>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<SecureMonitorCall>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<HypervisorCall>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<PrefetchAbort>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<DataAbort>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<VirtualDataAbort>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<HypervisorTrap>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<Interrupt>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<VirtualInterrupt>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<FastInterrupt>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<VirtualFastInterrupt>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<SupervisorTrap>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<SecureMonitorTrap>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<PCAlignmentFault>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<SPAlignmentFault>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<SystemError>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<FlushPipe>::vals;
|
||||||
|
template<> ArmFault::FaultVals ArmFaultVals<ArmSev>::vals;
|
||||||
|
|
||||||
|
|
||||||
} // namespace ArmISA
|
} // namespace ArmISA
|
||||||
|
|
||||||
#endif // __ARM_FAULTS_HH__
|
#endif // __ARM_FAULTS_HH__
|
||||||
|
|
Loading…
Reference in a new issue