diff options
author | 2022-12-31 14:45:13 +0100 | |
---|---|---|
committer | 2023-03-01 00:29:10 +0100 | |
commit | 7614b96fe45240dafe91ae549e712b560e2d4c10 (patch) | |
tree | 30e1666c0aac09480e1a87e5fe7965487f4a99e6 /macros/src/codegen/assertions.rs | |
parent | 1c5db277e4161470136dbd2a11e914ff1d383581 (diff) | |
download | rtic-7614b96fe45240dafe91ae549e712b560e2d4c10.tar.gz rtic-7614b96fe45240dafe91ae549e712b560e2d4c10.tar.zst rtic-7614b96fe45240dafe91ae549e712b560e2d4c10.zip |
RTIC v2: Initial commit
rtic-syntax is now part of RTIC repository
Diffstat (limited to 'macros/src/codegen/assertions.rs')
-rw-r--r-- | macros/src/codegen/assertions.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/macros/src/codegen/assertions.rs b/macros/src/codegen/assertions.rs index 3e0ad61c..0f8326c7 100644 --- a/macros/src/codegen/assertions.rs +++ b/macros/src/codegen/assertions.rs @@ -1,11 +1,11 @@ use proc_macro2::TokenStream as TokenStream2; use quote::quote; -use crate::{analyze::Analysis, check::Extra, codegen::util}; -use rtic_syntax::ast::App; +use crate::syntax::ast::App; +use crate::{analyze::Analysis, codegen::util}; /// Generates compile-time assertions that check that types implement the `Send` / `Sync` traits -pub fn codegen(app: &App, analysis: &Analysis, extra: &Extra) -> Vec<TokenStream2> { +pub fn codegen(app: &App, analysis: &Analysis) -> Vec<TokenStream2> { let mut stmts = vec![]; for ty in &analysis.send_types { @@ -21,7 +21,7 @@ pub fn codegen(app: &App, analysis: &Analysis, extra: &Extra) -> Vec<TokenStream stmts.push(quote!(rtic::export::assert_monotonic::<#ty>();)); } - let device = &extra.device; + let device = &app.args.device; let chunks_name = util::priority_mask_chunks_ident(); let no_basepri_checks: Vec<_> = app .hardware_tasks @@ -29,9 +29,7 @@ pub fn codegen(app: &App, analysis: &Analysis, extra: &Extra) -> Vec<TokenStream .filter_map(|(_, task)| { if !util::is_exception(&task.args.binds) { let interrupt_name = &task.args.binds; - let cfgs = &task.cfgs; Some(quote!( - #(#cfgs)* if (#device::Interrupt::#interrupt_name as usize) >= (#chunks_name * 32) { ::core::panic!("An interrupt out of range is used while in armv6 or armv8m.base"); } |