Unary dereference fix
authorRobert Pengelly <robertapengelly@hotmail.com>
Fri, 14 Aug 2026 14:40:42 +0000 (15:40 +0100)
committerRobert Pengelly <robertapengelly@hotmail.com>
Fri, 14 Aug 2026 14:40:42 +0000 (15:40 +0100)
amd64.c

diff --git a/amd64.c b/amd64.c
index 2c9a4451b4bc99762c81352525d8534eebf8bc13..d2c740af119ec58a11948f98a7679c8e013bf1c5 100644 (file)
--- a/amd64.c
+++ b/amd64.c
@@ -11672,13 +11672,13 @@ static int expression_text_mentions_64bit_symbol (const char *p) {
             
                 struct local_symbol *sym = find_local_symbol (name);
                 
-                if (sym && sym->size == (DATA_LLONG & 0x1f) && !sym->is_floating && !sym->is_array && !sym->tag_name) {
+                if (sym && sym->size == (DATA_LLONG & 0x1f) && !sym->is_floating && !sym->is_array && !sym->tag_name && sym->pointer_depth == 0) {
                     return 1;
                 }
             
             }
             
-            if (find_global_symbol (name) >= 0 && get_global_symbol_size (name) == (DATA_LLONG & 0x1f) && !get_global_symbol_floating (name) && !get_global_symbol_array (name) && !get_global_symbol_tag_name (name)) {
+            if (find_global_symbol (name) >= 0 && get_global_symbol_size (name) == (DATA_LLONG & 0x1f) && !get_global_symbol_floating (name) && !get_global_symbol_array (name) && !get_global_symbol_tag_name (name) && get_global_symbol_pointer_depth (name) == 0) {
                 return 1;
             }