Browse Source

* do not generate code when there was an error

peter 22 years ago
parent
commit
64eb7ee2ec
1 changed files with 10 additions and 3 deletions
  1. 10 3
      compiler/psub.pas

+ 10 - 3
compiler/psub.pas

@@ -35,6 +35,7 @@ interface
       tcgprocinfo=class(tprocinfo)
       tcgprocinfo=class(tprocinfo)
         { code for the subroutine as tree }
         { code for the subroutine as tree }
         code : tnode;
         code : tnode;
+        { list to store the procinfo's of the nested procedures }
         nestedprocs : tlinkedlist;
         nestedprocs : tlinkedlist;
         constructor create(aparent:tprocinfo);override;
         constructor create(aparent:tprocinfo);override;
         destructor  destroy;override;
         destructor  destroy;override;
@@ -541,8 +542,8 @@ implementation
 
 
      destructor tcgprocinfo.destroy;
      destructor tcgprocinfo.destroy;
        begin
        begin
-         inherited destroy;
          nestedprocs.free;
          nestedprocs.free;
+         inherited destroy;
        end;
        end;
 
 
 
 
@@ -1066,7 +1067,10 @@ implementation
              if isnestedproc then
              if isnestedproc then
                tcgprocinfo(current_procinfo.parent).nestedprocs.insert(current_procinfo)
                tcgprocinfo(current_procinfo.parent).nestedprocs.insert(current_procinfo)
              else
              else
-               do_generate_code(tcgprocinfo(current_procinfo));
+               begin
+                 if status.errorcount=0 then
+                   do_generate_code(tcgprocinfo(current_procinfo));
+               end;
 
 
              { reset _FAIL as _SELF normal }
              { reset _FAIL as _SELF normal }
              if (pd.proctypeoption=potype_constructor) then
              if (pd.proctypeoption=potype_constructor) then
@@ -1212,7 +1216,10 @@ begin
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.116  2003-05-23 18:49:55  jonas
+  Revision 1.117  2003-05-25 08:59:47  peter
+    * do not generate code when there was an error
+
+  Revision 1.116  2003/05/23 18:49:55  jonas
     * generate code for parent procedure before that of nested procedures as
     * generate code for parent procedure before that of nested procedures as
       well (I only need pass_1 to be done for the ppc, but pass_1 and pass_2
       well (I only need pass_1 to be done for the ppc, but pass_1 and pass_2
       are grouped and it doesn't hurt that pass_2 is done as well)
       are grouped and it doesn't hurt that pass_2 is done as well)