mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 13:09:32 +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) }
|
||||
{ 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
|
||||
|
@ -90,10 +90,6 @@ begin
|
||||
FreeMem(Value,Len);
|
||||
end;
|
||||
|
||||
{$ifdef ver1_0}
|
||||
{$R-}
|
||||
{$endif}
|
||||
|
||||
procedure TResourceStringItem.CalcHash;
|
||||
Var
|
||||
g : Cardinal;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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 }
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user