소스 검색

* 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 13 년 전
부모
커밋
c4c9661f84
1개의 변경된 파일1개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      compiler/objcutil.pas

+ 1 - 0
compiler/objcutil.pas

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