diff options
author | Charles Davis <cdavis5x@gmail.com> | 2013-08-30 04:39:01 +0000 |
---|---|---|
committer | Charles Davis <cdavis5x@gmail.com> | 2013-08-30 04:39:01 +0000 |
commit | e8519c31a6ef853b627d557702ac1890f18ce2c9 (patch) | |
tree | ab9059f5be572402762474d4d95fdb91821ff734 /include | |
parent | 3f125819c648101cbfd3dfb7b3776834d6cc3423 (diff) | |
download | clang-e8519c31a6ef853b627d557702ac1890f18ce2c9.tar.gz clang-e8519c31a6ef853b627d557702ac1890f18ce2c9.tar.bz2 clang-e8519c31a6ef853b627d557702ac1890f18ce2c9.tar.xz |
Add ms_abi and sysv_abi attribute handling.
Based on a patch by Benno Rice!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189644 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/clang-c/Index.h | 2 | ||||
-rw-r--r-- | include/clang/AST/Type.h | 2 | ||||
-rw-r--r-- | include/clang/Basic/Attr.td | 8 | ||||
-rw-r--r-- | include/clang/Basic/Specifiers.h | 2 |
4 files changed, 14 insertions, 0 deletions
diff --git a/include/clang-c/Index.h b/include/clang-c/Index.h index d43c2d619a..b294e41439 100644 --- a/include/clang-c/Index.h +++ b/include/clang-c/Index.h @@ -2694,6 +2694,8 @@ enum CXCallingConv { CXCallingConv_AAPCS_VFP = 7, CXCallingConv_PnaclCall = 8, CXCallingConv_IntelOclBicc = 9, + CXCallingConv_X86_64Win64 = 10, + CXCallingConv_X86_64SysV = 11, CXCallingConv_Invalid = 100, CXCallingConv_Unexposed = 200 diff --git a/include/clang/AST/Type.h b/include/clang/AST/Type.h index 436fceeb80..ca2e42b8f3 100644 --- a/include/clang/AST/Type.h +++ b/include/clang/AST/Type.h @@ -3393,6 +3393,8 @@ public: attr_pascal, attr_pnaclcall, attr_inteloclbicc, + attr_ms_abi, + attr_sysv_abi, attr_ptr32, attr_ptr64, attr_sptr, diff --git a/include/clang/Basic/Attr.td b/include/clang/Basic/Attr.td index bd9e48f0e7..d38ffa60e1 100644 --- a/include/clang/Basic/Attr.td +++ b/include/clang/Basic/Attr.td @@ -426,6 +426,10 @@ def MayAlias : InheritableAttr { let Spellings = [GNU<"may_alias">, CXX11<"gnu", "may_alias">]; } +def MSABI : InheritableAttr { + let Spellings = [GNU<"ms_abi">, CXX11<"gnu", "ms_abi">]; +} + def MSP430Interrupt : InheritableAttr, TargetSpecificAttr { let Spellings = []; let Args = [UnsignedArgument<"Number">]; @@ -660,6 +664,10 @@ def StdCall : InheritableAttr { Keyword<"__stdcall">, Keyword<"_stdcall">]; } +def SysVABI : InheritableAttr { + let Spellings = [GNU<"sysv_abi">, CXX11<"gnu", "sysv_abi">]; +} + def ThisCall : InheritableAttr { let Spellings = [GNU<"thiscall">, CXX11<"gnu", "thiscall">, Keyword<"__thiscall">, Keyword<"_thiscall">]; diff --git a/include/clang/Basic/Specifiers.h b/include/clang/Basic/Specifiers.h index d9d5799e04..91383b76ba 100644 --- a/include/clang/Basic/Specifiers.h +++ b/include/clang/Basic/Specifiers.h @@ -205,6 +205,8 @@ namespace clang { CC_X86FastCall, // __attribute__((fastcall)) CC_X86ThisCall, // __attribute__((thiscall)) CC_X86Pascal, // __attribute__((pascal)) + CC_X86_64Win64, // __attribute__((ms_abi)) + CC_X86_64SysV, // __attribute__((sysv_abi)) CC_AAPCS, // __attribute__((pcs("aapcs"))) CC_AAPCS_VFP, // __attribute__((pcs("aapcs-vfp"))) CC_PnaclCall, // __attribute__((pnaclcall)) |