diff options
| author | Román Cárdenas Rodríguez <rcardenas.rod@gmail.com> | 2024-10-23 18:50:12 +0200 |
|---|---|---|
| committer | Henrik Tjäder <henrik@tjaders.com> | 2025-03-12 19:41:40 +0000 |
| commit | 183e73904a5d14e29f8a7edbb2d9553dddb736af (patch) | |
| tree | 87735b6518ed1532e9b2cc6c8c145d3243ec3354 /rtic-macros/src/syntax | |
| parent | bac77de9bc5249a8d4e34c816bb94f5945fb1f58 (diff) | |
Prepare for new riscv ecosystem
Diffstat (limited to 'rtic-macros/src/syntax')
| -rw-r--r-- | rtic-macros/src/syntax/backend/riscv_slic.rs | 19 |
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", + )), + } } } |
