summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Attributes.h4
-rw-r--r--lib/VMCore/Verifier.cpp5
2 files changed, 2 insertions, 7 deletions
diff --git a/include/llvm/Attributes.h b/include/llvm/Attributes.h
index 11c043765c..2a0fbc0ee1 100644
--- a/include/llvm/Attributes.h
+++ b/include/llvm/Attributes.h
@@ -122,9 +122,6 @@ const AttrConst FunctionOnly = {NoReturn_i | NoUnwind_i | ReadNone_i |
Naked_i | InlineHint_i | StackAlignment_i |
UWTable_i | NonLazyBind_i | ReturnsTwice_i | AddressSafety_i};
-/// @brief Parameter attributes that do not apply to vararg call arguments.
-const AttrConst VarArgsIncompatible = {StructRet_i};
-
/// @brief Attributes that are mutually incompatible.
const AttrConst MutuallyIncompatible[5] = {
{ByVal_i | Nest_i | StructRet_i},
@@ -180,7 +177,6 @@ public:
AddressSafety = 27 ///< Address safety checking is on.
};
private:
- // Currently, we need less than 64 bits.
AttributesImpl Attrs;
explicit Attributes(AttributesImpl *A);
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index b459f7b956..6c60745d60 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -1170,9 +1170,8 @@ void Verifier::VerifyCallSite(CallSite CS) {
VerifyParameterAttrs(Attr, CS.getArgument(Idx-1)->getType(), false, I);
- Attributes VArgI = Attr & Attribute::VarArgsIncompatible;
- Assert1(!VArgI, "Attribute " + VArgI.getAsString() +
- " cannot be used for vararg call arguments!", I);
+ Assert1(!Attr.hasIncompatibleWithVarArgsAttrs(),
+ "Attribute 'sret' cannot be used for vararg call arguments!", I);
}
// Verify that there's no metadata unless it's a direct call to an intrinsic.