* Remove ifdef 1_0

* Add expirimental 32-bit x86_64 target to systems

git-svn-id: trunk@729 -
This commit is contained in:
daniel 2005-07-23 08:37:26 +00:00
parent 32b96e75f3
commit d57c048696
9 changed files with 71 additions and 94 deletions

View File

@ -1627,30 +1627,15 @@ implementation
{ type used is checked against todefs ranges. fromdef (p.resulttype.def) }
{ is the original type used at that location. When both defs are equal }
{ the check is also insert (needed for succ,pref,inc,dec) }
{$ifndef ver1_0}
const
aintmax=high(aint);
{$endif}
var
neglabel : tasmlabel;
hreg : tregister;
lto,hto,
lfrom,hfrom : TConstExprInt;
from_signed: boolean;
{$ifdef ver1_0}
aintmax : aint;
{$endif ver1_0}
begin
{$ifdef ver1_0}
{$ifdef cpu64bit}
{ this is required to prevent incorrect code }
aintmax:=$7fffffff;
aintmax:=int64(aintmax shl 16) or int64($ffff);
aintmax:=int64(aintmax shl 16) or int64($ffff);
{$else cpu64bit}
aintmax:=high(aint);
{$endif cpu64bit}
{$endif}
{ range checking on and range checkable value? }
if not(cs_check_range in aktlocalswitches) or
not(fromdef.deftype in [orddef,enumdef,arraydef]) then

View File

@ -90,10 +90,6 @@ begin
FreeMem(Value,Len);
end;
{$ifdef ver1_0}
{$R-}
{$endif}
procedure TResourceStringItem.CalcHash;
Var
g : Cardinal;

View File

@ -31,9 +31,6 @@ interface
type
{$ifdef ver1_0}
ptrint = longint;
{$endif ver1_0}
pstring = ^string;
get_var_value_proc=function(const s:string):string of object;
Tcharset=set of char;
@ -970,10 +967,6 @@ uses
GetSpeedValue
*****************************************************************************}
{$ifdef ver1_0}
{$R-}
{$endif}
var
Crc32Tbl : array[0..255] of cardinal;

View File

@ -45,12 +45,6 @@ than 255 characters. That's why using Ansi Strings}
qword = int64;
{$endif fpc}
{$ifdef ver1_0}
{ Bootstrapping }
PtrInt = DWord;
SizeInt = Longint;
{$endif ver1_0}
{ Natural integer register type and size for the target machine }
{$ifdef cpu64bit}
AWord = qword;

View File

