Browse Source

* fixed docompare for the fields I added to tcallnode in my previous
commit
* removed nested comment warning

Jonas Maebe 24 years ago
parent
commit
a41949db8e
1 changed files with 15 additions and 4 deletions
  1. 15 4
      compiler/ncal.pas

+ 15 - 4
compiler/ncal.pas

@@ -41,11 +41,13 @@ interface
           { the definition of the procedure to call }
           procdefinition : tabstractprocdef;
           methodpointer  : tnode;
+
           { separately specified resulttype for some compilerprocs (e.g. }
           { you can't have a function with an "array of char" resulttype }
           { the RTL) (JM)                                                }
           restype: ttype;
           restypeset: boolean;
+          
           { only the processor specific nodes need to override this }
           { constructor                                             }
           constructor create(l:tnode; v : tprocsym;st : tsymtable; mp : tnode);virtual;
@@ -616,7 +618,6 @@ implementation
         right:=procvar;
       end;
 
-
     function tcallnode.getcopy : tnode;
       var
         n : tcallnode;
@@ -625,6 +626,8 @@ implementation
         n.symtableprocentry:=symtableprocentry;
         n.symtableproc:=symtableproc;
         n.procdefinition:=procdefinition;
+        n.restype := restype;
+        n.restypeset := restypeset;
         if assigned(methodpointer) then
          n.methodpointer:=methodpointer.getcopy
         else
@@ -1655,7 +1658,10 @@ implementation
           (symtableprocentry = tcallnode(p).symtableprocentry) and
           (symtableproc = tcallnode(p).symtableproc) and
           (procdefinition = tcallnode(p).procdefinition) and
-          (methodpointer = tcallnode(p).methodpointer);
+          (methodpointer.isequal(tcallnode(p).methodpointer)) and
+          ((restypeset and tcallnode(p).restypeset and
+            (is_equal(restype.def,tcallnode(p).restype.def))) or
+           (not restypeset and not tcallnode(p).restypeset));
       end;
 
 {****************************************************************************
@@ -1738,7 +1744,12 @@ begin
 end.
 {
   $Log$
-  Revision 1.47  2001-08-29 12:18:07  jonas
+  Revision 1.48  2001-08-30 15:39:59  jonas
+    * fixed docompare for the fields I added to tcallnode in my previous
+      commit
+    * removed nested comment warning
+
+  Revision 1.47  2001/08/29 12:18:07  jonas
     + new createinternres() constructor for tcallnode to support setting a
       custom resulttype
     * compilerproc typeconversions now set the resulttype from the type
@@ -1754,7 +1765,7 @@ end.
   Revision 1.46  2001/08/28 13:24:46  jonas
     + compilerproc implementation of most string-related type conversions
     - removed all code from the compiler which has been replaced by
-      compilerproc implementations (using {$ifdef hascompilerproc} is not
+      compilerproc implementations (using (ifdef hascompilerproc) is not
       necessary in the compiler)
 
   Revision 1.45  2001/08/26 13:36:39  florian