aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/util.rs
diff options
context:
space:
mode:
authorGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2021-05-27 16:18:46 +0000
committerGravatar GitHub <noreply@github.com> 2021-05-27 16:18:46 +0000
commit0b0bb1bfa9de42e951f538b8f43bfcc53709a241 (patch)
tree8d83566481df0925920b703e63dc310b87c39bb9 /macros/src/codegen/util.rs
parentaad8f81991c3495f225df80d7c8456faecd40728 (diff)
parentc17348d2904b60713e1914567ba5566134165103 (diff)
downloadrtic-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.rs26
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);