2
0
Эх сурвалжийг харах

* fixed error in r14402 for functions/procedures that are not declared as
"assembler" (mantis #15370)

git-svn-id: trunk@14449 -

Jonas Maebe 15 жил өмнө
parent
commit
d3f9e6290b

+ 6 - 4
compiler/x86/rax86int.pas

@@ -233,10 +233,12 @@ Unit Rax86int;
         if (actasmregister=NR_NO) and (current_procinfo.procdef.proccalloption=pocall_register) then
           begin
             entry := current_procinfo.procdef.parast.Find(s);
-            if assigned(entry) and (entry.typ=paravarsym) and
-              assigned(tparavarsym(entry).paraloc[calleeside].Location) and
-              (tparavarsym(entry).paraloc[calleeside].Location^.Loc=LOC_REGISTER) then
-                actasmregister:=tparavarsym(entry).paraloc[calleeside].Location^.register;
+            if assigned(entry) and
+               (po_assembler in current_procinfo.procdef.procoptions) and
+               (entry.typ=paravarsym) and
+               assigned(tparavarsym(entry).paraloc[calleeside].Location) and
+               (tparavarsym(entry).paraloc[calleeside].Location^.Loc=LOC_REGISTER) then
+              actasmregister:=tparavarsym(entry).paraloc[calleeside].Location^.register;
           end;
         if actasmregister<>NR_NO then
           begin