Use NO prefix to disable a feature (-Sfnoheap) instead of '-' prefix

git-svn-id: trunk@34018 -
This commit is contained in:
pierre 2016-06-25 05:27:09 +00:00
parent 270a574d6a
commit 13076a3580
2 changed files with 12 additions and 10 deletions

View File

@ -555,7 +555,7 @@ interface
function Setcputype(const s:string;var a:tsettings):boolean;
function SetFpuType(const s:string;var a:tfputype):boolean;
function SetControllerType(const s:string;var a:tcontrollertype):boolean;
function IncludeFeature(const s : string) : boolean;
function HandleFeature(const s : string) : boolean;
function SetMinFPConstPrec(const s: string; var a: tfloattype) : boolean;
{# Routine to get the required alignment for size of data, which will
@ -1232,7 +1232,7 @@ implementation
end;
function IncludeFeature(const s : string) : boolean;
function HandleFeature(const s : string) : boolean;
var
i : tfeature;
begin
@ -1243,6 +1243,14 @@ implementation
include(features,i);
exit;
end;
{ Also support -Sfnoheap to exclude heap }
if Copy(S,1,2)='NO' then
for i:=low(tfeature) to high(tfeature) do
if s='NO'+featurestr[i] then
begin
exclude(features,i);
exit;
end;
result:=false;
end;

View File

@ -1953,19 +1953,13 @@ begin
if more[j]='-' then
begin
if length(more)>j then
begin
inc(j);
if (ExcludeFeature(upper(copy(more,j,length(more)-j+1)))) then
j:=length(more)
else
IllegalPara(opt);
end
IllegalPara(opt)
else
features:=[];
end
else
begin
if (IncludeFeature(upper(copy(more,j,length(more)-j+1)))) then
if (HandleFeature(upper(copy(more,j,length(more)-j+1)))) then
j:=length(more)
else
IllegalPara(opt);