diff options
author | 2021-05-27 16:18:46 +0000 | |
---|---|---|
committer | 2021-05-27 16:18:46 +0000 | |
commit | 0b0bb1bfa9de42e951f538b8f43bfcc53709a241 (patch) | |
tree | 8d83566481df0925920b703e63dc310b87c39bb9 /macros/src/codegen/util.rs | |
parent | aad8f81991c3495f225df80d7c8456faecd40728 (diff) | |
parent | c17348d2904b60713e1914567ba5566134165103 (diff) | |
download | rtic-0b0bb1bfa9de42e951f538b8f43bfcc53709a241.tar.gz rtic-0b0bb1bfa9de42e951f538b8f43bfcc53709a241.tar.zst rtic-0b0bb1bfa9de42e951f538b8f43bfcc53709a241.zip |
Merge #485v0.6.0-alpha.4
485: New codegen structure to eliminate issues with paths r=korken89 a=korken89
Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
Diffstat (limited to 'macros/src/codegen/util.rs')
-rw-r--r-- | macros/src/codegen/util.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/macros/src/codegen/util.rs b/macros/src/codegen/util.rs index 9ccdbf78..3e42eda9 100644 --- a/macros/src/codegen/util.rs +++ b/macros/src/codegen/util.rs @@ -111,6 +111,27 @@ pub fn is_exception(name: &Ident) -> bool { ) } +/// Generate an internal identifier for monotonics +pub fn internal_monotonics_ident(task: &Ident, monotonic: &Ident, ident_name: &str) -> Ident { + Ident::new( + &format!( + "__rtic_internal_{}_{}_{}", + task.to_string(), + monotonic.to_string(), + ident_name, + ), + Span::call_site(), + ) +} + +/// Generate an internal identifier for tasks +pub fn internal_task_ident(task: &Ident, ident_name: &str) -> Ident { + Ident::new( + &format!("__rtic_internal_{}_{}", task.to_string(), ident_name,), + Span::call_site(), + ) +} + /// Mark an ident as internal pub fn mark_internal_ident(ident: &Ident) -> Ident { Ident::new( @@ -119,6 +140,11 @@ pub fn mark_internal_ident(ident: &Ident) -> Ident { ) } +/// Mark an ident as internal +pub fn mark_internal_name(name: &str) -> Ident { + Ident::new(&format!("__rtic_internal_{}", name), Span::call_site()) +} + fn link_section_index() -> usize { static INDEX: AtomicUsize = AtomicUsize::new(0); |