@@ -4,11 +4,11 @@ use proc_macro::TokenStream;
4
4
use proc_macro2:: { Span , TokenStream as TokenStream2 } ;
5
5
use quote:: quote;
6
6
use syn:: {
7
+ FnArg , ItemFn , LitInt , LitStr , PatType , Path , ReturnType , Token , Type , Visibility ,
7
8
parse:: { self , Parse } ,
8
9
parse_macro_input, parse_quote,
9
10
punctuated:: Punctuated ,
10
11
spanned:: Spanned ,
11
- FnArg , ItemFn , LitInt , LitStr , PatType , Path , ReturnType , Token , Type , Visibility ,
12
12
} ;
13
13
14
14
/// Attribute to declare the entry point of the program
@@ -142,7 +142,7 @@ pub fn entry(args: TokenStream, input: TokenStream) -> TokenStream {
142
142
143
143
quote ! (
144
144
#[ allow( non_snake_case) ]
145
- #[ export_name = "main" ]
145
+ #[ unsafe ( export_name = "main" ) ]
146
146
#( #attrs) *
147
147
pub #unsafety fn __risc_v_rt__main( #args) -> ! {
148
148
#( #stmts) *
@@ -254,7 +254,7 @@ pub fn pre_init(args: TokenStream, input: TokenStream) -> TokenStream {
254
254
let block = f. block ;
255
255
256
256
quote ! (
257
- #[ export_name = "__pre_init" ]
257
+ #[ unsafe ( export_name = "__pre_init" ) ]
258
258
#( #attrs) *
259
259
pub unsafe fn #ident( ) #block
260
260
)
@@ -457,7 +457,7 @@ fn store_trap<T: FnMut(&str) -> bool>(arch: RiscvArch, mut filter: T) -> String
457
457
arch. trap_frame ( )
458
458
. iter ( )
459
459
. enumerate ( )
460
- . filter ( |( _, & reg) | !reg. starts_with ( '_' ) && filter ( reg) )
460
+ . filter ( |( _, reg) | !reg. starts_with ( '_' ) && filter ( reg) )
461
461
. map ( |( i, reg) | format ! ( "{store} {reg}, {i}*{width}(sp)" ) )
462
462
. collect :: < Vec < _ > > ( )
463
463
. join ( "\n " )
@@ -471,7 +471,7 @@ fn load_trap(arch: RiscvArch) -> String {
471
471
arch. trap_frame ( )
472
472
. iter ( )
473
473
. enumerate ( )
474
- . filter ( |( _, & reg) | !reg. starts_with ( '_' ) )
474
+ . filter ( |( _, reg) | !reg. starts_with ( '_' ) )
475
475
. map ( |( i, reg) | format ! ( "{load} {reg}, {i}*{width}(sp)" ) )
476
476
. collect :: < Vec < _ > > ( )
477
477
. join ( "\n " )
@@ -766,7 +766,7 @@ fn trap(
766
766
767
767
#start_trap
768
768
769
- #[ export_name = #export_name]
769
+ #[ unsafe ( export_name = #export_name) ]
770
770
#f
771
771
)
772
772
. into ( )
0 commit comments