From 448e6f93d4ac6ae4b592d2dc8c3f98230f196e6a Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Tue, 25 Mar 2025 11:03:03 +1300 Subject: Fix label definition issue Label definitions were being gathered in the bytecode stage, but then were incorrectly dropped instead of being used. --- src/stages/bytecode.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/stages') diff --git a/src/stages/bytecode.rs b/src/stages/bytecode.rs index db6ff6d..4b50327 100644 --- a/src/stages/bytecode.rs +++ b/src/stages/bytecode.rs @@ -38,12 +38,14 @@ impl<'a> BytecodeGenerator<'a> { let mut labels = HashMap::new(); for (name, definition) in definitions { if let DefinitionKind::LabelDefinition = definition.kind { - labels.insert(name, LabelInformation { address: 0, slots: Vec::new() }); + let key = name.to_string(); + let value = LabelInformation { address: 0, slots: Vec::new() }; + labels.insert(key, value); } } Self { definitions, - labels: HashMap::new(), + labels, stack: Vec::new(), bytecode: Vec::new(), } -- cgit v1.2.3-70-g09d2