--  { dg-do run }
procedure Null_Check with SPARK_Mode is
   type Int_Ptr is access Integer;
   subtype Not_Null_Int_Ptr is not null Int_Ptr;
   procedure Set_To_Null (X : out Int_Ptr) with Global => null is
   begin
      X := null;
   end Set_To_Null;
   X : Not_Null_Int_Ptr := new Integer'(12);
begin
   Set_To_Null (X);
   raise Program_Error;
exception
   when Constraint_Error =>
      null;
end Null_Check;