mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 19:29:26 +02:00
+ added a new tsystemflag tf_cld, which indicates that ts_cld should be enabled
by default on this target + tf_cld enabled for i8086-msdos (for Turbo Pascal compatibility) git-svn-id: trunk@25595 -
This commit is contained in:
parent
ac66f3ae1b
commit
a48b44cfe5
@ -38,7 +38,8 @@ Type
|
||||
LogoWritten,
|
||||
FPUSetExplicitly,
|
||||
CPUSetExplicitly,
|
||||
OptCPUSetExplicitly: boolean;
|
||||
OptCPUSetExplicitly,
|
||||
CLDSetExplicitly: boolean;
|
||||
FileLevel : longint;
|
||||
QuickInfo : string;
|
||||
FPCBinaryPath: string;
|
||||
@ -1011,6 +1012,8 @@ begin
|
||||
include(init_settings.moduleswitches,cs_create_smart);
|
||||
'T' :
|
||||
begin
|
||||
if Pos('CLD',Upper(copy(more,j+1,length(more))))>0 then // Ugly. Is there a better way?
|
||||
CLDSetExplicitly:=true;
|
||||
if not UpdateTargetSwitchStr(copy(more,j+1,length(more)),init_settings.targetswitches,true) then
|
||||
IllegalPara(opt);
|
||||
break;
|
||||
@ -2715,6 +2718,7 @@ begin
|
||||
FPUSetExplicitly:=false;
|
||||
CPUSetExplicitly:=false;
|
||||
OptCPUSetExplicitly:=false;
|
||||
CLDSetExplicitly:=false;
|
||||
FileLevel:=0;
|
||||
Quickinfo:='';
|
||||
ParaIncludeCfgPath:=TSearchPathList.Create;
|
||||
@ -3475,6 +3479,9 @@ if (target_info.abi = abi_eabihf) then
|
||||
mm_huge: def_system_macro('FPC_MM_HUGE');
|
||||
end;
|
||||
{$endif}
|
||||
if not option.CLDSetExplicitly and (tf_cld in target_info.flags) then
|
||||
if not UpdateTargetSwitchStr('CLD', init_settings.targetswitches, true) then
|
||||
InternalError(2013092801);
|
||||
|
||||
|
||||
{ Section smartlinking conflicts with import sections on Windows }
|
||||
|
@ -142,7 +142,9 @@ interface
|
||||
tf_no_backquote_support,
|
||||
{ do not generate an object file when smartlinking is turned on,
|
||||
this is usefull for architectures which require a small code footprint }
|
||||
tf_no_objectfiles_when_smartlinking
|
||||
tf_no_objectfiles_when_smartlinking,
|
||||
{ indicates that the default value of the ts_cld target switch is 'on' for this target }
|
||||
tf_cld
|
||||
);
|
||||
|
||||
psysteminfo = ^tsysteminfo;
|
||||
|
@ -35,7 +35,7 @@ unit i_msdos;
|
||||
name : 'MS-DOS 16-bit real mode';
|
||||
shortname : 'MSDOS';
|
||||
flags : [tf_use_8_3,tf_smartlink_library,tf_smartlink_sections,
|
||||
tf_no_objectfiles_when_smartlinking];
|
||||
tf_no_objectfiles_when_smartlinking,tf_cld];
|
||||
cpu : cpu_i8086;
|
||||
unit_env : 'MSDOSUNITS';
|
||||
extradefines : '';
|
||||
|
Loading…
Reference in New Issue
Block a user