aboutsummaryrefslogtreecommitdiff
path: root/rtic-macros/src/syntax
diff options
context:
space:
mode:
authorRomán Cárdenas Rodríguez <rcardenas.rod@gmail.com>2024-10-23 18:50:12 +0200
committerHenrik Tjäder <henrik@tjaders.com>2025-03-12 19:41:40 +0000
commit183e73904a5d14e29f8a7edbb2d9553dddb736af (patch)
tree87735b6518ed1532e9b2cc6c8c145d3243ec3354 /rtic-macros/src/syntax
parentbac77de9bc5249a8d4e34c816bb94f5945fb1f58 (diff)
Prepare for new riscv ecosystem
Diffstat (limited to 'rtic-macros/src/syntax')
-rw-r--r--rtic-macros/src/syntax/backend/riscv_slic.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/rtic-macros/src/syntax/backend/riscv_slic.rs b/rtic-macros/src/syntax/backend/riscv_slic.rs
index 2ed8e77..b579b01 100644
--- a/rtic-macros/src/syntax/backend/riscv_slic.rs
+++ b/rtic-macros/src/syntax/backend/riscv_slic.rs
@@ -1,16 +1,27 @@
use syn::{
parse::{Parse, ParseStream},
- Ident, Result,
+ Result,
};
#[derive(Debug)]
pub struct BackendArgs {
- pub hart_id: Ident,
+ #[cfg(feature = "riscv-clint")]
+ pub hart_id: syn::Ident,
}
impl Parse for BackendArgs {
fn parse(input: ParseStream) -> Result<Self> {
- let hart_id = input.parse()?;
- Ok(BackendArgs { hart_id })
+ match () {
+ #[cfg(feature = "riscv-clint")]
+ () => {
+ let hart_id = input.parse()?;
+ Ok(BackendArgs { hart_id })
+ }
+ #[cfg(feature = "riscv-mecall")]
+ () => Err(syn::Error::new(
+ input.span(),
+ "riscv-mecall backend does not accept any arguments",
+ )),
+ }
}
}