@@ -60,15 +60,27 @@ pub enum FnAttribute<'a> {
60
60
Const ,
61
61
Weak ,
62
62
NonNull ( Vec < std:: ffi:: c_int > ) ,
63
- MsAbi ,
64
- SysvAbi ,
63
+ ArmPcs ( & ' a str ) ,
64
+ AvrInterrupt ,
65
+ AvrNoblock ,
66
+ AvrSignal ,
67
+ GcnAmdGpuHsaKernel ,
68
+ Msp430Interrupt ,
69
+ NvptxKernel ,
70
+ X86FastCall ,
71
+ X86Interrupt ,
72
+ X86MsAbi ,
73
+ X86Stdcall ,
74
+ X86SysvAbi ,
75
+ X86ThisCall ,
65
76
}
66
77
67
78
#[ cfg( feature="master" ) ]
68
79
impl < ' a > FnAttribute < ' a > {
69
80
fn get_value ( & self ) -> AttributeValue {
70
81
match * self {
71
- FnAttribute :: Alias ( value) | FnAttribute :: Target ( value) => AttributeValue :: String ( value) ,
82
+ FnAttribute :: Alias ( value) | FnAttribute :: ArmPcs ( value) | FnAttribute :: Target ( value) =>
83
+ AttributeValue :: String ( value) ,
72
84
FnAttribute :: Visibility ( visibility) => AttributeValue :: String ( visibility. as_str ( ) ) ,
73
85
FnAttribute :: AlwaysInline
74
86
| FnAttribute :: Inline
@@ -79,8 +91,18 @@ impl<'a> FnAttribute<'a> {
79
91
| FnAttribute :: Pure
80
92
| FnAttribute :: Const
81
93
| FnAttribute :: Weak
82
- | FnAttribute :: MsAbi
83
- | FnAttribute :: SysvAbi => AttributeValue :: None ,
94
+ | FnAttribute :: AvrInterrupt
95
+ | FnAttribute :: AvrNoblock
96
+ | FnAttribute :: AvrSignal
97
+ | FnAttribute :: GcnAmdGpuHsaKernel
98
+ | FnAttribute :: Msp430Interrupt
99
+ | FnAttribute :: NvptxKernel
100
+ | FnAttribute :: X86FastCall
101
+ | FnAttribute :: X86Interrupt
102
+ | FnAttribute :: X86MsAbi
103
+ | FnAttribute :: X86Stdcall
104
+ | FnAttribute :: X86SysvAbi
105
+ | FnAttribute :: X86ThisCall => AttributeValue :: None ,
84
106
FnAttribute :: NonNull ( ref value) => {
85
107
debug_assert ! (
86
108
value. iter( ) . all( |attr| * attr > 0 ) ,
@@ -106,8 +128,19 @@ impl<'a> FnAttribute<'a> {
106
128
FnAttribute :: Const => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_CONST ,
107
129
FnAttribute :: Weak => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_WEAK ,
108
130
FnAttribute :: NonNull ( _) => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_NONNULL ,
109
- FnAttribute :: MsAbi => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_MS_ABI ,
110
- FnAttribute :: SysvAbi => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_SYSV_ABI ,
131
+ FnAttribute :: ArmPcs ( _) => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_ARM_PCS ,
132
+ FnAttribute :: AvrInterrupt => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_AVR_INTERRUPT ,
133
+ FnAttribute :: AvrNoblock => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_AVR_NOBLOCK ,
134
+ FnAttribute :: AvrSignal => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_AVR_SIGNAL ,
135
+ FnAttribute :: GcnAmdGpuHsaKernel => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_GCN_AMDGPU_HSA_KERNEL ,
136
+ FnAttribute :: Msp430Interrupt => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_MSP430_INTERRUPT ,
137
+ FnAttribute :: NvptxKernel => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_NVPTX_KERNEL ,
138
+ FnAttribute :: X86FastCall => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_X86_FAST_CALL ,
139
+ FnAttribute :: X86Interrupt => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_X86_INTERRUPT ,
140
+ FnAttribute :: X86MsAbi => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_X86_MS_ABI ,
141
+ FnAttribute :: X86Stdcall => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_X86_STDCALL ,
142
+ FnAttribute :: X86SysvAbi => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_X86_SYSV_ABI ,
143
+ FnAttribute :: X86ThisCall => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_X86_THIS_CALL ,
111
144
}
112
145
}
113
146
}
0 commit comments