@ -117,14 +117,9 @@ implementation
type
tdummyarray = packed array[0..7] of byte;
{$ifdef VER1_0}
var
dummy1, dummy2: int64;
{$else VER1_0}
const
dummy1: int64 = $4330000080000000;
dummy2: int64 = $4330000000000000;
{$endif VER1_0}
var
tempconst: trealconstnode;
@ -133,11 +128,6 @@ implementation
size: tcgsize;
signed : boolean;
begin
{$ifdef VER1_0}
dummy1 := (int64(1) shl 31) or (int64($43300000) shl 32);
dummy2 := int64($43300000) shl 32;
{$endif VER1_0}
location_reset(location,LOC_FPUREGISTER,def_cgsize(resulttype.def));
{ the code here comes from the PowerPC Compiler Writer's Guide }

View File

@ -112,11 +112,12 @@ interface
system_powerpc_MorphOS, { 33 }
system_x86_64_freebsd, { 34 }
system_i386_netwlibc, { 35 }
system_powerpc_Amiga, { 36 }
system_powerpc_Amiga, { 36 }
system_x86_64_win64, { 37 }
system_arm_wince, { 38 }
system_ia64_win64, { 39 }
system_i386_wince { 40 }
system_i386_wince, { 40 }
system_x86_6432_linux { 41 }
);
tasm = (as_none

View File

@ -89,6 +89,68 @@ unit i_linux;
abi : abi_default
);
system_x86_6432_linux_info : tsysteminfo =
(
system : system_x86_6432_LINUX;
name : 'Linux for x64_6432';
shortname : 'Linux6432';
flags : [tf_needs_symbol_size,tf_pic_uses_got{,tf_smartlink_sections}];
cpu : cpu_x86_64;
unit_env : 'LINUXUNITS';
extradefines : 'UNIX;HASUNIX';
exeext : '';
defext : '.def';
scriptext : '.sh';
smartext : '.sl';
unitext : '.ppu';
unitlibext : '.ppl';
asmext : '.s';
objext : '.o';
resext : '.res';
resobjext : '.or';
sharedlibext : '.so';
staticlibext : '.a';
staticlibprefix : 'libp';
sharedlibprefix : 'lib';
sharedClibext : '.so';
staticClibext : '.a';
staticClibprefix : 'lib';
sharedClibprefix : 'lib';
p_ext_support : false;
Cprefix : '';
newline : #10;
dirsep : '/';
files_case_relevent : true;
assem : as_i386_elf32;
assemextern : as_gas;
link : nil;
linkextern : nil;
ar : ar_gnu_ar;
res : res_none;
script : script_unix;
endian : endian_little;
alignment :
(
procalign : 16;
loopalign : 4;
jumpalign : 0;
constalignmin : 0;
constalignmax : 8;
varalignmin : 0;
varalignmax : 8;
localalignmin : 4;
localalignmax : 4;
recordalignmin : 0;
recordalignmax : 4;
maxCrecordalign : 4
);
first_parm_offset : 8;
stacksize : 262144;
DllScanSupported:false;
use_function_relative_addresses : true;
abi : abi_default
);
system_m68k_linux_info : tsysteminfo =
(
system : system_m68k_linux;

View File

@ -549,6 +549,11 @@ initialization
RegisterImport(system_i386_linux,timportliblinux);
RegisterExport(system_i386_linux,texportliblinux);
RegisterTarget(system_i386_linux_info);
RegisterExternalLinker(system_x86_6432_linux_info,TLinkerLinux);
RegisterImport(system_x86_6432_linux,timportliblinux);
RegisterExport(system_x86_6432_linux,texportliblinux);
RegisterTarget(system_x86_6432_linux_info);
{$endif i386}
{$ifdef m68k}
RegisterExternalLinker(system_m68k_linux_info,TLinkerLinux);

View File

@ -582,80 +582,31 @@ var
procedure Message1(w:longint;const s1:string);
{$ifdef ver1_0}
var
hs1 : string;
{$endif ver1_0}
begin
MaybeLoadMessageFile;
{$ifdef ver1_0}
{ 1.0.x is broken, it uses concatcopy instead of shortstring
copy when passing array of shortstring. (PFV) }
hs1:=s1;
Msg2Comment(msg^.Get(w,[hs1]));
{$else ver1_0}
Msg2Comment(msg^.Get(w,[s1]));
{$endif ver1_0}
end;
procedure Message2(w:longint;const s1,s2:string);
{$ifdef ver1_0}
var
hs1,hs2 : string;
{$endif ver1_0}
begin
MaybeLoadMessageFile;
{$ifdef ver1_0}
{ 1.0.x is broken, it uses concatcopy instead of shortstring
copy when passing array of shortstring. (PFV) }
hs1:=s1;
hs2:=s2;
Msg2Comment(msg^.Get(w,[hs1,hs2]));
{$else ver1_0}
Msg2Comment(msg^.Get(w,[s1,s2]));
{$endif ver1_0}
end;
procedure Message3(w:longint;const s1,s2,s3:string);
{$ifdef ver1_0}
var
hs1,hs2,hs3 : string;
{$endif ver1_0}
begin
MaybeLoadMessageFile;
{$ifdef ver1_0}
{ 1.0.x is broken, it uses concatcopy instead of shortstring
copy when passing array of shortstring. (PFV) }
hs1:=s1;
hs2:=s2;
hs3:=s3;
Msg2Comment(msg^.Get(w,[hs1,hs2,hs3]));
{$else ver1_0}
Msg2Comment(msg^.Get(w,[s1,s2,s3]));
{$endif ver1_0}
end;
procedure Message4(w:longint;const s1,s2,s3,s4:string);
{$ifdef ver1_0}
var
hs1,hs2,hs3,hs4 : string;
{$endif ver1_0}
begin
MaybeLoadMessageFile;
{$ifdef ver1_0}
{ 1.0.x is broken, it uses concatcopy instead of shortstring
copy when passing array of shortstring. (PFV) }
hs1:=s1;
hs2:=s2;
hs3:=s3;
hs4:=s4;
Msg2Comment(msg^.Get(w,[hs1,hs2,hs3,hs4]));
{$else ver1_0}
Msg2Comment(msg^.Get(w,[s1,s2,s3,s4]));
{$endif ver1_0}
end;