mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-01 20:02:38 +02:00
* Make use of copy() without count when rest of string is needed
This commit is contained in:
parent
535107a700
commit
1930aaa340
@ -886,7 +886,7 @@ begin
|
||||
end
|
||||
else if Copy(More,1,1) = 'x' then
|
||||
begin
|
||||
Assign(xmloutput,Copy(More,2,length(More)-1));
|
||||
Assign(xmloutput,Copy(More,2));
|
||||
Rewrite(xmloutput);
|
||||
WriteLn(xmloutput,'<?xml version="1.0" encoding="utf-8"?>');
|
||||
WriteLn(xmloutput,'<fpcoutput>');
|
||||
@ -2336,7 +2336,7 @@ begin
|
||||
external assembler, it is ignored if internal assembler is used. }
|
||||
'o' :
|
||||
begin
|
||||
asmextraopt:=copy(more,j+1,length(more)-j);
|
||||
asmextraopt:=copy(more,j+1);
|
||||
break;
|
||||
end;
|
||||
'p' :
|
||||
@ -2428,7 +2428,7 @@ begin
|
||||
include(init_settings.localswitches,cs_ieee_errors);
|
||||
'a' :
|
||||
begin
|
||||
s:=upper(copy(more,j+1,length(more)-j));
|
||||
s:=upper(copy(more,j+1));
|
||||
if not(SetAbiType(s,target_info.abi)) then
|
||||
IllegalPara(opt);
|
||||
ABISetExplicitly:=true;
|
||||
@ -2446,7 +2446,7 @@ begin
|
||||
|
||||
'c' :
|
||||
begin
|
||||
if not SetAktProcCall(upper(copy(more,j+1,length(more)-j)),init_settings.defproccall) then
|
||||
if not SetAktProcCall(upper(copy(more,j+1)),init_settings.defproccall) then
|
||||
IllegalPara(opt);
|
||||
break;
|
||||
end;
|
||||
@ -2466,7 +2466,7 @@ begin
|
||||
include(init_settings.localswitches,cs_check_fpu_exceptions);
|
||||
'f' :
|
||||
begin
|
||||
s:=upper(copy(more,j+1,length(more)-j));
|
||||
s:=upper(copy(more,j+1));
|
||||
if not(SetFpuType(s,init_settings.fputype)) then
|
||||
IllegalPara(opt);
|
||||
FPUSetExplicitly:=True;
|
||||
@ -2474,7 +2474,7 @@ begin
|
||||
end;
|
||||
'F' :
|
||||
begin
|
||||
if not SetMinFPConstPrec(copy(more,j+1,length(more)-j),init_settings.minfpconstprec) then
|
||||
if not SetMinFPConstPrec(copy(more,j+1),init_settings.minfpconstprec) then
|
||||
IllegalPara(opt);
|
||||
break;
|
||||
end;
|
||||
@ -2493,7 +2493,7 @@ begin
|
||||
end;
|
||||
'h' :
|
||||
begin
|
||||
l:=pos(',',copy(more,j+1,length(more)-j));
|
||||
l:=pos(',',copy(more,j+1));
|
||||
if l=0 then
|
||||
l:=length(more)-j+1;
|
||||
val(copy(more,j+1,l-1),heapsize,code);
|
||||
@ -2507,7 +2507,7 @@ begin
|
||||
IllegalPara(opt)
|
||||
else if l<=length(more)-j then
|
||||
begin
|
||||
val(copy(more,j+l+1,length(more)),maxheapsize,code);
|
||||
val(copy(more,j+l+1),maxheapsize,code);
|
||||
if code<>0 then
|
||||
IllegalPara(opt)
|
||||
else if (maxheapsize<heapsize) then
|
||||
@ -2526,11 +2526,11 @@ begin
|
||||
{$ifdef arm}
|
||||
'I' :
|
||||
begin
|
||||
if (upper(copy(more,j+1,length(more)-j))='THUMB') and
|
||||
if (upper(copy(more,j+1)='THUMB') and
|
||||
{ does selected CPU really understand thumb? }
|
||||
(init_settings.cputype in cpu_has_thumb) then
|
||||
init_settings.instructionset:=is_thumb
|
||||
else if upper(copy(more,j+1,length(more)-j))='ARM' then
|
||||
else if upper(copy(more,j+1))='ARM' then
|
||||
init_settings.instructionset:=is_arm
|
||||
else
|
||||
IllegalPara(opt);
|
||||
@ -2582,7 +2582,7 @@ begin
|
||||
end;
|
||||
'v':
|
||||
begin
|
||||
init_settings.llvmversion:=llvmversion2enum(copy(More,l+1,length(More)));
|
||||
init_settings.llvmversion:=llvmversion2enum(copy(More,l+1));
|
||||
if init_settings.llvmversion=llvmver_invalid then
|
||||
begin
|
||||
IllegalPara(opt);
|
||||
@ -2620,7 +2620,7 @@ begin
|
||||
include(init_settings.localswitches,cs_check_ordinal_size);
|
||||
'p' :
|
||||
begin
|
||||
s:=upper(copy(more,j+1,length(more)-j));
|
||||
s:=upper(copy(more,j+1));
|
||||
{$ifdef cpucapabilities}
|
||||
{ find first occurrence of + or - }
|
||||
deletepos:=PosCharset(['+','-'],s);
|
||||
@ -2739,7 +2739,7 @@ begin
|
||||
end;
|
||||
's' :
|
||||
begin
|
||||
val(copy(more,j+1,length(more)-j),stacksize,code);
|
||||
val(copy(more,j+1),stacksize,code);
|
||||
if (code<>0)
|
||||
{$ifdef cpu16bitaddr}
|
||||
or (stacksize>=65521)
|
||||
@ -2767,7 +2767,7 @@ begin
|
||||
include(init_settings.moduleswitches,cs_create_smart);
|
||||
'T' :
|
||||
begin
|
||||
if not UpdateTargetSwitchStr(copy(more,j+1,length(more)),init_settings.targetswitches,true) then
|
||||
if not UpdateTargetSwitchStr(copy(more,j+1),init_settings.targetswitches,true) then
|
||||
IllegalPara(opt);
|
||||
break;
|
||||
end;
|
||||
@ -2781,7 +2781,7 @@ begin
|
||||
IllegalPara(opt);
|
||||
'V':
|
||||
begin
|
||||
s:=upper(copy(more,j+1,length(more)-j));
|
||||
s:=upper(copy(more,j+1));
|
||||
if s='GLOBAL-DYNAMIC' then
|
||||
init_settings.tlsmodel:=tlsm_global_dynamic
|
||||
else if s='LOCAL-EXEC' then
|
||||
@ -2822,9 +2822,9 @@ begin
|
||||
if l>0 then
|
||||
begin
|
||||
if cs_support_macro in init_settings.moduleswitches then
|
||||
set_system_macro(hs,Copy(more,l+2,255))
|
||||
set_system_macro(hs,Copy(more,l+2))
|
||||
else
|
||||
set_system_compvar(hs,Copy(more,l+2,255));
|
||||
set_system_compvar(hs,Copy(more,l+2));
|
||||
end
|
||||
else
|
||||
def_system_macro(hs);
|
||||
@ -2844,23 +2844,23 @@ begin
|
||||
'd' :
|
||||
begin
|
||||
include(init_settings.globalswitches,cs_link_deffile);
|
||||
description:=Copy(more,j+1,255);
|
||||
description:=Copy(more,j+1);
|
||||
break;
|
||||
end;
|
||||
'D' :
|
||||
begin
|
||||
datestr:=Copy(more,j+1,255);
|
||||
datestr:=Copy(more,j+1);
|
||||
break;
|
||||
end;
|
||||
'T' :
|
||||
begin
|
||||
timestr:=Copy(more,j+1,255);
|
||||
timestr:=Copy(more,j+1);
|
||||
break;
|
||||
end;
|
||||
'v' :
|
||||
begin
|
||||
include(init_settings.globalswitches,cs_link_deffile);
|
||||
dllversion:=Copy(more,j+1,255);
|
||||
dllversion:=Copy(more,j+1);
|
||||
l:=pos('.',dllversion);
|
||||
dllminor:=0;
|
||||
error:=0;
|
||||
@ -3165,7 +3165,7 @@ begin
|
||||
end;
|
||||
'o' :
|
||||
begin
|
||||
if not UpdateDebugStr(copy(more,j+1,length(more)),init_settings.debugswitches) then
|
||||
if not UpdateDebugStr(copy(more,j+1),init_settings.debugswitches) then
|
||||
IllegalPara(opt);
|
||||
break;
|
||||
end;
|
||||
@ -3361,7 +3361,7 @@ begin
|
||||
include(init_settings.optimizerswitches,cs_opt_size);
|
||||
'p' :
|
||||
begin
|
||||
if not Setoptimizecputype(copy(more,j+1,length(more)),init_settings.optimizecputype) then
|
||||
if not Setoptimizecputype(copy(more,j+1),init_settings.optimizecputype) then
|
||||
begin
|
||||
OptCPUSetExplicitly:=true;
|
||||
{ Give warning for old i386 switches }
|
||||
@ -3375,7 +3375,7 @@ begin
|
||||
end;
|
||||
'o' :
|
||||
begin
|
||||
if not UpdateOptimizerStr(copy(more,j+1,length(more)),init_settings.optimizerswitches) then
|
||||
if not UpdateOptimizerStr(copy(more,j+1),init_settings.optimizerswitches) then
|
||||
IllegalPara(opt);
|
||||
break;
|
||||
end;
|
||||
@ -3395,13 +3395,13 @@ begin
|
||||
Message2(option_obsolete_switch_use_new,'-Ou','-Oouncertain');
|
||||
'w' :
|
||||
begin
|
||||
if not UpdateWpoStr(copy(more,j+1,length(more)),init_settings.dowpoptimizerswitches) then
|
||||
if not UpdateWpoStr(copy(more,j+1),init_settings.dowpoptimizerswitches) then
|
||||
IllegalPara(opt);
|
||||
break;
|
||||
end;
|
||||
'W' :
|
||||
begin
|
||||
if not UpdateWpoStr(copy(more,j+1,length(more)),init_settings.genwpoptimizerswitches) then
|
||||
if not UpdateWpoStr(copy(more,j+1),init_settings.genwpoptimizerswitches) then
|
||||
IllegalPara(opt);
|
||||
break;
|
||||
end;
|
||||
@ -3536,7 +3536,7 @@ begin
|
||||
SetCompileMode('DELPHI',true);
|
||||
'e' :
|
||||
begin
|
||||
SetErrorFlags(copy(more,j+1,length(more)));
|
||||
SetErrorFlags(copy(more,j+1));
|
||||
break;
|
||||
end;
|
||||
'f' :
|
||||
@ -3553,7 +3553,7 @@ begin
|
||||
end
|
||||
else
|
||||
begin
|
||||
if (HandleFeature(upper(copy(more,j,length(more)-j+1)))) then
|
||||
if (HandleFeature(upper(copy(more,j)))) then
|
||||
j:=length(more)
|
||||
else
|
||||
IllegalPara(opt);
|
||||
@ -3710,7 +3710,7 @@ begin
|
||||
{$ifdef UNITALIASES}
|
||||
'a' :
|
||||
begin
|
||||
AddUnitAlias(Copy(More,j+1,255));
|
||||
AddUnitAlias(Copy(More,j+1));
|
||||
break;
|
||||
end;
|
||||
{$endif UNITALIASES}
|
||||
@ -3805,7 +3805,7 @@ begin
|
||||
non relocatable DLL at a specific base address PM }
|
||||
if (length(More)>j) then
|
||||
begin
|
||||
val('$'+Copy(More,j+1,255),imagebase,code);
|
||||
val('$'+Copy(More,j+1),imagebase,code);
|
||||
if code<>0 then
|
||||
IllegalPara(opt);
|
||||
ImageBaseSetExplicity:=true;
|
||||
@ -3859,7 +3859,7 @@ begin
|
||||
begin
|
||||
if (length(More)>j) then
|
||||
begin
|
||||
val(Copy(More,j+1,255),ataritos_exe_flags,code);
|
||||
val(Copy(More,j+1),ataritos_exe_flags,code);
|
||||
if code<>0 then
|
||||
IllegalPara(opt);
|
||||
end
|
||||
@ -3925,7 +3925,7 @@ begin
|
||||
{$if defined(i8086)}
|
||||
if (target_info.system in [system_i8086_msdos,system_i8086_win16,system_i8086_embedded]) then
|
||||
begin
|
||||
case Upper(Copy(More,j+1,255)) of
|
||||
case Upper(Copy(More,j+1)) of
|
||||
'TINY': init_settings.x86memorymodel:=mm_tiny;
|
||||
'SMALL': init_settings.x86memorymodel:=mm_small;
|
||||
'MEDIUM': init_settings.x86memorymodel:=mm_medium;
|
||||
@ -3944,7 +3944,7 @@ begin
|
||||
'M':
|
||||
begin
|
||||
if (target_info.system in (systems_darwin-[system_i386_iphonesim,system_arm_ios,system_aarch64_ios,system_x86_64_iphonesim,system_aarch64_iphonesim])) and
|
||||
ParseMacVersionMin(MacOSXVersionMin,iPhoneOSVersionMin,'MAC_OS_X_VERSION_MIN_REQUIRED',copy(More,2,255),false) then
|
||||
ParseMacVersionMin(MacOSXVersionMin,iPhoneOSVersionMin,'MAC_OS_X_VERSION_MIN_REQUIRED',copy(More,2),false) then
|
||||
begin
|
||||
break;
|
||||
end
|
||||
@ -3968,7 +3968,7 @@ begin
|
||||
if ((target_info.system in systems_embedded) or (target_info.system in systems_freertos)) and
|
||||
ControllerSupport then
|
||||
begin
|
||||
s:=upper(copy(more,j+1,length(more)-j));
|
||||
s:=upper(copy(more,j+1));
|
||||
if not(SetControllerType(s,init_settings.controllertype)) then
|
||||
IllegalPara(opt)
|
||||
else
|
||||
@ -3988,13 +3988,13 @@ begin
|
||||
'P':
|
||||
begin
|
||||
if (target_info.system in [system_i386_iphonesim,system_arm_ios,system_aarch64_ios,system_x86_64_iphonesim,system_aarch64_iphonesim]) and
|
||||
ParseMacVersionMin(iPhoneOSVersionMin,MacOSXVersionMin,'IPHONE_OS_VERSION_MIN_REQUIRED',copy(More,2,255),true) then
|
||||
ParseMacVersionMin(iPhoneOSVersionMin,MacOSXVersionMin,'IPHONE_OS_VERSION_MIN_REQUIRED',copy(More,2),true) then
|
||||
begin
|
||||
break;
|
||||
end
|
||||
{$ifdef XTENSA}
|
||||
else if (target_info.system in [system_xtensa_freertos]) and
|
||||
ParseVersionStr(idf_version,'IDF_VERSION',copy(More,2,255)) then
|
||||
ParseVersionStr(idf_version,'IDF_VERSION',copy(More,2)) then
|
||||
begin
|
||||
break;
|
||||
end
|
||||
@ -4014,7 +4014,7 @@ begin
|
||||
begin
|
||||
if (target_info.system in [system_m68k_sinclairql]) then
|
||||
begin
|
||||
sinclairql_metadata_format:=Upper(Copy(More,j+1,255));
|
||||
sinclairql_metadata_format:=Upper(Copy(More,j+1));
|
||||
case sinclairql_metadata_format of
|
||||
'QHDR', 'XTCC': ; { allowed formats }
|
||||
else
|
||||
@ -4042,7 +4042,7 @@ begin
|
||||
{$if defined(i8086)}
|
||||
if (target_info.system in [system_i8086_msdos,system_i8086_embedded]) then
|
||||
begin
|
||||
case Upper(Copy(More,j+1,255)) of
|
||||
case Upper(Copy(More,j+1)) of
|
||||
'EXE': SetAppType(app_cui);
|
||||
'COM': SetAppType(app_com);
|
||||
else
|
||||
@ -4055,7 +4055,7 @@ begin
|
||||
{$if defined(m68k)}
|
||||
if (target_info.system in [system_m68k_atari]) then
|
||||
begin
|
||||
case Upper(Copy(More,j+1,255)) of
|
||||
case Upper(Copy(More,j+1)) of
|
||||
'TOS': ataritos_exe_format := 'ataritos';
|
||||
'MINT': ataritos_exe_format := 'aoutmint';
|
||||
else
|
||||
@ -4177,7 +4177,7 @@ begin
|
||||
case more[j+1] of
|
||||
'S':
|
||||
begin
|
||||
llvmutilssuffix:=copy(more,j+2,length(more));
|
||||
llvmutilssuffix:=copy(more,j+2);
|
||||
j:=length(more);
|
||||
end
|
||||
else
|
||||
@ -4198,7 +4198,7 @@ begin
|
||||
begin
|
||||
if (target_info.system in suppported_targets_x_smallr) then
|
||||
begin
|
||||
rlinkpath:=Copy(more,2,length(More)-1);
|
||||
rlinkpath:=Copy(more,2);
|
||||
DefaultReplacements(rlinkpath);
|
||||
end
|
||||
else
|
||||
@ -4207,7 +4207,7 @@ begin
|
||||
end;
|
||||
'R' :
|
||||
begin
|
||||
sysrootpath:=copy(more,2,length(more)-1);
|
||||
sysrootpath:=copy(more,2);
|
||||
defaultreplacements(sysrootpath);
|
||||
more:='';
|
||||
end;
|
||||
@ -4251,12 +4251,12 @@ begin
|
||||
end;
|
||||
'M' :
|
||||
begin
|
||||
mainaliasname:=Copy(more,2,length(More)-1);
|
||||
mainaliasname:=Copy(more,2);
|
||||
More:='';
|
||||
end;
|
||||
'P' :
|
||||
begin
|
||||
utilsprefix:=Copy(more,2,length(More)-1);
|
||||
utilsprefix:=Copy(more,2);
|
||||
DefaultReplacements(utilsprefix);
|
||||
More:='';
|
||||
end;
|
||||
@ -4268,12 +4268,12 @@ begin
|
||||
begin
|
||||
case more[j+1] of
|
||||
'A' : begin
|
||||
s:=Copy(more,3,length(More)-2);
|
||||
s:=Copy(more,3);
|
||||
if not LinkLibraryAliases.AddDep(s) Then
|
||||
IllegalPara(opt);
|
||||
end;
|
||||
'O' : begin
|
||||
s:=Copy(more,3,length(More)-2);
|
||||
s:=Copy(more,3);
|
||||
if not LinkLibraryOrder.AddWeight(s) Then
|
||||
IllegalPara(opt);
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user