aboutsummaryrefslogtreecommitdiff
path: root/boot/symbol.cc
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-09-11 09:11:47 +0200
committerEugen Wissner <belka@caraus.de>2026-09-11 09:11:47 +0200
commitbd2b80d6ac582b9f0bcd96c86d4b79bfdb64eca1 (patch)
treea835a5cfe5a9cf48720b9255261e065fd7978849 /boot/symbol.cc
parentb27872d5c5bfecae74195771f5c1f4e73385b6d6 (diff)
downloadelna-bd2b80d6ac582b9f0bcd96c86d4b79bfdb64eca1.tar.gz
Implement aligned attribute
Diffstat (limited to 'boot/symbol.cc')
-rw-r--r--boot/symbol.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/boot/symbol.cc b/boot/symbol.cc
index 9092866..0814217 100644
--- a/boot/symbol.cc
+++ b/boot/symbol.cc
@@ -253,6 +253,11 @@ namespace elna::boot
{
}
+ field_info::field_info(type field_type, std::optional<std::size_t> alignment)
+ : field_type(std::move(field_type)), alignment(alignment)
+ {
+ }
+
record_type::record_type(type base)
: base(std::move(base))
{
@@ -780,11 +785,11 @@ namespace elna::boot
if (auto record = erase_generic(resolved_type).get<record_type>())
{
- for (const auto& [name, field_type] : record->fields)
+ for (const auto& [name, field] : record->fields)
{
if (name == field_name)
{
- return substitute_from(resolved_type, field_type);
+ return substitute_from(resolved_type, field.field_type);
}
}
}