diff options
author | Bill Wendling <isanbard@gmail.com> | 2008-11-13 01:02:14 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2008-11-13 01:02:14 +0000 |
commit | e9e6bdf27fca46dc9eca2ebdf73e03747d1859ab (patch) | |
tree | 565577ce5e9de5d74dacdf007bb6657832a9aa9f /include/llvm/Attributes.h | |
parent | 7fc610f07311ecbbbdf163e5bcb45c636b87c983 (diff) | |
download | llvm-e9e6bdf27fca46dc9eca2ebdf73e03747d1859ab.tar.gz llvm-e9e6bdf27fca46dc9eca2ebdf73e03747d1859ab.tar.bz2 llvm-e9e6bdf27fca46dc9eca2ebdf73e03747d1859ab.tar.xz |
Implement stack protectors as function attributes: "ssp" and "sspreq".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59202 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Attributes.h')
-rw-r--r-- | include/llvm/Attributes.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/llvm/Attributes.h b/include/llvm/Attributes.h index b2117dd6be..57f4e17c47 100644 --- a/include/llvm/Attributes.h +++ b/include/llvm/Attributes.h @@ -47,6 +47,8 @@ const Attributes ReadOnly = 1<<10; ///< Function only reads from memory const Attributes NoInline = 1<<11; // inline=never const Attributes AlwaysInline = 1<<12; // inline=always const Attributes OptimizeForSize = 1<<13; // opt_size +const Attributes StackProtect = 1<<14; // Stack protection. +const Attributes StackProtectReq = 1<<15; // Stack protection required. const Attributes Alignment = 0xffff<<16; ///< Alignment of parameter (16 bits) // 0 = unknown, else in clear (not log) @@ -55,7 +57,7 @@ const Attributes ParameterOnly = ByVal | Nest | StructRet; /// @brief Attributes that only apply to function. const Attributes FunctionOnly = NoReturn | NoUnwind | ReadNone | ReadOnly | - NoInline | AlwaysInline | OptimizeForSize; + NoInline | AlwaysInline | OptimizeForSize | StackProtect | StackProtectReq; /// @brief Parameter attributes that do not apply to vararg call arguments. const Attributes VarArgsIncompatible = StructRet; |