codetools: fixed parsing $IFOpt if option is not defined

git-svn-id: branches/fixes_2_0@59915 -
This commit is contained in:
mattias 2018-12-27 13:49:32 +00:00
parent 831731d4ad
commit 01584fa8d4

View File

@ -4198,6 +4198,7 @@ end;
function TLinkScanner.IfOptDirective: boolean;
// {$ifopt o+} or {$ifopt o-}
var Option, c: char;
v: String;
begin
inc(IfLevel);
if StoreDirectives then
@ -4212,7 +4213,8 @@ begin
if (SrcPos<=SrcLen) then begin
c:=Src[SrcPos];
if c in ['+','-'] then begin
if (c='-')<>(Values.Variables[CompilerSwitchesNames[Option]]='0') then
v:=Values.Variables[CompilerSwitchesNames[Option]];
if (c='-')<>((v='0') or (v='')) then
begin
SkipTillEndifElse(lssdTillElse);
exit;