(root)/
gcc-13.2.0/
gcc/
testsuite/
gnat.dg/
limited_with4.adb
-- { dg-do compile }

with Limited_With4_Pkg;

package body Limited_With4 is

  procedure Proc1 (A : Limited_With4_Pkg.Rec12 ; I : Integer) is
  begin
    if A.R.I /= I then
      raise Program_Error;
    end if;
  end;

  function Func1 (I : Integer) return Limited_With4_Pkg.Rec12 is
  begin
    return (I => I, R => (I => I));
  end;

  procedure Proc2 (A : Limited_With4_Pkg.Rec22 ; I : Integer) is
  begin
    if A.R.I /= I then
      raise Program_Error;
    end if;
  end;

  function Func2 (I : Integer) return Limited_With4_Pkg.Rec22 is
  begin
    return (I => I, R => (I => I));
  end;

  procedure Proc3 (A : Limited_With4_Pkg.Rec12 ; B : Limited_With4_Pkg.Rec22) is
  begin
    if A.R.I /= B.R.I then
      raise Program_Error;
    end if;
  end;

  function Func3 (A : Limited_With4_Pkg.Rec12) return Limited_With4_Pkg.Rec22 is
  begin
    return (I => A.R.I, R => (I => A.R.I));
  end;

end Limited_With4;