diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-07-17 18:07:26 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-07-17 18:07:26 +0000 |
commit | edd7d11690027b9ff9387d85b7c235cd7fd2cf20 (patch) | |
tree | 0501e2931c39d02da499777594d2849184c508a2 /include | |
parent | e7f855e87b5e3a5f255737a85a731c1688ff1c24 (diff) | |
download | external_llvm-edd7d11690027b9ff9387d85b7c235cd7fd2cf20.zip external_llvm-edd7d11690027b9ff9387d85b7c235cd7fd2cf20.tar.gz external_llvm-edd7d11690027b9ff9387d85b7c235cd7fd2cf20.tar.bz2 |
Add support for naked functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76198 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm-c/Core.h | 3 | ||||
-rw-r--r-- | include/llvm/Attributes.h | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index d723d11..ee8058e 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -98,7 +98,8 @@ typedef enum { LLVMByValAttribute = 1<<7, LLVMNestAttribute = 1<<8, LLVMReadNoneAttribute = 1<<9, - LLVMReadOnlyAttribute = 1<<10 + LLVMReadOnlyAttribute = 1<<10, + LLVMNakedAttribute = 1<<24 } LLVMAttribute; typedef enum { diff --git a/include/llvm/Attributes.h b/include/llvm/Attributes.h index 134e350..49f6057 100644 --- a/include/llvm/Attributes.h +++ b/include/llvm/Attributes.h @@ -57,6 +57,7 @@ const Attributes NoCapture = 1<<21; ///< Function creates no aliases of pointer const Attributes NoRedZone = 1<<22; /// disable redzone const Attributes NoImplicitFloat = 1<<23; /// disable implicit floating point /// instructions. +const Attributes Naked = 1<<24; ///< Naked function /// @brief Attributes that only apply to function parameters. const Attributes ParameterOnly = ByVal | Nest | StructRet | NoCapture; @@ -65,7 +66,7 @@ const Attributes ParameterOnly = ByVal | Nest | StructRet | NoCapture; /// be used on return values or function parameters. const Attributes FunctionOnly = NoReturn | NoUnwind | ReadNone | ReadOnly | NoInline | AlwaysInline | OptimizeForSize | StackProtect | StackProtectReq | - NoRedZone | NoImplicitFloat; + NoRedZone | NoImplicitFloat | Naked; /// @brief Parameter attributes that do not apply to vararg call arguments. const Attributes VarArgsIncompatible = StructRet; |