@@ -89,44 +89,24 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
89
89
} ;
90
90
91
91
match name {
92
- sym:: cold => {
93
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: COLD ;
94
- }
95
- sym:: rustc_allocator => {
96
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: ALLOCATOR ;
97
- }
92
+ sym:: cold => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: COLD ,
93
+ sym:: rustc_allocator => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: ALLOCATOR ,
98
94
sym:: ffi_returns_twice => {
99
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: FFI_RETURNS_TWICE ;
100
- }
101
- sym:: ffi_pure => {
102
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: FFI_PURE ;
103
- }
104
- sym:: ffi_const => {
105
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: FFI_CONST ;
106
- }
107
- sym:: rustc_nounwind => {
108
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: NEVER_UNWIND ;
109
- }
110
- sym:: rustc_reallocator => {
111
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: REALLOCATOR ;
112
- }
113
- sym:: rustc_deallocator => {
114
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: DEALLOCATOR ;
95
+ codegen_fn_attrs. flags |= CodegenFnAttrFlags :: FFI_RETURNS_TWICE
115
96
}
97
+ sym:: ffi_pure => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: FFI_PURE ,
98
+ sym:: ffi_const => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: FFI_CONST ,
99
+ sym:: rustc_nounwind => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: NEVER_UNWIND ,
100
+ sym:: rustc_reallocator => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: REALLOCATOR ,
101
+ sym:: rustc_deallocator => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: DEALLOCATOR ,
116
102
sym:: rustc_allocator_zeroed => {
117
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: ALLOCATOR_ZEROED ;
118
- }
119
- sym:: naked => {
120
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: NAKED ;
121
- }
122
- sym:: no_mangle => {
123
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: NO_MANGLE ;
124
- }
125
- sym:: no_coverage => {
126
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: NO_COVERAGE ;
103
+ codegen_fn_attrs. flags |= CodegenFnAttrFlags :: ALLOCATOR_ZEROED
127
104
}
105
+ sym:: naked => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: NAKED ,
106
+ sym:: no_mangle => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: NO_MANGLE ,
107
+ sym:: no_coverage => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: NO_COVERAGE ,
128
108
sym:: rustc_std_internal_symbol => {
129
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: RUSTC_STD_INTERNAL_SYMBOL ;
109
+ codegen_fn_attrs. flags |= CodegenFnAttrFlags :: RUSTC_STD_INTERNAL_SYMBOL
130
110
}
131
111
sym:: used => {
132
112
let inner = attr. meta_item_list ( ) ;
@@ -207,11 +187,9 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
207
187
struct_span_err ! ( tcx. sess, attr. span, E0775 , "`#[cmse_nonsecure_entry]` is only valid for targets with the TrustZone-M extension" )
208
188
. emit ( ) ;
209
189
}
210
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: CMSE_NONSECURE_ENTRY ;
211
- }
212
- sym:: thread_local => {
213
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: THREAD_LOCAL ;
190
+ codegen_fn_attrs. flags |= CodegenFnAttrFlags :: CMSE_NONSECURE_ENTRY
214
191
}
192
+ sym:: thread_local => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: THREAD_LOCAL ,
215
193
sym:: track_caller => {
216
194
if !tcx. is_closure ( did. to_def_id ( ) )
217
195
&& let Some ( fn_sig) = fn_sig ( )
@@ -229,7 +207,7 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
229
207
)
230
208
. emit ( ) ;
231
209
}
232
- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: TRACK_CALLER ;
210
+ codegen_fn_attrs. flags |= CodegenFnAttrFlags :: TRACK_CALLER
233
211
}
234
212
sym:: export_name => {
235
213
if let Some ( s) = attr. value_str ( ) {
@@ -306,20 +284,14 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
306
284
sym:: link_section => {
307
285
if let Some ( val) = attr. value_str ( ) {
308
286
if val. as_str ( ) . bytes ( ) . any ( |b| b == 0 ) {
309
- let msg = format ! (
310
- "illegal null byte in link_section \
311
- value: `{}`",
312
- & val
313
- ) ;
287
+ let msg = format ! ( "illegal null byte in link_section value: `{}`" , & val) ;
314
288
tcx. sess . span_err ( attr. span , & msg) ;
315
289
} else {
316
290
codegen_fn_attrs. link_section = Some ( val) ;
317
291
}
318
292
}
319
293
}
320
- sym:: link_name => {
321
- codegen_fn_attrs. link_name = attr. value_str ( ) ;
322
- }
294
+ sym:: link_name => codegen_fn_attrs. link_name = attr. value_str ( ) ,
323
295
sym:: link_ordinal => {
324
296
link_ordinal_span = Some ( attr. span ) ;
325
297
if let ordinal @ Some ( _) = check_link_ordinal ( tcx, attr) {
@@ -330,37 +302,27 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
330
302
no_sanitize_span = Some ( attr. span ) ;
331
303
if let Some ( list) = attr. meta_item_list ( ) {
332
304
for item in list. iter ( ) {
333
- match item. ident ( ) . map ( |ident| ident . name ) {
334
- Some ( sym:: address) => {
305
+ match item. name_or_empty ( ) {
306
+ sym:: address => {
335
307
codegen_fn_attrs. no_sanitize |=
336
- SanitizerSet :: ADDRESS | SanitizerSet :: KERNELADDRESS ;
337
- }
338
- Some ( sym:: cfi) => {
339
- codegen_fn_attrs. no_sanitize |= SanitizerSet :: CFI ;
340
- }
341
- Some ( sym:: kcfi) => {
342
- codegen_fn_attrs. no_sanitize |= SanitizerSet :: KCFI ;
308
+ SanitizerSet :: ADDRESS | SanitizerSet :: KERNELADDRESS
343
309
}
344
- Some ( sym:: memory) => {
345
- codegen_fn_attrs. no_sanitize |= SanitizerSet :: MEMORY ;
310
+ sym:: cfi => codegen_fn_attrs. no_sanitize |= SanitizerSet :: CFI ,
311
+ sym:: kcfi => codegen_fn_attrs. no_sanitize |= SanitizerSet :: KCFI ,
312
+ sym:: memory => codegen_fn_attrs. no_sanitize |= SanitizerSet :: MEMORY ,
313
+ sym:: memtag => codegen_fn_attrs. no_sanitize |= SanitizerSet :: MEMTAG ,
314
+ sym:: shadow_call_stack => {
315
+ codegen_fn_attrs. no_sanitize |= SanitizerSet :: SHADOWCALLSTACK
346
316
}
347
- Some ( sym:: memtag) => {
348
- codegen_fn_attrs. no_sanitize |= SanitizerSet :: MEMTAG ;
349
- }
350
- Some ( sym:: shadow_call_stack) => {
351
- codegen_fn_attrs. no_sanitize |= SanitizerSet :: SHADOWCALLSTACK ;
352
- }
353
- Some ( sym:: thread) => {
354
- codegen_fn_attrs. no_sanitize |= SanitizerSet :: THREAD ;
355
- }
356
- Some ( sym:: hwaddress) => {
357
- codegen_fn_attrs. no_sanitize |= SanitizerSet :: HWADDRESS ;
317
+ sym:: thread => codegen_fn_attrs. no_sanitize |= SanitizerSet :: THREAD ,
318
+ sym:: hwaddress => {
319
+ codegen_fn_attrs. no_sanitize |= SanitizerSet :: HWADDRESS
358
320
}
359
321
_ => {
360
322
tcx. sess
361
- . struct_span_err ( item. span ( ) , "invalid argument for `no_sanitize`" )
362
- . note ( "expected one of: `address`, `cfi`, `hwaddress`, `kcfi`, `memory`, `memtag`, `shadow-call-stack`, or `thread`" )
363
- . emit ( ) ;
323
+ . struct_span_err ( item. span ( ) , "invalid argument for `no_sanitize`" )
324
+ . note ( "expected one of: `address`, `cfi`, `hwaddress`, `kcfi`, `memory`, `memtag`, `shadow-call-stack`, or `thread`" )
325
+ . emit ( ) ;
364
326
}
365
327
}
366
328
}
0 commit comments