typedef enum {
LLVMExternalLinkage, /**< Externally visible function */
+ LLVMAvailableExternallyLinkage,
LLVMLinkOnceAnyLinkage, /**< Keep one copy of function when linking (inline)*/
LLVMLinkOnceODRLinkage, /**< Same, but only replaced by something
equivalent. */
LLVMPrivateLinkage, /**< Like Internal, but omit from symbol table */
LLVMDLLImportLinkage, /**< Function to be imported from DLL */
LLVMDLLExportLinkage, /**< Function to be accessible from DLL */
- LLVMExternalWeakAnyLinkage,/**< ExternalWeak linkage description */
- LLVMExternalWeakODRLinkage,/**< Same, but only replaced by something
- equivalent. */
+ LLVMExternalWeakLinkage,/**< ExternalWeak linkage description */
LLVMGhostLinkage, /**< Stand-in functions for streaming fns from
bitcode */
- LLVMCommonAnyLinkage, /**< Tentative definitions */
- LLVMCommonODRLinkage /**< Same, but only replaced by something
- equivalent. */
+ LLVMCommonLinkage /**< Tentative definitions */
} LLVMLinkage;
typedef enum {
void LLVMSetFunctionCallConv(LLVMValueRef Fn, unsigned CC);
const char *LLVMGetGC(LLVMValueRef Fn);
void LLVMSetGC(LLVMValueRef Fn, const char *Name);
+void LLVMAddFunctionAttr(LLVMValueRef Fn, LLVMAttribute PA);
+void LLVMRemoveFunctionAttr(LLVMValueRef Fn, LLVMAttribute PA);
/* Operations on parameters */
unsigned LLVMCountParams(LLVMValueRef Fn);