URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 154 |
Rev 816 |
-- { dg-do run }
|
-- { dg-do run }
|
-- { dg-options "-O2" }
|
-- { dg-options "-O2" }
|
|
|
procedure self_aggregate_with_call is
|
procedure self_aggregate_with_call is
|
|
|
type Values is array (1 .. 8) of Natural;
|
type Values is array (1 .. 8) of Natural;
|
|
|
type Vector is record
|
type Vector is record
|
Components : Values;
|
Components : Values;
|
end record;
|
end record;
|
|
|
function Clone (Components: Values) return Values is
|
function Clone (Components: Values) return Values is
|
begin
|
begin
|
return Components;
|
return Components;
|
end;
|
end;
|
|
|
procedure Process (V : in out Vector) is
|
procedure Process (V : in out Vector) is
|
begin
|
begin
|
V.Components (Values'First) := 1;
|
V.Components (Values'First) := 1;
|
V := (Components => Clone (V.Components));
|
V := (Components => Clone (V.Components));
|
|
|
if V.Components (Values'First) /= 1 then
|
if V.Components (Values'First) /= 1 then
|
raise Program_Error;
|
raise Program_Error;
|
end if;
|
end if;
|
end;
|
end;
|
|
|
V : Vector;
|
V : Vector;
|
begin
|
begin
|
Process (V);
|
Process (V);
|
end;
|
end;
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.