diff options
author | 2019-06-29 09:11:42 +0200 | |
---|---|---|
committer | 2019-06-29 09:11:57 +0200 | |
commit | be92041a592f65f38cee8475b61d35e7fcee3694 (patch) | |
tree | 3d7f59dff198183dee3920e790693a93063f3996 /macros/src/codegen/idle.rs | |
parent | df4a7fd3e5df370a83fcdc24aa628bed3fa9f543 (diff) | |
download | rtic-be92041a592f65f38cee8475b61d35e7fcee3694.tar.gz rtic-be92041a592f65f38cee8475b61d35e7fcee3694.tar.zst rtic-be92041a592f65f38cee8475b61d35e7fcee3694.zip |
WIP
Diffstat (limited to 'macros/src/codegen/idle.rs')
-rw-r--r-- | macros/src/codegen/idle.rs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/macros/src/codegen/idle.rs b/macros/src/codegen/idle.rs index 7af01c91..d6560761 100644 --- a/macros/src/codegen/idle.rs +++ b/macros/src/codegen/idle.rs @@ -44,7 +44,7 @@ pub fn codegen( let name = &idle.name; if !idle.locals.is_empty() { - let (locals, pat) = locals::codegen(Context::Idle(core), &idle.locals, app); + let (locals, pat) = locals::codegen(Context::Idle(core), &idle.locals, core, app); locals_new = Some(quote!(#name::Locals::new())); locals_pat = Some(pat); @@ -57,10 +57,12 @@ pub fn codegen( let attrs = &idle.attrs; let context = &idle.context; let stmts = &idle.stmts; + let section = util::link_section("text", core); let user_idle = Some(quote!( - #cfg_core #(#attrs)* #[allow(non_snake_case)] + #cfg_core + #section fn #name(#(#locals_pat,)* #context: #name::Context) -> ! { use rtfm::Mutex as _; @@ -73,12 +75,7 @@ pub fn codegen( #name::Context::new(&rtfm::export::Priority::new(0)) )); - ( - const_app, - root_idle, - user_idle, - call_idle, - ) + (const_app, root_idle, user_idle, call_idle) } else { ( None, |