@@ -107,7 +107,8 @@ fn test_attributes_on_function_values() {
107
107
let fn_value = module. add_function ( "my_fn" , fn_type, None ) ;
108
108
let entry_bb = fn_value. append_basic_block ( "entry" ) ;
109
109
let string_attribute = context. create_string_attribute ( "my_key" , "my_val" ) ;
110
- let enum_attribute = context. create_enum_attribute ( 1 , 1 ) ;
110
+ let alignstack_attribute = Attribute :: get_named_enum_kind_id ( "alignstack" ) ;
111
+ let enum_attribute = context. create_enum_attribute ( alignstack_attribute, 1 ) ;
111
112
112
113
builder. position_at_end ( & entry_bb) ;
113
114
builder. build_return ( None ) ;
@@ -116,25 +117,25 @@ fn test_attributes_on_function_values() {
116
117
assert_eq ! ( fn_value. count_attributes( 1 ) , 0 ) ;
117
118
118
119
fn_value. remove_string_attribute ( 0 , "my_key" ) ; // Noop
119
- fn_value. remove_enum_attribute ( 0 , 1 ) ; // Noop
120
+ fn_value. remove_enum_attribute ( 0 , alignstack_attribute ) ; // Noop
120
121
121
122
// define align 1 "my_key"="my_val" void @my_fn()
122
123
fn_value. add_attribute ( 0 , string_attribute) ;
123
124
fn_value. add_attribute ( 1 , string_attribute) ; // Applied to 1st param
124
125
fn_value. add_attribute ( 0 , enum_attribute) ;
125
126
126
127
assert_eq ! ( fn_value. count_attributes( 0 ) , 2 ) ;
127
- assert_eq ! ( fn_value. get_enum_attribute( 0 , 1 ) , Some ( enum_attribute) ) ;
128
+ assert_eq ! ( fn_value. get_enum_attribute( 0 , alignstack_attribute ) , Some ( enum_attribute) ) ;
128
129
assert_eq ! ( fn_value. get_string_attribute( 0 , "my_key" ) , Some ( string_attribute) ) ;
129
130
130
131
fn_value. remove_string_attribute ( 0 , "my_key" ) ;
131
132
132
133
assert_eq ! ( fn_value. count_attributes( 0 ) , 1 ) ;
133
134
134
- fn_value. remove_enum_attribute ( 0 , 1 ) ;
135
+ fn_value. remove_enum_attribute ( 0 , alignstack_attribute ) ;
135
136
136
137
assert_eq ! ( fn_value. count_attributes( 0 ) , 0 ) ;
137
- assert ! ( fn_value. get_enum_attribute( 0 , 1 ) . is_none( ) ) ;
138
+ assert ! ( fn_value. get_enum_attribute( 0 , alignstack_attribute ) . is_none( ) ) ;
138
139
assert ! ( fn_value. get_string_attribute( 0 , "my_key" ) . is_none( ) ) ;
139
140
}
140
141
@@ -149,7 +150,8 @@ fn test_attributes_on_call_site_values() {
149
150
let fn_value = module. add_function ( "my_fn" , fn_type, None ) ;
150
151
let entry_bb = fn_value. append_basic_block ( "entry" ) ;
151
152
let string_attribute = context. create_string_attribute ( "my_key" , "my_val" ) ;
152
- let enum_attribute = context. create_enum_attribute ( 1 , 1 ) ;
153
+ let alignstack_attribute = Attribute :: get_named_enum_kind_id ( "alignstack" ) ;
154
+ let enum_attribute = context. create_enum_attribute ( alignstack_attribute, 1 ) ;
153
155
154
156
builder. position_at_end ( & entry_bb) ;
155
157
@@ -162,29 +164,29 @@ fn test_attributes_on_call_site_values() {
162
164
assert_eq ! ( call_site_value. count_attributes( 1 ) , 0 ) ;
163
165
164
166
call_site_value. remove_string_attribute ( 0 , "my_key" ) ; // Noop
165
- call_site_value. remove_enum_attribute ( 0 , 1 ) ; // Noop
167
+ call_site_value. remove_enum_attribute ( 0 , alignstack_attribute ) ; // Noop
166
168
167
169
// define align 1 "my_key"="my_val" void @my_fn()
168
170
call_site_value. add_attribute ( 0 , string_attribute) ;
169
171
call_site_value. add_attribute ( 1 , string_attribute) ; // Applied to 1st param
170
172
call_site_value. add_attribute ( 0 , enum_attribute) ;
171
173
172
174
assert_eq ! ( call_site_value. count_attributes( 0 ) , 2 ) ;
173
- assert_eq ! ( call_site_value. get_enum_attribute( 0 , 1 ) , Some ( enum_attribute) ) ;
175
+ assert_eq ! ( call_site_value. get_enum_attribute( 0 , alignstack_attribute ) , Some ( enum_attribute) ) ;
174
176
assert_eq ! ( call_site_value. get_string_attribute( 0 , "my_key" ) , Some ( string_attribute) ) ;
175
177
176
178
call_site_value. remove_string_attribute ( 0 , "my_key" ) ;
177
179
178
180
assert_eq ! ( call_site_value. count_attributes( 0 ) , 1 ) ;
179
181
180
- call_site_value. remove_enum_attribute ( 0 , 1 ) ;
182
+ call_site_value. remove_enum_attribute ( 0 , alignstack_attribute ) ;
181
183
182
184
assert_eq ! ( call_site_value. count_attributes( 0 ) , 0 ) ;
183
- assert ! ( call_site_value. get_enum_attribute( 0 , 1 ) . is_none( ) ) ;
185
+ assert ! ( call_site_value. get_enum_attribute( 0 , alignstack_attribute ) . is_none( ) ) ;
184
186
assert ! ( call_site_value. get_string_attribute( 0 , "my_key" ) . is_none( ) ) ;
185
187
assert_eq ! ( call_site_value. get_called_fn_value( ) , fn_value) ;
186
188
187
- call_site_value. set_param_alignment_attribute ( 0 , 12 ) ;
189
+ call_site_value. set_param_alignment_attribute ( 0 , 16 ) ;
188
190
189
191
assert_eq ! ( call_site_value. count_attributes( 0 ) , 1 ) ;
190
192
assert ! ( call_site_value. get_enum_attribute( 0 , 1 ) . is_some( ) ) ;
0 commit comments