mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 21:09:24 +02:00
+ initial AArch64 support in systemh.inc, options.pas, version.pas and
psystem.pas git-svn-id: trunk@29903 -
This commit is contained in:
parent
19f458787f
commit
b0112fa63f
@ -885,7 +885,7 @@ begin
|
||||
if MacVersionSet then
|
||||
exit;
|
||||
{ check for deployment target set via environment variable }
|
||||
if not(target_info.system in [system_i386_iphonesim,system_arm_darwin]) then
|
||||
if not(target_info.system in [system_i386_iphonesim,system_arm_darwin,system_aarch64_darwin]) then
|
||||
begin
|
||||
envstr:=GetEnvironmentVariable('MACOSX_DEPLOYMENT_TARGET');
|
||||
if envstr<>'' then
|
||||
@ -2240,7 +2240,7 @@ begin
|
||||
end;
|
||||
'P':
|
||||
begin
|
||||
if (target_info.system in [system_i386_iphonesim,system_arm_darwin]) and
|
||||
if (target_info.system in [system_i386_iphonesim,system_arm_darwin,system_aarch64_darwin]) and
|
||||
ParseMacVersionMin(iPhoneOSVersionMin,MacOSXVersionMin,'IPHONE_OS_VERSION_MIN_REQUIRED',copy(More,2,255),true) then
|
||||
begin
|
||||
break;
|
||||
@ -3399,6 +3399,12 @@ begin
|
||||
mm_huge: def_system_macro('FPC_MM_HUGE');
|
||||
end;
|
||||
{$endif i8086}
|
||||
{$ifdef aarch64}
|
||||
def_system_macro('CPUAARCH64');
|
||||
def_system_macro('CPU64');
|
||||
def_system_macro('FPC_CURRENCY_IS_INT64');
|
||||
def_system_macro('FPC_COMP_IS_INT64');
|
||||
{$endif aarch64}
|
||||
|
||||
if tf_cld in target_info.flags then
|
||||
if not UpdateTargetSwitchStr('CLD', init_settings.targetswitches, true) then
|
||||
|
@ -268,6 +268,10 @@ implementation
|
||||
create_fpu_types;
|
||||
s64currencytype:=corddef.create(scurrency,low(int64),high(int64));
|
||||
{$endif arm}
|
||||
{$ifdef aarch64}
|
||||
create_fpu_types;
|
||||
s64currencytype:=corddef.create(scurrency,low(int64),high(int64));
|
||||
{$endif aarch64}
|
||||
{$ifdef avr}
|
||||
s32floattype:=cfloatdef.create(s32real);
|
||||
s64floattype:=cfloatdef.create(s64real);
|
||||
|
@ -77,6 +77,9 @@ interface
|
||||
{$ifdef cpumipsel}
|
||||
source_cpu_string = 'mipsel';
|
||||
{$endif cpumipsel}
|
||||
{$ifdef cpuaarch64}
|
||||
source_cpu_string = 'aarch64';
|
||||
{$endif cpuaarch64}
|
||||
|
||||
function version_string:string;
|
||||
function full_version_string:string;
|
||||
|
@ -332,6 +332,22 @@ Type
|
||||
FarPointer = Pointer;
|
||||
{$endif CPUAVR}
|
||||
|
||||
{$ifdef CPUAARCH64}
|
||||
{$define DEFAULT_DOUBLE}
|
||||
|
||||
{$define SUPPORT_SINGLE}
|
||||
{$define SUPPORT_DOUBLE}
|
||||
|
||||
ValReal = Double;
|
||||
|
||||
{ map comp to int64, but this doesn't mean we compile the comp support in! }
|
||||
Comp = Int64;
|
||||
PComp = ^Comp;
|
||||
|
||||
FarPointer = Pointer;
|
||||
{$endif CPUAARCH64}
|
||||
|
||||
|
||||
{$ifdef CPU64}
|
||||
SizeInt = Int64;
|
||||
SizeUInt = QWord;
|
||||
|
Loading…
Reference in New Issue
Block a user