aboutsummaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorEmil Fresk <emil.fresk@gmail.com>2021-04-08 09:12:08 +0200
committerEmil Fresk <emil.fresk@gmail.com>2021-04-08 10:14:14 +0200
commit51500a1d7096395be9162599fae647ec121db91d (patch)
tree17f732cbb06dd480bd0881d0ec627cc173ba5bfc /macros
parent2068eae9280881e34b5cc2d76b0b1a61402223e7 (diff)
Fixed UB in `spawn_at`
Diffstat (limited to 'macros')
-rw-r--r--macros/Cargo.toml4
-rw-r--r--macros/src/codegen/module.rs16
2 files changed, 6 insertions, 14 deletions
diff --git a/macros/Cargo.toml b/macros/Cargo.toml
index 8607ce5..203a2bb 100644
--- a/macros/Cargo.toml
+++ b/macros/Cargo.toml
@@ -22,6 +22,4 @@ proc-macro2 = "1"
proc-macro-error = "1"
quote = "1"
syn = "1"
-# rtic-syntax = "0.5.0-alpha.2"
-rtic-syntax = { path = "../../rtic-syntax", version = "0.5.0-alpha.2" }
-
+rtic-syntax = "0.5.0-alpha.2"
diff --git a/macros/src/codegen/module.rs b/macros/src/codegen/module.rs
index ac69a80..50146c0 100644
--- a/macros/src/codegen/module.rs
+++ b/macros/src/codegen/module.rs
@@ -414,17 +414,11 @@ pub fn codegen(
let tq = unsafe { &mut *#app_path::#tq.as_mut_ptr() };
- if let Some(mono) = #app_path::#m_ident.as_mut() {
- tq.enqueue_unchecked(
- nr,
- || #enable_interrupt,
- || #pend,
- mono)
- } else {
- // We can only use the timer queue if `init` has returned, and it
- // writes the `Some(monotonic)` we are accessing here.
- core::hint::unreachable_unchecked()
- }
+ tq.enqueue_unchecked(
+ nr,
+ || #enable_interrupt,
+ || #pend,
+ #app_path::#m_ident.as_mut());
Ok(SpawnHandle { marker })
})