diff options
Diffstat (limited to 'macros/src')
-rw-r--r-- | macros/src/codegen.rs | 5 | ||||
-rw-r--r-- | macros/src/codegen/dispatchers.rs | 2 | ||||
-rw-r--r-- | macros/src/codegen/idle.rs | 2 | ||||
-rw-r--r-- | macros/src/codegen/init.rs | 8 | ||||
-rw-r--r-- | macros/src/codegen/post_init.rs | 7 |
5 files changed, 13 insertions, 11 deletions
diff --git a/macros/src/codegen.rs b/macros/src/codegen.rs index 7d0d1220..80e65cd4 100644 --- a/macros/src/codegen.rs +++ b/macros/src/codegen.rs @@ -39,7 +39,8 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { let (const_app_init, root_init, user_init, call_init) = init::codegen(core, app, analysis, extra); - let (const_app_post_init, post_init_stmts) = post_init::codegen(core, &app, analysis, extra); + let (const_app_post_init, post_init_stmts) = + post_init::codegen(core, &app, analysis, extra); let (const_app_idle, root_idle, user_idle, call_idle) = idle::codegen(core, app, analysis, extra); @@ -74,6 +75,8 @@ pub fn app(app: &App, analysis: &Analysis, extra: &Extra) -> TokenStream2 { #section #cfg_core unsafe extern "C" fn #main() -> ! { + let _TODO: () = (); + #(#assertion_stmts)* #(#pre_init_stmts)* diff --git a/macros/src/codegen/dispatchers.rs b/macros/src/codegen/dispatchers.rs index 9a9cb102..1400786b 100644 --- a/macros/src/codegen/dispatchers.rs +++ b/macros/src/codegen/dispatchers.rs @@ -141,7 +141,7 @@ pub fn codegen(app: &App, analysis: &Analysis, extra: &Extra) -> Vec<TokenStream #let_instant #fq.split().0.enqueue_unchecked(index); let priority = &rtfm::export::Priority::new(PRIORITY); - #name( + crate::#name( #locals_new #name::Context::new(priority #instant) #(,#pats)* diff --git a/macros/src/codegen/idle.rs b/macros/src/codegen/idle.rs index 35a72523..72432f67 100644 --- a/macros/src/codegen/idle.rs +++ b/macros/src/codegen/idle.rs @@ -72,7 +72,7 @@ pub fn codegen( )); let locals_new = locals_new.iter(); - let call_idle = quote!(#name( + let call_idle = quote!(crate::#name( #(#locals_new,)* #name::Context::new(&rtfm::export::Priority::new(0)) )); diff --git a/macros/src/codegen/init.rs b/macros/src/codegen/init.rs index f7e4674e..534b79b0 100644 --- a/macros/src/codegen/init.rs +++ b/macros/src/codegen/init.rs @@ -47,9 +47,9 @@ pub fn codegen( let cfgs = &app.late_resources[name].cfgs; quote!( - #(#cfgs)* - pub #name: #ty - ) + #(#cfgs)* + pub #name: #ty + ) }) .collect::<Vec<_>>() }) @@ -109,7 +109,7 @@ pub fn codegen( let locals_new = locals_new.iter(); let call_init = - Some(quote!(let late = #name(#(#locals_new,)* #name::Context::new(core.into()));)); + Some(quote!(let late = crate::#name(#(#locals_new,)* #name::Context::new(core.into()));)); root_init.push(module::codegen(Context::Init(core), needs_lt, app, extra)); diff --git a/macros/src/codegen/post_init.rs b/macros/src/codegen/post_init.rs index 8578d5ac..b816e072 100644 --- a/macros/src/codegen/post_init.rs +++ b/macros/src/codegen/post_init.rs @@ -16,16 +16,15 @@ pub fn codegen( // initialize late resources if let Some(late_resources) = analysis.late_resources.get(&core) { - for name in late_resources { // if it's live let cfgs = app.late_resources[name].cfgs.clone(); if analysis.locations.get(name).is_some() { // Need to also include the cfgs stmts.push(quote!( - #(#cfgs)* - #name.as_mut_ptr().write(late.#name); - )); + #(#cfgs)* + #name.as_mut_ptr().write(late.#name); + )); } } } |