{$mode macpas}
{$B-}
program test;

type
  IntegerPtr = ^Integer;

var
  gi: Integer;

procedure A( procedure pp( p: univ Pointer));
begin
  pp( @gi)
end;

procedure B( p: IntegerPtr);
begin
  if ( p = nil) or ( p^ <> 12345) then halt( 1)
end;

begin
  gi := 12345;
  A( B)
end.