diff options
| author | Miquel Sabaté Solà <mssola@mssola.com> | 2026-03-09 17:02:36 +0100 |
|---|---|---|
| committer | Miquel Sabaté Solà <mssola@mssola.com> | 2026-03-09 23:06:23 +0100 |
| commit | ae54968ec2e2cac6cace95b25958ed5550d2aad9 (patch) | |
| tree | 24f817999da8bdd264d38c222178637d66163760 /lib/xixanta/src/assembler.rs | |
| parent | 84eb36b71b61ee39794f1f262ad859843948e44c (diff) | |
| download | tools.nes-ae54968ec2e2cac6cace95b25958ed5550d2aad9.tar.gz tools.nes-ae54968ec2e2cac6cace95b25958ed5550d2aad9.zip | |
asan: ignore names from macro arguments
These are usually capitalized, and thus they are not going to be
following the usual zp_/m_/wr_ pattern.
Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
Diffstat (limited to 'lib/xixanta/src/assembler.rs')
| -rw-r--r-- | lib/xixanta/src/assembler.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/xixanta/src/assembler.rs b/lib/xixanta/src/assembler.rs index 3dc0577..d624c7e 100644 --- a/lib/xixanta/src/assembler.rs +++ b/lib/xixanta/src/assembler.rs @@ -1313,7 +1313,7 @@ impl<'a> Assembler<'a> { node: Some(arg.clone()), mapping: self.current_mapping, segment: self.current_segment, - object_type: ObjectType::Value, + object_type: ObjectType::Argument, asan_ignore: false, asan_reserve: 1, accessed: 0, @@ -2926,7 +2926,7 @@ impl<'a> Assembler<'a> { // let it be (e.g. 'lda palettes, x'; where 'palettes' is a // legitimate name even if not 'is_asan_friendly_name'). if let Ok(var) = self.context.get_variable(&node.value, &self.mappings) { - if matches!(var.object_type, ObjectType::Address) { + if matches!(var.object_type, ObjectType::Address | ObjectType::Argument) { return Ok(()); } } @@ -2957,12 +2957,12 @@ impl<'a> Assembler<'a> { // If everything failed but because it was an address // (e.g. 'lda palettes + 1, x'), then return early. if let Ok(var) = self.context.get_variable(left_name, &self.mappings) { - if matches!(var.object_type, ObjectType::Address) { + if matches!(var.object_type, ObjectType::Address | ObjectType::Argument) { return Ok(()); } } if let Ok(var) = self.context.get_variable(right_name, &self.mappings) { - if matches!(var.object_type, ObjectType::Address) { + if matches!(var.object_type, ObjectType::Address | ObjectType::Argument) { return Ok(()); } } |
