@@ -49,6 +49,7 @@ pub enum FunctionType {
49
49
#[ cfg( feature="master" ) ]
50
50
#[ derive( Clone , Debug ) ]
51
51
pub enum FnAttribute < ' a > {
52
+ Alias ( & ' a str ) ,
52
53
AlwaysInline ,
53
54
Inline ,
54
55
NoInline ,
@@ -59,13 +60,14 @@ pub enum FnAttribute<'a> {
59
60
ReturnsTwice ,
60
61
Pure ,
61
62
Const ,
63
+ Weak ,
62
64
}
63
65
64
66
#[ cfg( feature="master" ) ]
65
67
impl < ' a > FnAttribute < ' a > {
66
68
fn get_value ( & self ) -> AttributeValue {
67
69
match * self {
68
- FnAttribute :: Target ( target ) => AttributeValue :: String ( target ) ,
70
+ FnAttribute :: Alias ( value ) | FnAttribute :: Target ( value ) => AttributeValue :: String ( value ) ,
69
71
FnAttribute :: Visibility ( visibility) => AttributeValue :: String ( visibility. as_str ( ) ) ,
70
72
FnAttribute :: AlwaysInline
71
73
| FnAttribute :: Inline
@@ -74,12 +76,14 @@ impl<'a> FnAttribute<'a> {
74
76
| FnAttribute :: Cold
75
77
| FnAttribute :: ReturnsTwice
76
78
| FnAttribute :: Pure
77
- | FnAttribute :: Const => AttributeValue :: None ,
79
+ | FnAttribute :: Const
80
+ | FnAttribute :: Weak => AttributeValue :: None ,
78
81
}
79
82
}
80
83
81
84
fn as_sys ( & self ) -> gccjit_sys:: gcc_jit_fn_attribute {
82
85
match * self {
86
+ FnAttribute :: Alias ( _) => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_ALIAS ,
83
87
FnAttribute :: AlwaysInline => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_ALWAYS_INLINE ,
84
88
FnAttribute :: Inline => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_INLINE ,
85
89
FnAttribute :: NoInline => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_NOINLINE ,
@@ -90,6 +94,7 @@ impl<'a> FnAttribute<'a> {
90
94
FnAttribute :: ReturnsTwice => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_RETURNS_TWICE ,
91
95
FnAttribute :: Pure => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_PURE ,
92
96
FnAttribute :: Const => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_CONST ,
97
+ FnAttribute :: Weak => gccjit_sys:: gcc_jit_fn_attribute:: GCC_JIT_FN_ATTRIBUTE_WEAK ,
93
98
}
94
99
}
95
100
}
0 commit comments