aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/shared_resources.rs
diff options
context:
space:
mode:
authorGravatar Gabriel Górski <gabriel.gorski@volvocars.com> 2022-07-06 17:43:38 +0200
committerGravatar Gabriel Górski <gabriel.gorski@volvocars.com> 2022-07-06 17:43:38 +0200
commitc6fd3cdd0a4e29c1e2d77c6e9107450a1bceed92 (patch)
tree6cf52ae4d299a591e5e33dc0163dd0fa8e13e547 /macros/src/codegen/shared_resources.rs
parent981fa1fb30a70ec2416778b3e8daa491108deb41 (diff)
downloadrtic-c6fd3cdd0a4e29c1e2d77c6e9107450a1bceed92.tar.gz
rtic-c6fd3cdd0a4e29c1e2d77c6e9107450a1bceed92.tar.zst
rtic-c6fd3cdd0a4e29c1e2d77c6e9107450a1bceed92.zip
Allow custom `link_section` attributes for late resources
This commit makes RTIC aware of user-provided `link_section` attributes, letting user override default section mapping.
Diffstat (limited to 'macros/src/codegen/shared_resources.rs')
-rw-r--r--macros/src/codegen/shared_resources.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/macros/src/codegen/shared_resources.rs b/macros/src/codegen/shared_resources.rs
index 47f8faf0..010b27ae 100644
--- a/macros/src/codegen/shared_resources.rs
+++ b/macros/src/codegen/shared_resources.rs
@@ -23,10 +23,17 @@ pub fn codegen(
let ty = &res.ty;
let mangled_name = &util::static_shared_resource_ident(name);
- // late resources in `util::link_section_uninit`
- let section = util::link_section_uninit();
let attrs = &res.attrs;
+ // late resources in `util::link_section_uninit`
+ // unless user specifies custom link section
+ let section = if attrs.iter().any(|attr| attr.path.is_ident("link_section")) {
+ None
+ }
+ else {
+ Some(util::link_section_uninit())
+ };
+
// For future use
// let doc = format!(" RTIC internal: {}:{}", file!(), line!());
mod_app.push(quote!(