OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gnat.dg/] [invalid1.adb] - Rev 801

Go to most recent revision | Compare with Previous | Blame | View Log

-- { dg-do run }
-- { dg-options "-gnatws -gnatVa" }
 
pragma Initialize_Scalars;
 
procedure Invalid1 is
 
  X : Boolean;
  A : Boolean := False;
 
  procedure Uninit (B : out Boolean) is
  begin
    if A then
      B := True;
      raise Program_Error;
    end if;
  end;
 
begin
 
  -- first, check that initialize_scalars is enabled
  begin
    if X then
      A := False;
    end if;
    raise Program_Error;
  exception
    when Constraint_Error => null;
  end;
 
  -- second, check if copyback of an invalid value raises constraint error
  begin
    Uninit (A);
    if A then
      -- we expect constraint error in the 'if' above according to gnat ug:
      -- ....
      -- call.  Note that there is no specific option to test `out'
      -- parameters, but any reference within the subprogram will be tested
      -- in the usual manner, and if an invalid value is copied back, any
      -- reference to it will be subject to validity checking.
      -- ...
      raise Program_Error;
    end if;
    raise Program_Error;
  exception
    when Constraint_Error => null;
  end;
 
end;
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.