1
1
#![ deny( warnings) ]
2
2
3
3
extern crate proc_macro;
4
- extern crate rand;
5
4
#[ macro_use]
6
5
extern crate quote;
7
6
extern crate core;
@@ -10,13 +9,7 @@ extern crate proc_macro2;
10
9
extern crate syn;
11
10
12
11
use proc_macro2:: Span ;
13
- use rand:: Rng ;
14
- use rand:: SeedableRng ;
15
- use std:: sync:: atomic:: { AtomicUsize , Ordering } ;
16
- use std:: time:: { SystemTime , UNIX_EPOCH } ;
17
- use syn:: { parse, spanned:: Spanned , Ident , ItemFn , ReturnType , Type , Visibility } ;
18
-
19
- static CALL_COUNT : AtomicUsize = AtomicUsize :: new ( 0 ) ;
12
+ use syn:: { parse, spanned:: Spanned , ItemFn , ReturnType , Type , Visibility } ;
20
13
21
14
use proc_macro:: TokenStream ;
22
15
@@ -90,13 +83,12 @@ pub fn entry(args: TokenStream, input: TokenStream) -> TokenStream {
90
83
// XXX should we blacklist other attributes?
91
84
let attrs = f. attrs ;
92
85
let unsafety = f. sig . unsafety ;
93
- let hash = random_ident ( ) ;
94
86
let stmts = f. block . stmts ;
95
87
96
88
quote ! (
97
89
#[ export_name = "main" ]
98
90
#( #attrs) *
99
- pub #unsafety fn #hash ( ) -> ! {
91
+ pub #unsafety fn __risc_v_rt__main ( ) -> ! {
100
92
#( #stmts) *
101
93
}
102
94
)
@@ -176,36 +168,3 @@ pub fn pre_init(args: TokenStream, input: TokenStream) -> TokenStream {
176
168
)
177
169
. into ( )
178
170
}
179
-
180
- // Creates a random identifier
181
- fn random_ident ( ) -> Ident {
182
- let secs = SystemTime :: now ( )
183
- . duration_since ( UNIX_EPOCH )
184
- . unwrap ( )
185
- . as_secs ( ) ;
186
-
187
- let count: u64 = CALL_COUNT . fetch_add ( 1 , Ordering :: SeqCst ) as u64 ;
188
- let mut seed: [ u8 ; 16 ] = [ 0 ; 16 ] ;
189
-
190
- for ( i, v) in seed. iter_mut ( ) . take ( 8 ) . enumerate ( ) {
191
- * v = ( ( secs >> ( i * 8 ) ) & 0xFF ) as u8
192
- }
193
-
194
- for ( i, v) in seed. iter_mut ( ) . skip ( 8 ) . enumerate ( ) {
195
- * v = ( ( count >> ( i * 8 ) ) & 0xFF ) as u8
196
- }
197
-
198
- let mut rng = rand:: rngs:: SmallRng :: from_seed ( seed) ;
199
- Ident :: new (
200
- & ( 0 ..16 )
201
- . map ( |i| {
202
- if i == 0 || rng. gen ( ) {
203
- ( 'a' as u8 + rng. gen :: < u8 > ( ) % 25 ) as char
204
- } else {
205
- ( '0' as u8 + rng. gen :: < u8 > ( ) % 10 ) as char
206
- }
207
- } )
208
- . collect :: < String > ( ) ,
209
- Span :: call_site ( ) ,
210
- )
211
- }
0 commit comments