Expose parameter attributes via C bindings.
Patch by Anders Johnsen!
llvm-svn: 50360
diff --git a/llvm/lib/VMCore/Function.cpp b/llvm/lib/VMCore/Function.cpp
index de011c0..f14c455 100644
--- a/llvm/lib/VMCore/Function.cpp
+++ b/llvm/lib/VMCore/Function.cpp
@@ -110,6 +110,17 @@
return getParent()->paramHasAttr(1, ParamAttr::StructRet);
}
+/// addAttr - Add a ParamAttr to an argument
+void Argument::addAttr(ParameterAttributes attr) {
+ getParent()->setParamAttrs(
+ getParent()->getParamAttrs().addAttr(getArgNo() + 1, attr));
+}
+
+/// removeAttr - Remove a ParamAttr from an argument
+void Argument::removeAttr(ParameterAttributes attr) {
+ getParent()->setParamAttrs(
+ getParent()->getParamAttrs().removeAttr(getArgNo() + 1, attr));
+}