فهرست منبع

* fixed compile of powerpc,sparc,arm

peter 21 سال پیش
والد
کامیت
0c7e53bb81

+ 5 - 2
compiler/arm/raarmgas.pas

@@ -269,7 +269,7 @@ Unit raarmgas;
                     will generate buggy code. Allow it only for explicit typecasting }
                   if hasdot and
                      (not oper.hastype) and
-                     (tvarsym(oper.opr.localsym).owner.symtabletype=parasymtable) and
+                     (tabstractnormalvarsym(oper.opr.localsym).owner.symtabletype=parasymtable) and
                      (current_procinfo.procdef.proccalloption<>pocall_register) then
                     Message(asmr_e_cannot_access_field_directly_for_parameters);
                   inc(oper.opr.localsymofs,l)
@@ -748,7 +748,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.9  2004-06-20 08:55:31  florian
+  Revision 1.10  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.9  2004/06/20 08:55:31  florian
     * logs truncated
 
   Revision 1.8  2004/03/02 00:36:33  olle

+ 6 - 3
compiler/ncgbas.pas

@@ -134,7 +134,7 @@ interface
 
       procedure ResolveRef(var op:toper);
         var
-          sym : tlocalvarsym;
+          sym : tabstractnormalvarsym;
 {$ifdef x86}
           scale : byte;
 {$endif x86}
@@ -150,7 +150,7 @@ interface
               scale:=op.localoper^.localscale;
 {$endif x86}
               getoffset:=op.localoper^.localgetoffset;
-              sym:=tlocalvarsym(pointer(op.localoper^.localsym));
+              sym:=tabstractnormalvarsym(pointer(op.localoper^.localsym));
               dispose(op.localoper);
               case sym.localloc.loc of
                 LOC_REFERENCE :
@@ -491,7 +491,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.70  2004-11-08 22:09:59  peter
+  Revision 1.71  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.70  2004/11/08 22:09:59  peter
     * tvarsym splitted
 
   Revision 1.69  2004/10/31 21:45:03  peter

+ 6 - 3
compiler/ncgutil.pas

@@ -1348,7 +1348,7 @@ implementation
 {$ifdef sparc}
                   { Sparc passes floats in int registers, when loading to fpu register
                     we need a temp }
-                  tg.GetTemp(list,TCGSize2Size[tvarsym(hp.parasym).localloc.size],tt_normal,tempref);
+                  tg.GetTemp(list,TCGSize2Size[tparavarsym(hp.parasym).localloc.size],tt_normal,tempref);
                   href:=tempref;
                   while assigned(paraloc) do
                     begin
@@ -1357,7 +1357,7 @@ implementation
                       inc(href.offset,TCGSize2Size[paraloc^.size]);
                       paraloc:=paraloc^.next;
                     end;
-                  cg.a_loadfpu_ref_reg(list,tvarsym(hp.parasym).localloc.size,tempref,tvarsym(hp.parasym).localloc.register);
+                  cg.a_loadfpu_ref_reg(list,tparavarsym(hp.parasym).localloc.size,tempref,tparavarsym(hp.parasym).localloc.register);
                   tg.UnGetTemp(list,tempref);
 {$else sparc}
                   unget_para(paraloc^);
@@ -2212,7 +2212,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.239  2004-11-09 17:26:47  peter
+  Revision 1.240  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.239  2004/11/09 17:26:47  peter
     * fixed wrong typecasts
 
   Revision 1.238  2004/11/08 22:09:59  peter

+ 8 - 5
compiler/pdecsub.pas

@@ -1176,13 +1176,13 @@ begin
       include(pd.procoptions,po_explicitparaloc);
       if consume_sym(sym,symtable) then
         begin
