@@ -89,44 +89,24 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
8989 } ;
9090
9191 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 ,
9894 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
11596 }
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 ,
116102 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
127104 }
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 ,
128108 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
130110 }
131111 sym:: used => {
132112 let inner = attr. meta_item_list ( ) ;
@@ -207,11 +187,9 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
207187 struct_span_err ! ( tcx. sess, attr. span, E0775 , "`#[cmse_nonsecure_entry]` is only valid for targets with the TrustZone-M extension" )
208188 . emit ( ) ;
209189 }
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
214191 }
192+ sym:: thread_local => codegen_fn_attrs. flags |= CodegenFnAttrFlags :: THREAD_LOCAL ,
215193 sym:: track_caller => {
216194 if !tcx. is_closure ( did. to_def_id ( ) )
217195 && let Some ( fn_sig) = fn_sig ( )
@@ -229,7 +207,7 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
229207 )
230208 . emit ( ) ;
231209 }
232- codegen_fn_attrs. flags |= CodegenFnAttrFlags :: TRACK_CALLER ;
210+ codegen_fn_attrs. flags |= CodegenFnAttrFlags :: TRACK_CALLER
233211 }
234212 sym:: export_name => {
235213 if let Some ( s) = attr. value_str ( ) {
@@ -306,20 +284,14 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
306284 sym:: link_section => {
307285 if let Some ( val) = attr. value_str ( ) {
308286 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) ;
314288 tcx. sess . span_err ( attr. span , & msg) ;
315289 } else {
316290 codegen_fn_attrs. link_section = Some ( val) ;
317291 }
318292 }
319293 }
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 ( ) ,
323295 sym:: link_ordinal => {
324296 link_ordinal_span = Some ( attr. span ) ;
325297 if let ordinal @ Some ( _) = check_link_ordinal ( tcx, attr) {
@@ -330,37 +302,27 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, did: LocalDefId) -> CodegenFnAttrs {
330302 no_sanitize_span = Some ( attr. span ) ;
331303 if let Some ( list) = attr. meta_item_list ( ) {
332304 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 => {
335307 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
343309 }
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
346316 }
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
358320 }
359321 _ => {
360322 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 ( ) ;
364326 }
365327 }
366328 }
0 commit comments