Browse Source

* stack checking cannot be called before system unit is initialized
* MC68020 define

carl 23 years ago
parent
commit
8733061c78
3 changed files with 26 additions and 4 deletions
  1. 9 1
      compiler/defbase.pas
  2. 9 2
      compiler/ncgutil.pas
  3. 8 1
      compiler/options.pas

+ 9 - 1
compiler/defbase.pas

@@ -238,6 +238,10 @@ interface
       if acp is cp_value_equal_const call by value
       and call by const parameter are assumed as
       equal
+      allowdefaults indicates if default value parameters
+      are allowed (in this case, the search order will first
+      search for a routine with default parameters, before
+      searching for the same definition with no parameters)
     }
     function equal_paras(paralist1,paralist2 : TLinkedList; acp : compare_type;allowdefaults:boolean) : boolean;
 
@@ -1956,7 +1960,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.12  2002-09-16 14:11:12  peter
+  Revision 1.13  2002-09-22 14:02:34  carl
+    * stack checking cannot be called before system unit is initialized
+    * MC68020 define
+
+  Revision 1.12  2002/09/16 14:11:12  peter
     * add argument to equal_paras() to support default values or not
 
   Revision 1.11  2002/09/15 17:54:46  peter

+ 9 - 2
compiler/ncgutil.pas

@@ -1457,7 +1457,10 @@ implementation
 
               cg.g_stackframe_entry(stackalloclist,stackframe);
 
-              if (cs_check_stack in aktlocalswitches) then
+              { never call stack checking before the standard system unit
+                has not been initialized
+              }  
+              if (cs_check_stack in aktlocalswitches) and (aktprocdef.proctypeoption<>potype_proginit) then
                 cg.g_stackcheck(stackalloclist,stackframe);
             end;
             list.insertlist(stackalloclist);
@@ -1831,7 +1834,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.50  2002-09-17 18:54:03  jonas
+  Revision 1.51  2002-09-22 14:02:35  carl
+    * stack checking cannot be called before system unit is initialized
+    * MC68020 define
+
+  Revision 1.50  2002/09/17 18:54:03  jonas
     * a_load_reg_reg() now has two size parameters: source and dest. This
       allows some optimizations on architectures that don't encode the
       register size in the register name.

+ 8 - 1
compiler/options.pas

@@ -1550,6 +1550,9 @@ begin
    exclude(initmoduleswitches,cs_fp_emulation)
   else
    def_symbol('M68K_FPU_EMULATED');
+   
+  if initoptprocessor=MC68020 then
+    def_symbol('CPUM68020');
 {$endif m68k}
 
 { write logo if set }
@@ -1677,7 +1680,11 @@ finalization
 end.
 {
   $Log$
-  Revision 1.82  2002-08-12 15:08:40  carl
+  Revision 1.83  2002-09-22 14:02:35  carl
+    * stack checking cannot be called before system unit is initialized
+    * MC68020 define
+
+  Revision 1.82  2002/08/12 15:08:40  carl
     + stab register indexes for powerpc (moved from gdb to cpubase)
     + tprocessor enumeration moved to cpuinfo
     + linker in target_info is now a class