-          if (sym.typ=varsym) and
-            ((tvarsym(sym).vartype.def.deftype=pointerdef) or
-              is_32bitint(tvarsym(sym).vartype.def)
+          if (sym.typ in [localvarsym,paravarsym]) and
+            ((tabstractvarsym(sym).vartype.def.deftype=pointerdef) or
+              is_32bitint(tabstractvarsym(sym).vartype.def)
             ) then
             begin
               tprocdef(pd).libsym:=sym;
-              pd.concatpara(nil,tvarsym(sym).vartype,tvarsym(sym),nil,true);
+              pd.concatpara(nil,tabstractvarsym(sym).vartype,tabstractvarsym(sym),nil,true);
               paramanager.parseparaloc(tparaitem(pd.para.last),'A6');
             end
           else
@@ -2266,7 +2266,10 @@ const
 end.
 {
   $Log$
-  Revision 1.202  2004-11-09 22:32:59  peter
+  Revision 1.203  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.202  2004/11/09 22:32:59  peter
     * small m68k updates to bring it up2date
     * give better error for external local variable
 

+ 7 - 3
compiler/powerpc/cgcpu.pas

@@ -1178,10 +1178,11 @@ const
                       begin
                         if assigned(hp.paraloc[callerside].location^.next) then
                           internalerror(2004091210);
-                        case tvarsym(hp.parasym).localloc.loc of
+                        case tabstractnormalvarsym(hp.parasym).localloc.loc of
                           LOC_REFERENCE:
                             begin
-                              reference_reset_base(href,tvarsym(hp.parasym).localloc.reference.base,tvarsym(hp.parasym).localloc.reference.offset);
+                              reference_reset_base(href,tabstractnormalvarsym(hp.parasym).localloc.reference.base,
+                                  tabstractnormalvarsym(hp.parasym).localloc.reference.offset);
                               reference_reset_base(href2,NR_R12,hp.paraloc[callerside].location^.reference.offset);
                               { we can't use functions here which allocate registers (FK)
                                cg.a_load_ref_ref(list,hp.paraloc[calleeside].size,hp.paraloc[calleeside].size,href2,href);
@@ -2356,7 +2357,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.184  2004-10-31 21:45:03  peter
+  Revision 1.185  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.184  2004/10/31 21:45:03  peter
     * generic tlocation
     * move tlocation to cgutils
 

+ 9 - 5
compiler/powerpc/nppcld.pas

@@ -90,14 +90,15 @@ unit nppcld;
         case target_info.system of
           system_powerpc_darwin:
             begin
-              if (tvarsym(symtableentry).owner.unitid<>0) or (vo_is_dll_var in tvarsym(symtableentry).varoptions) then
+              if (tglobalvarsym(symtableentry).owner.unitid<>0) or
+                 (vo_is_dll_var in tglobalvarsym(symtableentry).varoptions) then
                 begin
-                  l:=objectlibrary.getasmsymbol('L'+tvarsym(symtableentry).mangledname+'$non_lazy_ptr');
+                  l:=objectlibrary.getasmsymbol('L'+tglobalvarsym(symtableentry).mangledname+'$non_lazy_ptr');
                   if not(assigned(l)) then
                     begin
-                      l:=objectlibrary.newasmsymbol('L'+tvarsym(symtableentry).mangledname+'$non_lazy_ptr',AB_COMMON,AT_DATA);
+                      l:=objectlibrary.newasmsymbol('L'+tglobalvarsym(symtableentry).mangledname+'$non_lazy_ptr',AB_COMMON,AT_DATA);
                       picdata.concat(tai_symbol.create(l,0));
-                      picdata.concat(tai_const.create_indirect_sym(objectlibrary.newasmsymbol(tvarsym(symtableentry).mangledname,AB_EXTERNAL,AT_DATA)));
+                      picdata.concat(tai_const.create_indirect_sym(objectlibrary.newasmsymbol(tglobalvarsym(symtableentry).mangledname,AB_EXTERNAL,AT_DATA)));
                       picdata.concat(tai_const.create_32bit(0));
                     end;
 
@@ -121,7 +122,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.4  2004-07-19 12:45:43  jonas
+  Revision 1.5  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.4  2004/07/19 12:45:43  jonas
     * fixed loading external procedure addresses
 
   Revision 1.3  2004/06/17 16:55:46  peter

+ 5 - 2
compiler/powerpc/rappcgas.pas

@@ -290,7 +290,7 @@ Unit rappcgas;
                     will generate buggy code. Allow it only for explicit typecasting }
                   if hasdot and
                      (not oper.hastype) and
-                     (tvarsym(oper.opr.localsym).owner.symtabletype=parasymtable) and
+                     (tabstractvarsym(oper.opr.localsym).owner.symtabletype=parasymtable) and
                      (current_procinfo.procdef.proccalloption<>pocall_register) then
                     Message(asmr_e_cannot_access_field_directly_for_parameters);
                   inc(oper.opr.localsymofs,l)
@@ -753,7 +753,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.16  2004-06-20 08:55:32  florian
+  Revision 1.17  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.16  2004/06/20 08:55:32  florian
     * logs truncated
 
   Revision 1.15  2004/06/16 20:07:10  florian

+ 5 - 2
compiler/sparc/racpugas.pas

@@ -264,7 +264,7 @@ Interface
                     will generate buggy code. Allow it only for explicit typecasting }
                   if hasdot and
                      (not oper.hastype) and
-                     (tvarsym(oper.opr.localsym).owner.symtabletype=parasymtable) and
+                     (tabstractnormalvarsym(oper.opr.localsym).owner.symtabletype=parasymtable) and
                      (current_procinfo.procdef.proccalloption<>pocall_register) then
                     Message(asmr_e_cannot_access_field_directly_for_parameters);
                   inc(oper.opr.localsymofs,l)
@@ -684,7 +684,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.10  2004-06-20 08:55:32  florian
+  Revision 1.11  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.10  2004/06/20 08:55:32  florian
     * logs truncated
 
   Revision 1.9  2004/06/16 20:07:11  florian

+ 5 - 2
compiler/symdef.pas

@@ -4319,7 +4319,7 @@ implementation
          procsym:=tprocsym(procsymderef.resolve);
 {$ifdef powerpc}
          { library symbol for AmigaOS/MorphOS }
-         libsym:=tvarsym(libsymderef.resolve);
+         libsym:=tsym(libsymderef.resolve);
 {$endif powerpc}
 
          aktparasymtable:=oldparasymtable;
@@ -6244,7 +6244,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.269  2004-11-08 22:09:59  peter
+  Revision 1.270  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.269  2004/11/08 22:09:59  peter
     * tvarsym splitted
 
   Revision 1.268  2004/11/06 17:44:47  florian

+ 6 - 3
compiler/systems/t_macos.pas

@@ -33,7 +33,7 @@ interface
     timportlibmacos=class(timportlib)
       procedure preparelib(const s:string);override;
       procedure importprocedure(aprocdef:tprocdef;const module:string;index:longint;const name:string);override;
-      procedure importvariable(vs:tvarsym;const name,module:string);override;
+      procedure importvariable(vs:tglobalvarsym;const name,module:string);override;
       procedure generatelib;override;
     end;
 
@@ -76,7 +76,7 @@ begin
 end;
 
 
-procedure timportlibmacos.importvariable(vs:tvarsym;const name,module:string);
+procedure timportlibmacos.importvariable(vs:tglobalvarsym;const name,module:string);
 begin
   { insert sharedlibrary }
   current_module.linkothersharedlibs.add(SplitName(module),link_allways);
@@ -252,7 +252,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.13  2004-10-25 15:38:41  peter
+  Revision 1.14  2004-11-11 19:31:33  peter
+    * fixed compile of powerpc,sparc,arm
+
+  Revision 1.13  2004/10/25 15:38:41  peter
     * heap and heapsize removed
     * checkpointer fixes