mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-19 06:49:16 +02:00
* Remove ifdef 1_0
* Add expirimental 32-bit x86_64 target to systems git-svn-id: trunk@729 -
This commit is contained in:
parent
32b96e75f3
commit
d57c048696
@ -1627,30 +1627,15 @@ implementation
|
|||||||
{ type used is checked against todefs ranges. fromdef (p.resulttype.def) }
|
{ type used is checked against todefs ranges. fromdef (p.resulttype.def) }
|
||||||
{ is the original type used at that location. When both defs are equal }
|
{ is the original type used at that location. When both defs are equal }
|
||||||
{ the check is also insert (needed for succ,pref,inc,dec) }
|
{ the check is also insert (needed for succ,pref,inc,dec) }
|
||||||
{$ifndef ver1_0}
|
|
||||||
const
|
const
|
||||||
aintmax=high(aint);
|
aintmax=high(aint);
|
||||||
{$endif}
|
|
||||||
var
|
var
|
||||||
neglabel : tasmlabel;
|
neglabel : tasmlabel;
|
||||||
hreg : tregister;
|
hreg : tregister;
|
||||||
lto,hto,
|
lto,hto,
|
||||||
lfrom,hfrom : TConstExprInt;
|
lfrom,hfrom : TConstExprInt;
|
||||||
from_signed: boolean;
|
from_signed: boolean;
|
||||||
{$ifdef ver1_0}
|
|
||||||
aintmax : aint;
|
|
||||||
{$endif ver1_0}
|
|
||||||
begin
|
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? }
|
{ range checking on and range checkable value? }
|
||||||
if not(cs_check_range in aktlocalswitches) or
|
if not(cs_check_range in aktlocalswitches) or
|
||||||
not(fromdef.deftype in [orddef,enumdef,arraydef]) then
|
not(fromdef.deftype in [orddef,enumdef,arraydef]) then
|
||||||
|
@ -90,10 +90,6 @@ begin
|
|||||||
FreeMem(Value,Len);
|
FreeMem(Value,Len);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$ifdef ver1_0}
|
|
||||||
{$R-}
|
|
||||||
{$endif}
|
|
||||||
|
|
||||||
procedure TResourceStringItem.CalcHash;
|
procedure TResourceStringItem.CalcHash;
|
||||||
Var
|
Var
|
||||||
g : Cardinal;
|
g : Cardinal;
|
||||||
|
@ -31,9 +31,6 @@ interface
|
|||||||
|
|
||||||
|
|
||||||
type
|
type
|
||||||
{$ifdef ver1_0}
|
|
||||||
ptrint = longint;
|
|
||||||
{$endif ver1_0}
|
|
||||||
pstring = ^string;
|
pstring = ^string;
|
||||||
get_var_value_proc=function(const s:string):string of object;
|
get_var_value_proc=function(const s:string):string of object;
|
||||||
Tcharset=set of char;
|
Tcharset=set of char;
|
||||||
@ -970,10 +967,6 @@ uses
|
|||||||
GetSpeedValue
|
GetSpeedValue
|
||||||
*****************************************************************************}
|
*****************************************************************************}
|
||||||
|
|
||||||
{$ifdef ver1_0}
|
|
||||||
{$R-}
|
|
||||||
{$endif}
|
|
||||||
|
|
||||||
var
|
var
|
||||||
Crc32Tbl : array[0..255] of cardinal;
|
Crc32Tbl : array[0..255] of cardinal;
|
||||||
|
|
||||||
|
@ -45,12 +45,6 @@ than 255 characters. That's why using Ansi Strings}
|
|||||||
qword = int64;
|
qword = int64;
|
||||||
{$endif fpc}
|
{$endif fpc}
|
||||||
|
|
||||||
{$ifdef ver1_0}
|
|
||||||
{ Bootstrapping }
|
|
||||||
PtrInt = DWord;
|
|
||||||
SizeInt = Longint;
|
|
||||||
{$endif ver1_0}
|
|
||||||
|
|
||||||
{ Natural integer register type and size for the target machine }
|
{ Natural integer register type and size for the target machine }
|
||||||
{$ifdef cpu64bit}
|
{$ifdef cpu64bit}
|
||||||
AWord = qword;
|
AWord = qword;
|
||||||
|
@ -117,14 +117,9 @@ implementation
|
|||||||
type
|
type
|
||||||
tdummyarray = packed array[0..7] of byte;
|
tdummyarray = packed array[0..7] of byte;
|
||||||
|
|
||||||
{$ifdef VER1_0}
|
|
||||||
var
|
|
||||||
dummy1, dummy2: int64;
|
|
||||||
{$else VER1_0}
|
|
||||||
const
|
const
|
||||||
dummy1: int64 = $4330000080000000;
|
dummy1: int64 = $4330000080000000;
|
||||||
dummy2: int64 = $4330000000000000;
|
dummy2: int64 = $4330000000000000;
|
||||||
{$endif VER1_0}
|
|
||||||
|
|
||||||
var
|
var
|
||||||
tempconst: trealconstnode;
|
tempconst: trealconstnode;
|
||||||
@ -133,11 +128,6 @@ implementation
|
|||||||
size: tcgsize;
|
size: tcgsize;
|
||||||
signed : boolean;
|
signed : boolean;
|
||||||
begin
|
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));
|
location_reset(location,LOC_FPUREGISTER,def_cgsize(resulttype.def));
|
||||||
|
|
||||||
{ the code here comes from the PowerPC Compiler Writer's Guide }
|
{ the code here comes from the PowerPC Compiler Writer's Guide }
|
||||||
|
@ -112,11 +112,12 @@ interface
|
|||||||
system_powerpc_MorphOS, { 33 }
|
system_powerpc_MorphOS, { 33 }
|
||||||
system_x86_64_freebsd, { 34 }
|
system_x86_64_freebsd, { 34 }
|
||||||
system_i386_netwlibc, { 35 }
|
system_i386_netwlibc, { 35 }
|
||||||
system_powerpc_Amiga, { 36 }
|
system_powerpc_Amiga, { 36 }
|
||||||
system_x86_64_win64, { 37 }
|
system_x86_64_win64, { 37 }
|
||||||
system_arm_wince, { 38 }
|
system_arm_wince, { 38 }
|
||||||
system_ia64_win64, { 39 }
|
system_ia64_win64, { 39 }
|
||||||
system_i386_wince { 40 }
|
system_i386_wince, { 40 }
|
||||||
|
system_x86_6432_linux { 41 }
|
||||||
);
|
);
|
||||||
|
|
||||||
tasm = (as_none
|
tasm = (as_none
|
||||||
|
@ -89,6 +89,68 @@ unit i_linux;
|
|||||||
abi : abi_default
|
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_m68k_linux_info : tsysteminfo =
|
||||||
(
|
(
|
||||||
system : system_m68k_linux;
|
system : system_m68k_linux;
|
||||||
|
@ -549,6 +549,11 @@ initialization
|
|||||||
RegisterImport(system_i386_linux,timportliblinux);
|
RegisterImport(system_i386_linux,timportliblinux);
|
||||||
RegisterExport(system_i386_linux,texportliblinux);
|
RegisterExport(system_i386_linux,texportliblinux);
|
||||||
RegisterTarget(system_i386_linux_info);
|
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}
|
{$endif i386}
|
||||||
{$ifdef m68k}
|
{$ifdef m68k}
|
||||||
RegisterExternalLinker(system_m68k_linux_info,TLinkerLinux);
|
RegisterExternalLinker(system_m68k_linux_info,TLinkerLinux);
|
||||||
|
@ -582,80 +582,31 @@ var
|
|||||||
|
|
||||||
|
|
||||||
procedure Message1(w:longint;const s1:string);
|
procedure Message1(w:longint;const s1:string);
|
||||||
{$ifdef ver1_0}
|
|
||||||
var
|
|
||||||
hs1 : string;
|
|
||||||
{$endif ver1_0}
|
|
||||||
begin
|
begin
|
||||||
MaybeLoadMessageFile;
|
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]));
|
Msg2Comment(msg^.Get(w,[s1]));
|
||||||
{$endif ver1_0}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure Message2(w:longint;const s1,s2:string);
|
procedure Message2(w:longint;const s1,s2:string);
|
||||||
{$ifdef ver1_0}
|
|
||||||
var
|
|
||||||
hs1,hs2 : string;
|
|
||||||
{$endif ver1_0}
|
|
||||||
begin
|
begin
|
||||||
MaybeLoadMessageFile;
|
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]));
|
Msg2Comment(msg^.Get(w,[s1,s2]));
|
||||||
{$endif ver1_0}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure Message3(w:longint;const s1,s2,s3:string);
|
procedure Message3(w:longint;const s1,s2,s3:string);
|
||||||
{$ifdef ver1_0}
|
|
||||||
var
|
|
||||||
hs1,hs2,hs3 : string;
|
|
||||||
{$endif ver1_0}
|
|
||||||
begin
|
begin
|
||||||
MaybeLoadMessageFile;
|
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]));
|
Msg2Comment(msg^.Get(w,[s1,s2,s3]));
|
||||||
{$endif ver1_0}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure Message4(w:longint;const s1,s2,s3,s4:string);
|
procedure Message4(w:longint;const s1,s2,s3,s4:string);
|
||||||
{$ifdef ver1_0}
|
|
||||||
var
|
|
||||||
hs1,hs2,hs3,hs4 : string;
|
|
||||||
{$endif ver1_0}
|
|
||||||
begin
|
begin
|
||||||
MaybeLoadMessageFile;
|
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]));
|
Msg2Comment(msg^.Get(w,[s1,s2,s3,s4]));
|
||||||
{$endif ver1_0}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user