diff --git a/compiler/msg/errore.msg b/compiler/msg/errore.msg index d8586964a6..9db22a0fb0 100644 --- a/compiler/msg/errore.msg +++ b/compiler/msg/errore.msg @@ -927,8 +927,8 @@ parser_e_paraloc_all_paras=03198_E_Each argument must have an explicit location % must have one. parser_e_illegal_explicit_paraloc=03199_E_Unknown argument location % The location specified for an argument isn't recognized by the compiler -parser_e_32bitint_or_pointer_variable_expected=03200_E_32 Bit Integer or Pointer Variable expected -% The libbase for MorphOS/AmigaOS can be give only as \var{longint}, \var{dword} or \var{pointer}. +parser_e_32bitint_or_pointer_variable_expected=03200_E_32 Bit-Integer or pointer variable expected +% The libbase for MorphOS/AmigaOS can be give only as \var{longint}, \var{dword} or any pointer variable. parser_e_goto_outside_proc=03201_E_Goto statements aren't allowed between different procedures % It isn't allowed to use the \var{goto} statements referencing labels outside the % current procedure. The following example shows the problem: diff --git a/compiler/msgtxt.inc b/compiler/msgtxt.inc index d13c2881a5..c99ac7e8a4 100644 --- a/compiler/msgtxt.inc +++ b/compiler/msgtxt.inc @@ -291,7 +291,7 @@ const msgtxt : array[0..000153,1..240] of char=( '03197_E_Each argument must have',' it'#039's own location'#000+ '03198_E_Each argument must have an explicit location'#000+ '03199_E_Unknown argument location'#000+ - '03200_E_32 Bit Integer or Pointer Variable expected'#000+ + '03200_E_32 Bit-Integer or pointer variable expected'#000+ '03201_E_Goto statements aren'#039't allowed between different procedure'+ 's'#000+ '03202_E_Expres','sion too complicated - FPU stack overflow'#000+ diff --git a/compiler/pdecsub.pas b/compiler/pdecsub.pas index e0c3d1a307..e2a5b0cde9 100644 --- a/compiler/pdecsub.pas +++ b/compiler/pdecsub.pas @@ -1174,8 +1174,9 @@ begin if consume_sym(sym,symtable) then begin if (sym.typ=varsym) and - (is_voidpointer(tvarsym(sym).vartype.def) or - is_32bitint(tvarsym(sym).vartype.def)) then + ((tvarsym(sym).vartype.def.deftype=pointerdef) or + is_32bitint(tvarsym(sym).vartype.def) + ) then begin tprocdef(pd).libsym:=sym; pd.concatpara(nil,tvarsym(sym).vartype,tvarsym(sym),nil,true); @@ -2274,7 +2275,12 @@ const end. { $Log$ - Revision 1.187 2004-08-22 11:24:27 peter + Revision 1.188 2004-08-22 20:11:38 florian + * morphos now takes any pointer var. as libbase + * alignment for sparc fixed + * int -> double conversion on sparc fixed + + Revision 1.187 2004/08/22 11:24:27 peter * don't insert result variables for constructor/destructors Revision 1.186 2004/08/13 17:53:37 jonas diff --git a/compiler/ppu.pas b/compiler/ppu.pas index e36af73473..4a323e1856 100644 --- a/compiler/ppu.pas +++ b/compiler/ppu.pas @@ -45,9 +45,9 @@ type const {$ifdef ansistring_bits} - CurrentPPUVersion=43; + CurrentPPUVersion=44; {$else} - CurrentPPUVersion=43; + CurrentPPUVersion=44; {$endif} { buffer sizes } @@ -153,7 +153,7 @@ type tppuerror=(ppuentrytoobig,ppuentryerror); - tppuheader=packed record { 36 bytes } + tppuheader=record id : array[1..3] of char; { = 'PPU' } ver : array[1..3] of char; compiler : word; @@ -1053,7 +1053,12 @@ end; end. { $Log$ - Revision 1.54 2004-08-17 16:29:21 jonas + Revision 1.55 2004-08-22 20:11:38 florian + * morphos now takes any pointer var. as libbase + * alignment for sparc fixed + * int -> double conversion on sparc fixed + + Revision 1.54 2004/08/17 16:29:21 jonas + padalgingment field for recordsymtables (saved by recorddefs) + support for Macintosh PowerPC alignment (if the first field of a record or union has an alignment > 4, then the record or union size must be diff --git a/compiler/sparc/ncpucnv.pas b/compiler/sparc/ncpucnv.pas index a0f20c0eee..ebd0b439a7 100644 --- a/compiler/sparc/ncpucnv.pas +++ b/compiler/sparc/ncpucnv.pas @@ -112,7 +112,7 @@ implementation location_force_mem(exprasmlist,left.location); location.register:=cg.getfpuregister(exprasmlist,location.size); { Load memory in fpu register } - cg.a_loadfpu_ref_reg(exprasmlist,location.size,left.location.reference,location.register); + cg.a_loadfpu_ref_reg(exprasmlist,OS_F32,left.location.reference,location.register); tg.ungetiftemp(exprasmlist,left.location.reference); { Convert value in fpu register from integer to float } @@ -235,7 +235,12 @@ begin end. { $Log$ - Revision 1.27 2004-08-01 19:01:10 florian + Revision 1.28 2004-08-22 20:11:38 florian + * morphos now takes any pointer var. as libbase + * alignment for sparc fixed + * int -> double conversion on sparc fixed + + Revision 1.27 2004/08/01 19:01:10 florian * float to float and int to float fixed Revision 1.26 2004/06/20 08:55:32 florian