From f9235938b47414fd8246849ab059b2f3c67cf85f Mon Sep 17 00:00:00 2001 From: florian Date: Sat, 11 Nov 2006 21:37:09 +0000 Subject: [PATCH] * storing/restoring of settings when doing a specialization git-svn-id: trunk@5336 - --- compiler/scanner.pas | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/scanner.pas b/compiler/scanner.pas index db6e612f30..7de1663dca 100644 --- a/compiler/scanner.pas +++ b/compiler/scanner.pas @@ -88,6 +88,9 @@ interface replaysavetoken : ttoken; replaytokenbuf, recordtokenbuf : tdynamicarray; + + { old settings, i.e. settings specialization was started } + old_settings, { last settings we stored } last_settings : tsettings; @@ -1913,6 +1916,7 @@ In case not, the value returned can be arbitrary. if token in [_CWCHAR,_CWSTRING,_CCHAR,_CSTRING,_INTCONST,_REALNUMBER,_ID] then internalerror(200511178); replaysavetoken:=token; + old_settings:=current_settings; if assigned(inputpointer) then dec(inputpointer); { install buffer } @@ -1941,6 +1945,8 @@ In case not, the value returned can be arbitrary. inc(inputpointer); end; token:=replaysavetoken; + { restore compiler settings } + current_settings:=old_settings; exit; end; repeat