mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-09 01:48:03 +02:00
FpDebug: fix typecast/deref for generated-pointer-type "^Foo($1234)", for signed values.
git-svn-id: trunk@62810 -
This commit is contained in:
parent
ab7cad1fc8
commit
1f69cf465e
@ -637,7 +637,7 @@ end;
|
||||
|
||||
function TFpPasParserValueCastToPointer.GetFieldFlags: TFpValueFieldFlags;
|
||||
begin
|
||||
if (FValue.FieldFlags * [svfAddress, svfCardinal] <> [])
|
||||
if (FValue.FieldFlags * [svfAddress, svfOrdinal] <> [])
|
||||
then
|
||||
Result := [svfOrdinal, svfCardinal, svfSizeOfPointer, svfDataAddress]
|
||||
else
|
||||
@ -655,7 +655,7 @@ var
|
||||
begin
|
||||
Result := 0;
|
||||
f := FValue.FieldFlags;
|
||||
if svfCardinal in f then
|
||||
if svfOrdinal in f then
|
||||
Result := FValue.AsCardinal
|
||||
else
|
||||
if svfAddress in f then begin
|
||||
|
@ -1782,6 +1782,11 @@ StartIdx := t.Count; // tlConst => Only eval the watch. No tests
|
||||
if p='gv' then
|
||||
t.Add(AName, 'PTxWord(gvp_'+'Word'+e+')^', weCardinal(100+n, 'TxWord', 2));
|
||||
|
||||
t.Add(AName, 'PTxWord($'+IntToHex(StrToInt64Def(val, 0), 8)+')^', weCardinal(100+n, 'TxWord', 2));
|
||||
t.Add(AName, '^TxWord('+val+')^', weCardinal(100+n, 'TxWord', 2));
|
||||
t.Add(AName, '^TxWord($'+IntToHex(StrToInt64Def(val, 0), 8)+')^', weCardinal(100+n, 'TxWord', 2));
|
||||
|
||||
|
||||
val := t2.Tests[6]^.TstWatch.Values[Thread, 0].Value;
|
||||
t.Add(AName, 'PTxFiveRec(@'+p+'FiveRec'+e+')^', weMatch('a *=.*b *= *44',skRecord));
|
||||
t.Add(AName, 'PTxFiveRec('+val+')^', weMatch('a *=.*b *= *44',skRecord));
|
||||
@ -1885,6 +1890,11 @@ begin
|
||||
//t.CheckResults;
|
||||
|
||||
t.Clear;
|
||||
t.Add('pbyte(0)', 'pbyte(0)', wePointerAddr(nil, 'PByte'));
|
||||
t.Add('pbyte($0)', 'pbyte($0)', wePointerAddr(nil, 'PByte'));
|
||||
t.Add('^byte(0)', '^byte(0)', wePointerAddr(nil, '^Byte'));
|
||||
t.Add('^byte($0)', '^byte($0)', wePointerAddr(nil, '^Byte'));
|
||||
|
||||
AddWatchesConv(t, 'glob const', 'gc', 000, 'A', tlConst);
|
||||
AddWatchesConv(t, 'glob var', 'gv', 001, 'B');
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user