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

package body No_Caching with SPARK_Mode is
   Status : Boolean;

   procedure Handle (V : Mult_Bit_Boolean) is
      Ret_Val : Mult_Bit_Boolean := V with Volatile, No_Caching;
   begin
      if (Ret_Val = NV_TRUE) then
         Do_Something;
      elsif (Ret_Val = NV_FALSE) then
         Do_Something_Else;
      else
         null;
         -- Fault inject detected. Take punitive action
      end if;
   end Handle;

   procedure Do_Something is
   begin
      Status := True;
   end Do_Something;

   procedure Do_Something_Else is
   begin
      Status := False;
   end Do_Something_Else;

end No_Caching;