Hello:
gpc --classic-pascal compiles the following without error:
procedure test; type  xHandle            = ^xRecord;  xRecord            = record                        field1  : integer;                       end; var  a                  : integer;
 function b         : xHandle;  var  c                 : xHandle;  begin  b                 := c;  end; begin  a                  := b^.field1; end;
Is this 7185 compliant?
The right hand side of the assignment is a 6.7.3 function-designator rule :
     function-designator = function-identifier [ actual-parameter-list ] .
followed by "^."
I can not see how the grammar permits the following pointer and record accesses.
Thank you,
Paul Isaacs