First, I want to say things are starting to looking very promising. With that said, I have noticed an issue when attempting to examine a pascal variant record in the debugger.
If the variant record support falls into the schema issues mentioned in the release notes, then please ignore this.
Code: Select all
program test2(input, output);
type
device_type_def = (device_a, device_b);
device_entry_def = record
case device_type : device_type_def of
device_a : ( field_1 : packed array [1..6] of char;
field_2 : integer );
device_b : ( );
end;
device_array_def = array [1..16] of device_entry_def;
procedure add_device( var device : device_array_def;
idx : integer );
begin
device[idx].field_1 := '123456';
device[idx].field_2 := idx;
end;
var
devices : device_array_def := zero;
begin
add_device( devices, 1);
end.
$pas/noopt/debug test2
$link/debug test2
When you run it in debug mode, do the following:
1) set break add_device
2) go
3) set mode screen (first error will appear)
%DEBUG-W-SCRNOSRCLIN, No source line for address: 0000000080000004
4) step, and the actual source code will appear.
5) examine device
%DEBUG-E-NOSYMBOL, symbol 'DEVICE' is not in the symbol table
The fact that device is not in the symbol table is the real issue.
Rod