aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/software_tasks.rs
diff options
context:
space:
mode:
Diffstat (limited to 'macros/src/codegen/software_tasks.rs')
-rw-r--r--macros/src/codegen/software_tasks.rs22
1 files changed, 14 insertions, 8 deletions
diff --git a/macros/src/codegen/software_tasks.rs b/macros/src/codegen/software_tasks.rs
index da594e7d..6941d9a0 100644
--- a/macros/src/codegen/software_tasks.rs
+++ b/macros/src/codegen/software_tasks.rs
@@ -90,13 +90,16 @@ pub fn codegen(
));
// `${task}Resources`
- let mut needs_lt = false;
+ let mut shared_needs_lt = false;
+ let mut local_needs_lt = false;
- // TODO: Fix locals
// `${task}Locals`
if !task.args.local_resources.is_empty() {
- let (item, constructor) =
- local_resources_struct::codegen(Context::SoftwareTask(name), &mut needs_lt, app);
+ let (item, constructor) = local_resources_struct::codegen(
+ Context::SoftwareTask(name),
+ &mut local_needs_lt,
+ app,
+ );
root.push(item);
@@ -104,15 +107,17 @@ pub fn codegen(
}
if !task.args.shared_resources.is_empty() {
- let (item, constructor) =
- shared_resources_struct::codegen(Context::SoftwareTask(name), &mut needs_lt, app);
+ let (item, constructor) = shared_resources_struct::codegen(
+ Context::SoftwareTask(name),
+ &mut shared_needs_lt,
+ app,
+ );
root.push(item);
mod_app.push(constructor);
}
-
if !&task.is_extern {
let context = &task.context;
let attrs = &task.attrs;
@@ -133,7 +138,8 @@ pub fn codegen(
root.push(module::codegen(
Context::SoftwareTask(name),
- needs_lt,
+ shared_needs_lt,
+ local_needs_lt,
app,
analysis,
extra,