Explorar el Código

* fixed a lot of PowerPC related stuff

florian hace 22 años
padre
commit
41da381f1a

+ 6 - 2
compiler/aggas.pas

@@ -475,7 +475,7 @@ var
                AsmWrite(#9'.rva'#9);
                AsmWriteLn(tai_const_symbol(hp).sym.name);
              end;
-
+{$ifdef cpuextended}
            ait_real_80bit :
              begin
                if do_line then
@@ -492,6 +492,7 @@ var
                 end;
                AsmLn;
              end;
+{$endif cpuextended}
 
            ait_real_64bit :
              begin
@@ -812,7 +813,10 @@ var
 end.
 {
   $Log$
-  Revision 1.21  2003-04-22 14:33:38  peter
+  Revision 1.22  2003-04-24 22:29:57  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.21  2003/04/22 14:33:38  peter
     * removed some notes/hints
 
   Revision 1.20  2003/01/09 21:52:37  peter

+ 9 - 1
compiler/fpcdefs.inc

@@ -41,17 +41,22 @@
   {$define oldset}
   {$endif}
   {$define x86}
+  {$define cpuextended}
 {$else}
   {$define oldset}
 {$endif i386}
+
 {$ifdef x86_64}
   {$define x86}
   {$define cpu64bit}
+  {$define cpuextended}
 {$endif x86_64}
+
 {$ifdef alpha}
   {$define cpu64bit}
   {$undef cpuflags}
 {$endif alpha}
+
 {$ifdef powerpc}
   {$define callparatemp}
 {$endif powerpc}
@@ -68,7 +73,10 @@
 
 {
   $Log$
-  Revision 1.16  2003-04-23 13:47:41  peter
+  Revision 1.17  2003-04-24 22:29:57  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.16  2003/04/23 13:47:41  peter
     * optimizer is x86
 
   Revision 1.15  2003/04/23 12:35:34  florian

+ 15 - 5
compiler/nadd.pas

@@ -243,9 +243,11 @@ implementation
 
 
          { both are int constants }
-         if (((is_constintnode(left) and is_constintnode(right)) or
+         if ((is_constintnode(left) and is_constintnode(right)) or
               (is_constboolnode(left) and is_constboolnode(right) and
-               (nodetype in [slashn,ltn,lten,gtn,gten,equaln,unequaln,andn,xorn,orn])))) or
+               (nodetype in [slashn,ltn,lten,gtn,gten,equaln,unequaln,andn,xorn,orn])) or
+              (is_constenumnode(left) and is_constenumnode(right) and
+               (nodetype in [equaln,unequaln,ltn,lten,gtn,gten]))) or
             { support pointer arithmetics on constants (JM) }
             ((lt = pointerconstn) and is_constintnode(right) and
              (nodetype in [addn,subn])) or
@@ -270,6 +272,11 @@ implementation
                    else if not(equal_defs(ld,rd)) then
                      CGMessage2(type_e_incompatible_types,ld.typename,rd.typename);
                 end
+              else if (ld.deftype=enumdef) and (rd.deftype=enumdef) then
+               begin
+                 if not(equal_defs(ld,rd)) then
+                   inserttypeconv(right,left.resulttype);
+               end
               else if (lt=ordconstn) and (rt=ordconstn) then
                 begin
                   { make left const type the biggest (u32bit is bigger than
@@ -1217,9 +1224,9 @@ implementation
          else if (ld.deftype=enumdef) and (rd.deftype=enumdef) then
           begin
             if not(equal_defs(ld,rd)) then
-             inserttypeconv(right,left.resulttype);
+              inserttypeconv(right,left.resulttype);
             if not(nodetype in [equaln,unequaln,ltn,lten,gtn,gten]) then
-             CGMessage(type_e_mismatch);
+              CGMessage(type_e_mismatch);
           end
 
          { generic conversion, this is for error recovery }
@@ -1950,7 +1957,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.84  2003-04-23 20:16:04  peter
+  Revision 1.85  2003-04-24 22:29:57  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.84  2003/04/23 20:16:04  peter
     + added currency support based on int64
     + is_64bit for use in cg units instead of is_64bitint
     * removed cgmessage from n386add, replace with internalerrors

+ 10 - 1
compiler/ncgcon.pas

@@ -138,8 +138,14 @@ implementation
                       Consts.concat(Tai_real_64bit.Create(ts64real(value_real)));
                     ait_real_80bit :
                       Consts.concat(Tai_real_80bit.Create(value_real));
+{$ifdef ver1_0}
                     ait_comp_64bit :
                       Consts.concat(Tai_comp_64bit.Create(value_real));
+{$else ver1_0}
+                    { the round is necessary for native compilers where comp isn't a float }
+                    ait_comp_64bit :
+                      Consts.concat(Tai_comp_64bit.Create(round(value_real)));
+{$endif ver1_0}
                   else
                     internalerror(10120);
                   end;
@@ -533,7 +539,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.26  2003-01-05 13:36:53  florian
+  Revision 1.27  2003-04-24 22:29:57  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.26  2003/01/05 13:36:53  florian
     * x86-64 compiles
     + very basic support for float128 type (x86-64 only)
 

+ 5 - 1
compiler/ncginl.pas

@@ -533,6 +533,7 @@ implementation
                      cg.a_load_reg_reg(exprasmlist,OS_INT,OS_INT,
                        tcallparanode(tcallparanode(left).right).left.location.register,hregister);
                    end;
+                 LOC_CREFERENCE,
                  LOC_REFERENCE:
                    begin
                      cgsize := def_cgsize(tcallparanode(tcallparanode(left).right).left.resulttype.def);
@@ -670,7 +671,10 @@ end.
 
 {
   $Log$
-  Revision 1.25  2003-04-22 23:50:22  peter
+  Revision 1.26  2003-04-24 22:29:57  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.25  2003/04/22 23:50:22  peter
     * firstpass uses expectloc
     * checks if there are differences between the expectloc and
       location.loc from secondpass in EXTDEBUG

+ 12 - 1
compiler/ncon.pas

@@ -165,6 +165,7 @@ interface
     function is_constcharnode(p : tnode) : boolean;
     function is_constrealnode(p : tnode) : boolean;
     function is_constboolnode(p : tnode) : boolean;
+    function is_constenumnode(p : tnode) : boolean;
     function is_constresourcestringnode(p : tnode) : boolean;
     function is_constwidecharnode(p : tnode) : boolean;
     function str_length(p : tnode) : longint;
@@ -261,6 +262,13 @@ implementation
       end;
 
 
+    function is_constenumnode(p : tnode) : boolean;
+
+      begin
+         is_constenumnode:=(p.nodetype=ordconstn) and (p.resulttype.def.deftype=enumdef);
+      end;
+
+
     function is_constresourcestringnode(p : tnode) : boolean;
       begin
         is_constresourcestringnode:=(p.nodetype=loadn) and
@@ -938,7 +946,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.47  2003-04-23 20:16:04  peter
+  Revision 1.48  2003-04-24 22:29:57  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.47  2003/04/23 20:16:04  peter
     + added currency support based on int64
     + is_64bit for use in cg units instead of is_64bitint
     * removed cgmessage from n386add, replace with internalerrors

+ 25 - 2
compiler/node.pas

@@ -617,13 +617,33 @@ implementation
 
 {$ifdef EXTDEBUG}
     procedure tnode._dowrite;
+      const
+         loc2str : array[TCGLoc] of string[18] = (
+           'LOC_INVALID',
+           'LOC_VOID',
+           'LOC_CONSTANT',
+           'LOC_JUMP',
+           'LOC_FLAGS',
+           'LOC_CREFERENCE',
+           'LOC_REFERENCE',
+           'LOC_REGISTER',
+           'LOC_CREGISTER',
+           'LOC_FPUREGISTER',
+           'LOC_CFPUREGISTER',
+           'LOC_MMXREGISTER',
+           'LOC_CMMXREGISTER',
+           'LOC_SSEREGISTER',
+           'LOC_CSSEREGISTER',
+           'LOC_MMREGISTER',
+           'LOC_CMMREGISTER');
+
       begin
         dowritenodetype;
         if assigned(resulttype.def) then
           write(',resulttype = "',resulttype.def.gettypename,'"')
         else
           write(',resulttype = <nil>');
-        write(',location.loc = ',ord(location.loc));
+        write(',location.loc = ',loc2str[location.loc]);
         write(',registersint = ',registers32);
         write(',registersfpu = ',registersfpu);
       end;
@@ -983,7 +1003,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.55  2003-04-23 10:12:14  peter
+  Revision 1.56  2003-04-24 22:29:58  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.55  2003/04/23 10:12:14  peter
     * allow multi pass2 changed to global boolean instead of node flag
 
   Revision 1.54  2003/04/22 23:50:23  peter

+ 50 - 48
compiler/powerpc/agppcgas.pas

@@ -55,6 +55,52 @@ unit agppcgas;
         'xer','lr','ctr','fpscr'
       );
 
+      op2str : array[tasmop] of string[14] = ('<none>',
+        'add','add.','addo','addo.','addc','addc.','addco','addco.',
+        'adde','adde.','addeo','addeo.','addi','addic','addic.','addis',
+        'addme','addme.','addmeo','addmeo.','addze','addze.','addzeo',
+        'addzeo.','and','and.','andc','andc.','andi.','andis.','b',
+        'ba','bl','bla','bc','bca','bcl','bcla','bcctr','bcctrl','bclr',
+        'bclrl','cmp','cmpi','cmpl','cmpli','cntlzw','cntlzw.','crand',
+        'crandc','creqv','crnand','crnor','cror','crorc','crxor','dcba',
+        'dcbf','dcbi','dcbst','dcbt','divw','divw.','divwo','divwo.',
+        'divwu','divwu.','divwuo','divwuo.','eciwx','ecowx','eieio','eqv',
+        'eqv.','extsb','extsb.','extsh','extsh.','fabs','fabs.','fadd',
+        'fadd.','fadds','fadds.','fcmpo','fcmpu','fctiw','fctw.','fctwz',
+        'fctwz.','fdiv','fdiv.','fdivs','fdivs.','fmadd','fmadd.','fmadds',
+        'fmadds.','fmr','fmsub','fmsub.','fmsubs','fmsubs.','fmul','fmul.',
+        'fmuls','fmuls.','fnabs','fnabs.','fneg','fneg.','fnmadd',
+        'fnmadd.','fnmadds','fnmadds.','fnmsub','fnmsub.','fnmsubs',
+        'fnmsubs.','fres','fres.','frsp','frsp.','frsqrte','frsqrte.',
+        'fsel','fsel.','fsqrt','fsqrt.','fsqrts','fsqrts.','fsub','fsub.',
+        'fsubs','fsubs.','icbi','isync','lbz','lbzu','lbzux','lbzx',
+        'lfd','lfdu','lfdux','lfdx','lfs','lfsu','lfsux','lfsx','lha',
+        'lhau','lhaux','lhax','hbrx','lhz','lhzu','lhzux','lhzx','lmw',
+        'lswi','lswx','lwarx','lwbrx','lwz','lwzu','lwzux','lwzx','mcrf',
+        'mcrfs','mcrxr','lcrxe','mfcr','mffs','maffs.','mfmsr','mfspr','mfsr',
+        'mfsrin','mftb','mtfcrf','mtfd0','mtfsb1','mtfsf','mtfsf.',
+        'mtfsfi','mtfsfi.','mtmsr','mtspr','mtsr','mtsrin','mulhw',
+        'mulhw.','mulhwu','mulhwu.','mulli','mullw','mullw.','mullwo',
+        'mullwo.','nand','nand.','neg','neg.','nego','nego.','nor','nor.',
+        'or','or.','orc','orc.','ori','oris', 'rfi', 'rlwimi', 'rlwimi.',
+        'rlwinm', 'rlwinm.','rlwnm','sc','slw', 'slw.', 'sraw', 'sraw.',
+        'srawi', 'srawi.','srw', 'srw.', 'stb', 'stbu', 'stbux','stbx','stfd',
+        'stfdu', 'stfdux', 'stfdx', 'stfiwx', 'stfs', 'stfsu', 'stfsux', 'stfsx',
+        'sth', 'sthbrx', 'sthu', 'sthux', 'sthx', 'stmw', 'stswi', 'stswx', 'stw',
+        'stwbrx', 'stwx.', 'stwu', 'stwux', 'stwx', 'subf', 'subf.', 'subfo',
+        'subfo.', 'subfc', 'subc.', 'subfco', 'subfco.', 'subfe', 'subfe.',
+        'subfeo', 'subfeo.', 'subfic', 'subfme', 'subfme.', 'subfmeo', 'subfmeo.',
+        'subfze', 'subfze.', 'subfzeo', 'subfzeo.', 'sync', 'tlbia', 'tlbie',
+        'tlbsync', 'tw', 'twi', 'xor', 'xor.', 'xori', 'xoris',
+        { some simplified mnemonics }
+        'subi', 'subis', 'subic', 'subic.', 'sub', 'sub.', 'subo', 'subo.',
+        'subc', 'subc.', 'subco', 'subco.', 'cmpwi', 'cmpw', 'cmplwi', 'cmplw',
+        'extlwi', 'extlwi.', 'extrwi', 'extrwi.', 'inslwi', 'inslwi.', 'insrwi',
+        'insrwi.', 'rotlwi', 'rotlwi.', 'rotlw', 'rotlw.', 'slwi', 'slwi.',
+        'srwi', 'srwi.', 'clrlwi', 'clrlwi.', 'clrrwi', 'clrrwi.', 'clrslwi',
+        'clrslwi.', 'blr', 'bctr', 'blrl', 'bctrl', 'crset', 'crclr', 'crmove',
+        'crnot', 'mt', 'mf','nop', 'li', 'lis', 'la', 'mr','mr.','not', 'mtcr', 'mtlr', 'mflr',
+        'mtctr', 'mfctr');
 
   implementation
 
@@ -95,53 +141,6 @@ unit agppcgas;
               '.stab','.stabstr','COMMON')
           );
 
-       op2str : array[tasmop] of string[14] = ('<none>',
-         'add','add.','addo','addo.','addc','addc.','addco','addco.',
-         'adde','adde.','addeo','addeo.','addi','addic','addic.','addis',
-         'addme','addme.','addmeo','addmeo.','addze','addze.','addzeo',
-         'addzeo.','and','and.','andc','andc.','andi.','andis.','b',
-         'ba','bl','bla','bc','bca','bcl','bcla','bcctr','bcctrl','bclr',
-         'bclrl','cmp','cmpi','cmpl','cmpli','cntlzw','cntlzw.','crand',
-         'crandc','creqv','crnand','crnor','cror','crorc','crxor','dcba',
-         'dcbf','dcbi','dcbst','dcbt','divw','divw.','divwo','divwo.',
-         'divwu','divwu.','divwuo','divwuo.','eciwx','ecowx','eieio','eqv',
-         'eqv.','extsb','extsb.','extsh','extsh.','fabs','fabs.','fadd',
-         'fadd.','fadds','fadds.','fcmpo','fcmpu','fctiw','fctw.','fctwz',
-         'fctwz.','fdiv','fdiv.','fdivs','fdivs.','fmadd','fmadd.','fmadds',
-         'fmadds.','fmr','fmsub','fmsub.','fmsubs','fmsubs.','fmul','fmul.',
-         'fmuls','fmuls.','fnabs','fnabs.','fneg','fneg.','fnmadd',
-         'fnmadd.','fnmadds','fnmadds.','fnmsub','fnmsub.','fnmsubs',
-         'fnmsubs.','fres','fres.','frsp','frsp.','frsqrte','frsqrte.',
-         'fsel','fsel.','fsqrt','fsqrt.','fsqrts','fsqrts.','fsub','fsub.',
-         'fsubs','fsubs.','icbi','isync','lbz','lbzu','lbzux','lbzx',
-         'lfd','lfdu','lfdux','lfdx','lfs','lfsu','lfsux','lfsx','lha',
-         'lhau','lhaux','lhax','hbrx','lhz','lhzu','lhzux','lhzx','lmw',
-         'lswi','lswx','lwarx','lwbrx','lwz','lwzu','lwzux','lwzx','mcrf',
-         'mcrfs','mcrxr','lcrxe','mfcr','mffs','maffs.','mfmsr','mfspr','mfsr',
-         'mfsrin','mftb','mtfcrf','mtfd0','mtfsb1','mtfsf','mtfsf.',
-         'mtfsfi','mtfsfi.','mtmsr','mtspr','mtsr','mtsrin','mulhw',
-         'mulhw.','mulhwu','mulhwu.','mulli','mullw','mullw.','mullwo',
-         'mullwo.','nand','nand.','neg','neg.','nego','nego.','nor','nor.',
-         'or','or.','orc','orc.','ori','oris', 'rfi', 'rlwimi', 'rlwimi.',
-         'rlwinm', 'rlwinm.','rlwnm','sc','slw', 'slw.', 'sraw', 'sraw.',
-         'srawi', 'srawi.','srw', 'srw.', 'stb', 'stbu', 'stbux','stbx','stfd',
-         'stfdu', 'stfdux', 'stfdx', 'stfiwx', 'stfs', 'stfsu', 'stfsux', 'stfsx',
-         'sth', 'sthbrx', 'sthu', 'sthux', 'sthx', 'stmw', 'stswi', 'stswx', 'stw',
-         'stwbrx', 'stwx.', 'stwu', 'stwux', 'stwx', 'subf', 'subf.', 'subfo',
-         'subfo.', 'subfc', 'subc.', 'subfco', 'subfco.', 'subfe', 'subfe.',
-         'subfeo', 'subfeo.', 'subfic', 'subfme', 'subfme.', 'subfmeo', 'subfmeo.',
-         'subfze', 'subfze.', 'subfzeo', 'subfzeo.', 'sync', 'tlbia', 'tlbie',
-         'tlbsync', 'tw', 'twi', 'xor', 'xor.', 'xori', 'xoris',
-         { some simplified mnemonics }
-         'subi', 'subis', 'subic', 'subic.', 'sub', 'sub.', 'subo', 'subo.',
-         'subc', 'subc.', 'subco', 'subco.', 'cmpwi', 'cmpw', 'cmplwi', 'cmplw',
-         'extlwi', 'extlwi.', 'extrwi', 'extrwi.', 'inslwi', 'inslwi.', 'insrwi',
-         'insrwi.', 'rotlwi', 'rotlwi.', 'rotlw', 'rotlw.', 'slwi', 'slwi.',
-         'srwi', 'srwi.', 'clrlwi', 'clrlwi.', 'clrrwi', 'clrrwi.', 'clrslwi',
-         'clrslwi.', 'blr', 'bctr', 'blrl', 'bctrl', 'crset', 'crclr', 'crmove',
-         'crnot', 'mt', 'mf','nop', 'li', 'lis', 'la', 'mr','mr.','not', 'mtcr', 'mtlr', 'mflr',
-         'mtctr', 'mfctr');
-
      symaddr2str: array[trefsymaddr] of string[3] = ('','@ha','@l');
 
     function getreferencestring(var ref : treference) : string;
@@ -380,7 +379,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.22  2003-04-23 12:35:35  florian
+  Revision 1.23  2003-04-24 22:29:58  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.22  2003/04/23 12:35:35  florian
     * fixed several issues with powerpc
     + applied a patch from Jonas for nested function calls (PowerPC only)
     * ...

+ 6 - 3
compiler/powerpc/nppcadd.pas

@@ -232,8 +232,8 @@ interface
         // constant in a register first?
         if (right.location.loc = LOC_CONSTANT) then
           begin
-{$ifdef extdebug}
-            if (right.location.size in [OS_64,OS_S64]) and (hi(right.location.valueqword)<>0) and ((hi(right.location.valueqword)<>cardinal(-1)) or unsigned) then
+{$ifdef dummy}
+            if (right.location.size in [OS_64,OS_S64]) and (hi(right.location.valueqword)<>0) and ((hi(right.location.valueqword)<>$ffffffff) or unsigned) then
               internalerror(2002080301);
 {$endif extdebug}
             if (nodetype in [equaln,unequaln]) then
@@ -1479,7 +1479,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.26  2003-04-23 22:18:01  peter
+  Revision 1.27  2003-04-24 22:29:58  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.26  2003/04/23 22:18:01  peter
     * fixes to get rtl compiled
 
   Revision 1.25  2003/04/23 12:35:35  florian

+ 34 - 4
compiler/powerpc/nppccnv.pas

@@ -267,6 +267,7 @@ implementation
       var
         hreg1,
         hreg2    : tregister;
+        href     : treference;
         resflags : tresflags;
         opsize   : tcgsize;
       begin
@@ -288,11 +289,37 @@ implementation
                   begin
                     reference_release(exprasmlist,left.location.reference);
                     hreg2:=rg.getregisterint(exprasmlist,OS_INT);
-                    cg.a_load_ref_reg(exprasmlist,opsize,
-                      left.location.reference,hreg2);
+                     if left.location.size in [OS_64,OS_S64] then
+                       begin
+                         cg.a_load_ref_reg(exprasmlist,OS_INT,
+                          left.location.reference,hreg2);
+                         hreg1:=rg.getregisterint(exprasmlist,OS_INT);
+                         href:=left.location.reference;
+                         inc(href.offset,4);
+                         cg.a_load_ref_reg(exprasmlist,OS_INT,
+                           href,hreg1);
+                         cg.a_op_reg_reg_reg(exprasmlist,OP_OR,OS_32,hreg2,hreg2,hreg1);
+                         rg.ungetregisterint(exprasmlist,hreg1);
+                          { it's shrunk down to 32 bit }
+                         location.size:=OS_32;
+                      end
+                     else
+                      cg.a_load_ref_reg(exprasmlist,opsize,
+                        left.location.reference,hreg2);
                   end
                 else
-                  hreg2 := left.location.register;
+                  begin
+                     if left.location.size in [OS_64,OS_S64] then
+                       begin
+                          hreg2:=rg.getregisterint(exprasmlist,OS_32);
+                          cg.a_op_reg_reg_reg(exprasmlist,OP_OR,OS_32,hreg2,left.location.registerhigh,left.location.registerlow);
+                          location_release(exprasmlist,left.location);
+                          { it's shrunk down to 32 bit }
+                          location.size:=OS_32;
+                       end
+                     else
+                       hreg2 := left.location.register;
+                  end;
                 hreg1 := rg.getregisterint(exprasmlist,OS_INT);
                 exprasmlist.concat(taicpu.op_reg_reg_const(A_SUBIC,hreg1,
                   hreg2,1));
@@ -395,7 +422,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.32  2003-04-23 21:10:54  peter
+  Revision 1.33  2003-04-24 22:29:58  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.32  2003/04/23 21:10:54  peter
     * fix compile for ppc,sparc,m68k
 
   Revision 1.31  2003/04/23 12:35:35  florian

+ 10 - 1
compiler/ptconst.pas

@@ -220,8 +220,14 @@ implementation
                    curconstSegment.concat(Tai_real_64bit.Create(ts64real(value)));
                  s80real :
                    curconstSegment.concat(Tai_real_80bit.Create(value));
+{$ifdef ver1_0}
                  s64comp :
                    curconstSegment.concat(Tai_comp_64bit.Create(value));
+{$else ver1_0}
+                 { the round is necessary for native compilers where comp isn't a float }
+                 s64comp :
+                   curconstSegment.concat(Tai_comp_64bit.Create(round(value)));
+{$endif ver1_0}
                  else
                    internalerror(18);
               end;
@@ -995,7 +1001,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.66  2003-04-06 21:11:23  olle
+  Revision 1.67  2003-04-24 22:29:58  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.66  2003/04/06 21:11:23  olle
     * changed newasmsymbol to newasmsymboldata for data symbols
 
   Revision 1.65  2003/03/17 21:42:32  peter

+ 18 - 3
compiler/version.pas

@@ -48,15 +48,27 @@ interface
 {$ifdef cpu86}
         source_cpu_string = 'i386';
 {$endif}
-{$ifdef cpu68}
-        source_cpu_string = 'm68k';
+{$ifdef cpupowerpc}
+        source_cpu_string = 'powerpc';
 {$endif}
+{$ifdef cpum68k}
+        source_cpu_string = 'm68k';
+{$endif cpum68k}
 {$ifdef cpuia64}
        target_cpu_string = 'ia64';
 {$endif}
 {$ifdef cpu86_64}
         source_cpu_string = 'x86_64';
 {$endif}
+{$ifdef cpusparc}
+        source_cpu_string = 'sparc';
+{$endif cpusparc}
+{$ifdef cpusalpha}
+        source_cpu_string = 'alpha';
+{$endif cpualpha}
+{$ifdef cpuvis}
+        source_cpu_string = 'vis';
+{$endif cpuvis}
 
 function version_string:string;
 function full_version_string:string;
@@ -84,7 +96,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.16  2002-09-07 15:25:10  peter
+  Revision 1.17  2003-04-24 22:29:58  florian
+    * fixed a lot of PowerPC related stuff
+
+  Revision 1.16  2002/09/07 15:25:10  peter
     * old logs removed and tabs fixed
 
   Revision 1.15  2002/08/10 14:46:31  carl