瀏覽代碼

* fix expectlocs for method pointers

git-svn-id: trunk@22342 -
florian 13 年之前
父節點
當前提交
e18a9cccaa
共有 2 個文件被更改,包括 3 次插入7 次删除
  1. 2 6
      compiler/ncnv.pas
  2. 1 1
      compiler/nld.pas

+ 2 - 6
compiler/ncnv.pas

@@ -3137,18 +3137,14 @@ implementation
          if tabstractprocdef(resultdef).is_addressonly then
            expectloc:=LOC_REGISTER
          else
-           begin
-             if not(left.expectloc in [LOC_CREFERENCE,LOC_REFERENCE]) then
-               CGMessage(parser_e_illegal_expression);
-             expectloc:=left.expectloc;
-           end;
+           expectloc:=left.expectloc;
       end;
 
 
     function ttypeconvnode.first_nil_to_methodprocvar : tnode;
       begin
         first_nil_to_methodprocvar:=nil;
-        expectloc:=LOC_REFERENCE;
+        expectloc:=LOC_REGISTER;
       end;
 
 

+ 1 - 1
compiler/nld.pas

@@ -438,7 +438,7 @@ implementation
                    { method pointer or nested proc ? }
                    if assigned(left) then
                      begin
-                        expectloc:=LOC_CREFERENCE;
+                        expectloc:=LOC_CREGISTER;
                         firstpass(left);
                      end;
                 end;