From 0977d76f420970e904fdec674c902adef6e743bb Mon Sep 17 00:00:00 2001 From: Jeppe Johansen <jeppe@j-software.dk> Date: Sun, 21 Jul 2013 13:41:10 +0000 Subject: [PATCH] Mark global symbols with assembler references as non-regable git-svn-id: trunk@25155 - --- compiler/raatt.pas | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/compiler/raatt.pas b/compiler/raatt.pas index 88971c60c6..9b6d63bef6 100644 --- a/compiler/raatt.pas +++ b/compiler/raatt.pas @@ -1518,7 +1518,18 @@ unit raatt; begin case sym.typ of staticvarsym : - hs:=tstaticvarsym(sym).mangledname; + begin + { we always assume in asm statements that } + { that the variable is valid. } + tabstractvarsym(sym).varstate:=vs_readwritten; + inc(tabstractvarsym(sym).refs); + { variable can't be placed in a register } + tabstractvarsym(sym).varregable:=vr_none; + { and anything may happen with its address } + tabstractvarsym(sym).addr_taken:=true; + + hs:=tstaticvarsym(sym).mangledname; + end; localvarsym, paravarsym : Message(asmr_e_no_local_or_para_allowed);