diff --git a/include/llvm/Module.h b/include/llvm/Module.h index e068f93deb3..c331837f818 100644 --- a/include/llvm/Module.h +++ b/include/llvm/Module.h @@ -180,10 +180,10 @@ public: enum ModAttrBehavior { Error = 1, Warning = 2, Require = 3, Override = 4 }; struct ModuleFlagEntry { - unsigned Behavior; + ModAttrBehavior Behavior; MDString *Key; Value *Val; - ModuleFlagEntry(unsigned B, MDString *K, Value *V) + ModuleFlagEntry(ModAttrBehavior B, MDString *K, Value *V) : Behavior(B), Key(K), Val(V) {} }; diff --git a/lib/VMCore/Module.cpp b/lib/VMCore/Module.cpp index 9de5db5a2b2..cc6ae0e000f 100644 --- a/lib/VMCore/Module.cpp +++ b/lib/VMCore/Module.cpp @@ -339,7 +339,8 @@ getModuleFlagsMetadata(SmallVectorImpl &Flags) const { ConstantInt *Behavior = cast(Flag->getOperand(0)); MDString *Key = cast(Flag->getOperand(1)); Value *Val = Flag->getOperand(2); - Flags.push_back(ModuleFlagEntry(Behavior->getZExtValue(), Key, Val)); + Flags.push_back(ModuleFlagEntry(ModAttrBehavior(Behavior->getZExtValue()), + Key, Val)); } }