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

package body Global
  with Refined_State => (State => Constit)
is
   Constit : Integer := 123;

   protected body Prot_Typ is
      procedure Force_Body is null;

      procedure Aspect_On_Spec
        with Global => (Input => Constit);
      procedure Aspect_On_Spec is null;

      procedure Aspect_On_Body
        with Global => (Input => Constit)
      is begin null; end Aspect_On_Body;

      procedure Pragma_On_Spec;
      pragma Global ((Input => Constit));
      procedure Pragma_On_Spec is null;

      procedure Pragma_On_Body is
         pragma Global ((Input => Constit));
      begin null; end Pragma_On_Body;
   end Prot_Typ;

   protected body Prot_Obj is
      procedure Force_Body is null;

      procedure Aspect_On_Spec
        with Global => (Input => Constit);
      procedure Aspect_On_Spec is null;

      procedure Aspect_On_Body
        with Global => (Input => Constit)
      is begin null; end Aspect_On_Body;

      procedure Pragma_On_Spec;
      pragma Global ((Input => Constit));
      procedure Pragma_On_Spec is null;

      procedure Pragma_On_Body is
         pragma Global ((Input => Constit));
      begin null; end Pragma_On_Body;
   end Prot_Obj;

   task body Task_Typ is
      procedure Aspect_On_Spec
        with Global => (Input => Constit);
      procedure Aspect_On_Spec is null;

      procedure Aspect_On_Body
        with Global => (Input => Constit)
      is begin null; end Aspect_On_Body;

      procedure Pragma_On_Spec;
      pragma Global ((Input => Constit));
      procedure Pragma_On_Spec is null;

      procedure Pragma_On_Body is
         pragma Global ((Input => Constit));
      begin null; end Pragma_On_Body;
   begin
      accept Force_Body;
   end Task_Typ;

   task body Task_Obj is
      procedure Aspect_On_Spec
        with Global => (Input => Constit);
      procedure Aspect_On_Spec is null;

      procedure Aspect_On_Body
        with Global => (Input => Constit)
      is begin null; end Aspect_On_Body;

      procedure Pragma_On_Spec;
      pragma Global ((Input => Constit));
      procedure Pragma_On_Spec is null;

      procedure Pragma_On_Body is
         pragma Global ((Input => Constit));
      begin null; end Pragma_On_Body;
   begin
      accept Force_Body;
   end Task_Obj;
end Global;