@@ -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
@@ -136,7 +136,7 @@ pub fn entry(args: TokenStream, input: TokenStream) -> TokenStream {
136
136
137
137
quote ! (
138
138
#[ allow( non_snake_case) ]
139
- #[ export_name = "main" ]
139
+ #[ unsafe ( export_name = "main" ) ]
140
140
#( #attrs) *
141
141
pub #unsafety fn __risc_v_rt__main( #args) -> ! {
142
142
#( #stmts) *
@@ -248,7 +248,7 @@ pub fn pre_init(args: TokenStream, input: TokenStream) -> TokenStream {
248
248
let block = f. block ;
249
249
250
250
quote ! (
251
- #[ export_name = "__pre_init" ]
251
+ #[ unsafe ( export_name = "__pre_init" ) ]
252
252
#( #attrs) *
253
253
pub unsafe fn #ident( ) #block
254
254
)
@@ -451,7 +451,7 @@ fn store_trap<T: FnMut(&str) -> bool>(arch: RiscvArch, mut filter: T) -> String
451
451
arch. trap_frame ( )
452
452
. iter ( )
453
453
. enumerate ( )
454
- . filter ( |( _, & reg) | !reg. starts_with ( '_' ) && filter ( reg) )
454
+ . filter ( |( _, reg) | !reg. starts_with ( '_' ) && filter ( reg) )
455
455
. map ( |( i, reg) | format ! ( "{store} {reg}, {i}*{width}(sp)" ) )
456
456
. collect :: < Vec < _ > > ( )
457
457
. join ( "\n " )
@@ -465,7 +465,7 @@ fn load_trap(arch: RiscvArch) -> String {
465
465
arch. trap_frame ( )
466
466
. iter ( )
467
467
. enumerate ( )
468
- . filter ( |( _, & reg) | !reg. starts_with ( '_' ) )
468
+ . filter ( |( _, reg) | !reg. starts_with ( '_' ) )
469
469
. map ( |( i, reg) | format ! ( "{load} {reg}, {i}*{width}(sp)" ) )
470
470
. collect :: < Vec < _ > > ( )
471
471
. join ( "\n " )
@@ -760,7 +760,7 @@ fn trap(
760
760
761
761
#start_trap
762
762
763
- #[ export_name = #export_name]
763
+ #[ unsafe ( export_name = #export_name) ]
764
764
#f
765
765
)
766
766
. into ( )
0 commit comments