Fix this code to avoid implicit assumptions about the length of the array.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101530 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2010-04-16 20:08:45 +00:00
parent 16fda6982b
commit 7f506a9c7f

View File

@ -180,16 +180,8 @@ public:
uint32_t ValueTypeActions[(MVT::MAX_ALLOWED_VALUETYPE/32)*2]; uint32_t ValueTypeActions[(MVT::MAX_ALLOWED_VALUETYPE/32)*2];
public: public:
ValueTypeActionImpl() { ValueTypeActionImpl() {
ValueTypeActions[0] = ValueTypeActions[1] = 0; std::fill(ValueTypeActions, array_endof(ValueTypeActions), 0);
ValueTypeActions[2] = ValueTypeActions[3] = 0;
} }
ValueTypeActionImpl(const ValueTypeActionImpl &RHS) {
ValueTypeActions[0] = RHS.ValueTypeActions[0];
ValueTypeActions[1] = RHS.ValueTypeActions[1];
ValueTypeActions[2] = RHS.ValueTypeActions[2];
ValueTypeActions[3] = RHS.ValueTypeActions[3];
}
LegalizeAction getTypeAction(LLVMContext &Context, EVT VT) const { LegalizeAction getTypeAction(LLVMContext &Context, EVT VT) const {
if (VT.isExtended()) { if (VT.isExtended()) {
if (VT.isVector()) { if (VT.isVector()) {