Explorar o código

* set "forcall" to true for the objc loadvmtaddrnodes generated as
self parameter for invoking inherited method calls (if you are in a
category method or a method of a child class, the extended or parent
class must have already been loaded by the run time, so we can
directly load the ISA pointer rather than detouring via the "class"
method)

git-svn-id: trunk@20624 -

Jonas Maebe %!s(int64=13) %!d(string=hai) anos
pai
achega
c4c9661f84
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      compiler/objcutil.pas

+ 1 - 0
compiler/objcutil.pas

@@ -146,6 +146,7 @@ end;
                 else
                 else
 {$endif onlymacosx10_6 or arm}
 {$endif onlymacosx10_6 or arm}
                   result:=cloadvmtaddrnode.create(ctypenode.create(tobjectdef(tclassrefdef(def).pointeddef).childof.childof));
                   result:=cloadvmtaddrnode.create(ctypenode.create(tobjectdef(tclassrefdef(def).pointeddef).childof.childof));
+                tloadvmtaddrnode(result).forcall:=true;
                 result:=objcloadbasefield(result,'ISA');
                 result:=objcloadbasefield(result,'ISA');
                 typecheckpass(result);
                 typecheckpass(result);
                 { we're done }
                 { we're done }