diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-01-10 14:10:52 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-01-10 14:10:52 +0000 |
commit | ed1a5439381f7e8c436d98d0a5b082be82af7a4a (patch) | |
tree | 27968dde5e7ff78e6d7c78b6705b4a1c589a640d | |
parent | 2aec889b784e2e3fd23080b015bacca7d5cb418a (diff) | |
download | fpc-ed1a5439381f7e8c436d98d0a5b082be82af7a4a.tar.gz |
--- Merging r44096 into '.':
U compiler/nbas.pas
--- Recording mergeinfo for merge of r44096 into '.':
U .
--- Merging r46274 into '.':
G compiler/nbas.pas
--- Recording mergeinfo for merge of r46274 into '.':
G .
--- Merging r48127 into '.':
A tests/webtbs/tw38337.pp
--- Recording mergeinfo for merge of r48127 into '.':
G .
git-svn-id: https://svn.freepascal.org/svn/fpc/branches/fixes_3_2@48128 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | compiler/nbas.pas | 15 | ||||
-rw-r--r-- | tests/webtbs/tw38337.pp | 20 |
2 files changed, 34 insertions, 1 deletions
diff --git a/compiler/nbas.pas b/compiler/nbas.pas index f2803b938e..c31b5324a9 100644 --- a/compiler/nbas.pas +++ b/compiler/nbas.pas @@ -176,7 +176,7 @@ interface ttempinfoflags = set of ttempinfoflag; const - tempinfostoreflags = [ti_may_be_in_reg,ti_addr_taken,ti_reference,ti_readonly,ti_no_final_regsync]; + tempinfostoreflags = [ti_may_be_in_reg,ti_addr_taken,ti_reference,ti_readonly,ti_no_final_regsync,ti_nofini,ti_const]; type { to allow access to the location by temp references even after the temp has } @@ -1101,10 +1101,23 @@ implementation procedure ttempcreatenode.printnodedata(var t:text); + var + f: ttempinfoflag; + first: Boolean; begin inherited printnodedata(t); writeln(t,printnodeindention,'size = ',size,', temptypedef = ',tempinfo^.typedef.typesymbolprettyname,' = "', tempinfo^.typedef.GetTypeName,'", tempinfo = $',hexstr(ptrint(tempinfo),sizeof(ptrint)*2)); + write(t,printnodeindention,'['); + first:=true; + for f in tempflags do + begin + if not(first) then + write(t,','); + write(t,f); + first:=false; + end; + writeln(t,']'); writeln(t,printnodeindention,'tempinit ='); printnode(t,tempinfo^.tempinitcode); end; diff --git a/tests/webtbs/tw38337.pp b/tests/webtbs/tw38337.pp new file mode 100644 index 0000000000..7d461ddfa9 --- /dev/null +++ b/tests/webtbs/tw38337.pp @@ -0,0 +1,20 @@ +program fs; + +{$mode objfpc}{$H+} + +function UTF8Length(const s: string): PtrInt; inline; +begin + Result:=9; +end; + + +var + v1: string; + s: shortstring; + i: Integer; +begin + v1 := '123456789'; + s := v1; + for i := 1 to UTF8Length(s)-8 do begin + end; +end. |