Commit 9b1baeef by Mike Stump Committed by Mike Stump

discr38.adb: Don't use ^M line endings.

2012-12-07  Mike Stump  <mikestump@comcast.net>

	    * gnat.dg/discr38.adb: Don't use ^M line endings.
	    gnat.dg/loop_optimization13.adb: Likewise.
	    gnat.dg/loop_optimization13.ads: Likewise.
	    gnat.dg/discr36_pkg.adb: Likewise.
	    gnat.dg/discr36_pkg.ads: Likewise.
	    gnat.dg/loop_optimization11_pkg.ads: Likewise.
	    gnat.dg/discr36.ads: Likewise.
	    gnat.dg/loop_optimization11.adb: Likewise.

From-SVN: r194309
parent 9011b0f6
2012-12-07 Mike Stump <mikestump@comcast.net>
* gnat.dg/discr38.adb: Don't use ^M line endings.
gnat.dg/loop_optimization13.adb: Likewise.
gnat.dg/loop_optimization13.ads: Likewise.
gnat.dg/discr36_pkg.adb: Likewise.
gnat.dg/discr36_pkg.ads: Likewise.
gnat.dg/loop_optimization11_pkg.ads: Likewise.
gnat.dg/discr36.ads: Likewise.
gnat.dg/loop_optimization11.adb: Likewise.
2012-12-07 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/55141
......
package Discr36 is
type R (D : Boolean := True) is record
case D is
when True => I : Integer;
when False => null;
end case;
end record;
function N return Natural;
end Discr36;
package Discr36 is
type R (D : Boolean := True) is record
case D is
when True => I : Integer;
when False => null;
end case;
end record;
function N return Natural;
end Discr36;
package body Discr36_Pkg is
function Func return T is
Ret : T;
pragma Warnings (Off, Ret);
begin
return Ret;
end;
end Discr36_Pkg;
package body Discr36_Pkg is
function Func return T is
Ret : T;
pragma Warnings (Off, Ret);
begin
return Ret;
end;
end Discr36_Pkg;
package Discr36_Pkg is
generic
type T is private;
function Func return T;
end Discr36_Pkg;
package Discr36_Pkg is
generic
type T is private;
function Func return T;
end Discr36_Pkg;
-- { dg-do compile }
procedure Discr38 is
type Enum is (OK,
NOT_CONNECTED,
DISCONNECTED,
REQUEST_Q_EMPTY,
SERVER_UNAVAILABLE,
BUFFER_TOO_SMALL,
NO_FREE_SLOT,
RAISE_EXCEPTION,
REQUEST_CANCELLED,
REQUEST_IN_PROGRESS,
SERVER_BUSY,
BLOCK_ACKNOWLEDGE);
type R (Status : Enum := OK) is record
Status_Block : Integer;
case Status is
when RAISE_EXCEPTION =>
I : Integer;
when OK =>
Length : Natural;
Data : Integer;
when others =>
null;
end case;
end record;
for R use record
Status at 0 range 0 .. 7;
Status_Block at 4 range 0 .. 31;
Length at 8 range 0 .. 31;
end record;
Nil : constant R := (OK, 1, 0, 1);
begin
null;
end;
-- { dg-do compile }
procedure Discr38 is
type Enum is (OK,
NOT_CONNECTED,
DISCONNECTED,
REQUEST_Q_EMPTY,
SERVER_UNAVAILABLE,
BUFFER_TOO_SMALL,
NO_FREE_SLOT,
RAISE_EXCEPTION,
REQUEST_CANCELLED,
REQUEST_IN_PROGRESS,
SERVER_BUSY,
BLOCK_ACKNOWLEDGE);
type R (Status : Enum := OK) is record
Status_Block : Integer;
case Status is
when RAISE_EXCEPTION =>
I : Integer;
when OK =>
Length : Natural;
Data : Integer;
when others =>
null;
end case;
end record;
for R use record
Status at 0 range 0 .. 7;
Status_Block at 4 range 0 .. 31;
Length at 8 range 0 .. 31;
end record;
Nil : constant R := (OK, 1, 0, 1);
begin
null;
end;
-- { dg-do compile }
-- { dg-options "-O" }
with Loop_Optimization11_Pkg; use Loop_Optimization11_Pkg;
procedure Loop_Optimization11 is
Arr : array (Prot, Mem) of Integer := (others => (others => 0));
begin
Put_Line (Img (0) & " ");
for I in Arr'Range (1) loop
for J in Arr'Range (2) loop
declare
Elem : Integer renames Arr (I, J);
begin
Put_Line (Img (Elem));
end;
end loop;
end loop;
end;
-- { dg-do compile }
-- { dg-options "-O" }
with Loop_Optimization11_Pkg; use Loop_Optimization11_Pkg;
procedure Loop_Optimization11 is
Arr : array (Prot, Mem) of Integer := (others => (others => 0));
begin
Put_Line (Img (0) & " ");
for I in Arr'Range (1) loop
for J in Arr'Range (2) loop
declare
Elem : Integer renames Arr (I, J);
begin
Put_Line (Img (Elem));
end;
end loop;
end loop;
end;
package Loop_Optimization11_Pkg is
function Img (X : Integer) return String;
procedure Put_Line (Data : String);
type Prot is (Execute, Execute_Read, Execute_Read_Write);
type Mem is (Mem_Image, Mem_Mapped, Mem_Private, Unknown);
end Loop_Optimization11_Pkg;
package Loop_Optimization11_Pkg is
function Img (X : Integer) return String;
procedure Put_Line (Data : String);
type Prot is (Execute, Execute_Read, Execute_Read_Write);
type Mem is (Mem_Image, Mem_Mapped, Mem_Private, Unknown);
end Loop_Optimization11_Pkg;
-- { dg-do compile }
-- { dg-options "-O" }
with Loop_Optimization13_Pkg; use Loop_Optimization13_Pkg;
package body Loop_Optimization13 is
function F (A : Rec) return Rec is
N : constant Integer := A.V'Length / L;
Res : Rec
:= (True, new Complex_Vector' (0 .. A.V'Length / L - 1 => (0.0, 0.0)));
begin
for I in 0 .. L - 1 loop
for J in 0 .. N - 1 loop
Res.V (J) := Res.V (J) + A.V (I * N + J);
end loop;
end loop;
return Res;
end;
end Loop_Optimization13;
-- { dg-do compile }
-- { dg-options "-O" }
with Loop_Optimization13_Pkg; use Loop_Optimization13_Pkg;
package body Loop_Optimization13 is
function F (A : Rec) return Rec is
N : constant Integer := A.V'Length / L;
Res : Rec
:= (True, new Complex_Vector' (0 .. A.V'Length / L - 1 => (0.0, 0.0)));
begin
for I in 0 .. L - 1 loop
for J in 0 .. N - 1 loop
Res.V (J) := Res.V (J) + A.V (I * N + J);
end loop;
end loop;
return Res;
end;
end Loop_Optimization13;
with Ada.Numerics.Complex_Types; use Ada.Numerics.Complex_Types;
package Loop_Optimization13 is
type Complex_Vector is array (Integer range <>) of Complex;
type Complex_Vector_Ptr is access Complex_Vector;
type Rec (Kind : Boolean := False) is record
case Kind is
when True => V : Complex_Vector_Ptr;
when False => null;
end case;
end record;
function F (A : Rec) return Rec;
end Loop_Optimization13;
with Ada.Numerics.Complex_Types; use Ada.Numerics.Complex_Types;
package Loop_Optimization13 is
type Complex_Vector is array (Integer range <>) of Complex;
type Complex_Vector_Ptr is access Complex_Vector;
type Rec (Kind : Boolean := False) is record
case Kind is
when True => V : Complex_Vector_Ptr;
when False => null;
end case;
end record;
function F (A : Rec) return Rec;
end Loop_Optimization13;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment