aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/idle.rs
diff options
context:
space:
mode:
authorGravatar Jorge Aparicio <jorge@japaric.io> 2019-06-29 09:11:42 +0200
committerGravatar Jorge Aparicio <jorge@japaric.io> 2019-06-29 09:11:57 +0200
commitbe92041a592f65f38cee8475b61d35e7fcee3694 (patch)
tree3d7f59dff198183dee3920e790693a93063f3996 /macros/src/codegen/idle.rs
parentdf4a7fd3e5df370a83fcdc24aa628bed3fa9f543 (diff)
downloadrtic-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.rs13
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,