* g++.dg/cpp0x/udlit-raw-op.C: Don't use CRLF endings.
* gcc.dg/tree-ssa/vrp59.c: Likewise.
* gcc.dg/tree-ssa/vrp60.c: Likewise.
+ * gnat.dg/aggr11.adb: Likewise.
+ * gnat.dg/aggr11_pkg.ads: Likewise.
+ * gnat.dg/aggr15.adb: Likewise.
+ * gnat.dg/aggr15.ads: Likewise.
+ * gnat.dg/aggr17.adb: Likewise.
+ * gnat.dg/aggr18.adb: Likewise.
+ * gnat.dg/array14.adb: Likewise.
+ * gnat.dg/array14.ads: Likewise.
+ * gnat.dg/array14_pkg.ads: Likewise.
+ * gnat.dg/array19.adb: Likewise.
+ * gnat.dg/array19.ads: Likewise.
+ * gnat.dg/discr27.adb: Likewise.
+ * gnat.dg/discr27.ads: Likewise.
+ * gnat.dg/discr35.adb: Likewise.
+ * gnat.dg/discr35.ads: Likewise.
+ * gnat.dg/discr6.adb: Likewise.
+ * gnat.dg/discr6_pkg.ads: Likewise.
+ * gnat.dg/import1.adb: Likewise.
+ * gnat.dg/import1.ads: Likewise.
+ * gnat.dg/loop_address2.adb: Likewise.
+ * gnat.dg/opt7.adb: Likewise.
+ * gnat.dg/opt7.ads: Likewise.
+ * gnat.dg/pointer_variable_bounds.adb: Likewise.
+ * gnat.dg/pointer_variable_bounds.ads: Likewise.
+ * gnat.dg/rep_clause2.adb: Likewise.
+ * gnat.dg/rep_clause2.ads: Likewise.
+ * gnat.dg/slice2.adb: Likewise.
+ * gnat.dg/slice2.ads: Likewise.
+ * gnat.dg/slice6.adb: Likewise.
+ * gnat.dg/slice6_pkg.ads: Likewise.
+ * gnat.dg/specs/unchecked_union2.ads: Likewise.
+ * gnat.dg/taft_type2.adb: Likewise.
+ * gnat.dg/taft_type2.ads: Likewise.
+ * gnat.dg/taft_type2_pkg.ads: Likewise.
+ * gnat.dg/volatile10.adb: Likewise.
+ * gnat.dg/volatile10_pkg.ads: Likewise.
* gcc.dg/dll-8.c: Remove execute permissions.
* g++.dg/ext/dllexport5.C: Likewise.
--- { dg-do compile }\r
--- { dg-options "-O" }\r
-\r
-with Aggr11_Pkg; use Aggr11_Pkg;\r
-\r
-procedure Aggr11 is\r
-\r
- A : Arr := ((1 => (Kind => No_Error, B => True),\r
- 2 => (Kind => Error),\r
- 3 => (Kind => Error),\r
- 4 => (Kind => No_Error, B => True),\r
- 5 => (Kind => No_Error, B => True),\r
- 6 => (Kind => No_Error, B => True)));\r
-\r
-begin\r
- null;\r
-end;\r
+-- { dg-do compile }
+-- { dg-options "-O" }
+
+with Aggr11_Pkg; use Aggr11_Pkg;
+
+procedure Aggr11 is
+
+ A : Arr := ((1 => (Kind => No_Error, B => True),
+ 2 => (Kind => Error),
+ 3 => (Kind => Error),
+ 4 => (Kind => No_Error, B => True),
+ 5 => (Kind => No_Error, B => True),
+ 6 => (Kind => No_Error, B => True)));
+
+begin
+ null;
+end;
-package Aggr11_Pkg is\r
-\r
- type Error_Type is (No_Error, Error);\r
-\r
- type Rec (Kind : Error_Type := No_Error) is record\r
- case Kind is\r
- when Error => null;\r
- when others => B : Boolean;\r
- end case;\r
- end record;\r
-\r
- type Arr is array (1..6) of Rec;\r
-\r
-end Aggr11_Pkg;\r
+package Aggr11_Pkg is
+
+ type Error_Type is (No_Error, Error);
+
+ type Rec (Kind : Error_Type := No_Error) is record
+ case Kind is
+ when Error => null;
+ when others => B : Boolean;
+ end case;
+ end record;
+
+ type Arr is array (1..6) of Rec;
+
+end Aggr11_Pkg;
--- { dg-do compile }\r
--- { dg-options "-gnatws" }\r
-\r
-package body Aggr15 is\r
-\r
- function CREATE return DATA_T is\r
- D : DATA_T;\r
- begin\r
- return D;\r
- end;\r
-\r
- function ALL_CREATE return ALL_DATA_T is\r
- C : constant ALL_DATA_T := (others => (others => Create));\r
- begin\r
- return C;\r
- end;\r
-\r
-end Aggr15;\r
+-- { dg-do compile }
+-- { dg-options "-gnatws" }
+
+package body Aggr15 is
+
+ function CREATE return DATA_T is
+ D : DATA_T;
+ begin
+ return D;
+ end;
+
+ function ALL_CREATE return ALL_DATA_T is
+ C : constant ALL_DATA_T := (others => (others => Create));
+ begin
+ return C;
+ end;
+
+end Aggr15;
-package Aggr15 is\r
-\r
- type T is tagged record\r
- I : Integer;\r
- end record;\r
-\r
- type DATA_T is record\r
- D : T;\r
- end record;\r
-\r
- type ALL_DATA_T is array (1..2, 1..2) of DATA_T;\r
-\r
- function ALL_CREATE return ALL_DATA_T;\r
-\r
-end Aggr15;\r
+package Aggr15 is
+
+ type T is tagged record
+ I : Integer;
+ end record;
+
+ type DATA_T is record
+ D : T;
+ end record;
+
+ type ALL_DATA_T is array (1..2, 1..2) of DATA_T;
+
+ function ALL_CREATE return ALL_DATA_T;
+
+end Aggr15;
--- { dg-do compile }\r
--- { dg-options "-gnatws" }\r
-\r
-procedure Aggr17 is\r
-\r
- type Enum is (A, B);\r
-\r
- type Rec (D : Enum := Enum'First) is record\r
- case D is\r
- when A => X : Integer;\r
- when B => null;\r
- end case;\r
- end record;\r
- for Rec'Size use 128;\r
- pragma Volatile (Rec);\r
-\r
- type Config_T (D : Enum := Enum'First) is record\r
- N : Natural;\r
- R : Rec (D);\r
- end record;\r
-\r
- C : constant Config_T := (D => A, N => 1, R => (D => A, X => 0));\r
-\r
- type Arr is array (Natural range 1 .. C.N) of Boolean;\r
-\r
-begin\r
- null;\r
-end;\r
+-- { dg-do compile }
+-- { dg-options "-gnatws" }
+
+procedure Aggr17 is
+
+ type Enum is (A, B);
+
+ type Rec (D : Enum := Enum'First) is record
+ case D is
+ when A => X : Integer;
+ when B => null;
+ end case;
+ end record;
+ for Rec'Size use 128;
+ pragma Volatile (Rec);
+
+ type Config_T (D : Enum := Enum'First) is record
+ N : Natural;
+ R : Rec (D);
+ end record;
+
+ C : constant Config_T := (D => A, N => 1, R => (D => A, X => 0));
+
+ type Arr is array (Natural range 1 .. C.N) of Boolean;
+
+begin
+ null;
+end;
--- { dg-do compile }\r
--- { dg-options "-gnatws" }\r
-\r
-procedure Aggr18 is\r
-\r
- type Enum is (A, B);\r
-\r
- type Rec (D : Enum := Enum'First) is record\r
- case D is\r
- when A => X : Integer;\r
- when B => null;\r
- end case;\r
- end record;\r
- for Rec'Size use 128;\r
- pragma Volatile (Rec);\r
-\r
- type Config_T (D : Enum := Enum'First) is record\r
- N : Natural;\r
- R : Rec (D);\r
- end record;\r
-\r
- C : Config_T := (D => A, N => 1, R => (D => A, X => 0));\r
-\r
- type Arr is array (Natural range 1 .. C.N) of Boolean;\r
-\r
-begin\r
- null;\r
-end;\r
+-- { dg-do compile }
+-- { dg-options "-gnatws" }
+
+procedure Aggr18 is
+
+ type Enum is (A, B);
+
+ type Rec (D : Enum := Enum'First) is record
+ case D is
+ when A => X : Integer;
+ when B => null;
+ end case;
+ end record;
+ for Rec'Size use 128;
+ pragma Volatile (Rec);
+
+ type Config_T (D : Enum := Enum'First) is record
+ N : Natural;
+ R : Rec (D);
+ end record;
+
+ C : Config_T := (D => A, N => 1, R => (D => A, X => 0));
+
+ type Arr is array (Natural range 1 .. C.N) of Boolean;
+
+begin
+ null;
+end;
--- { dg-do compile }\r
--- { dg-options "-gnatws" }\r
-\r
-with Array14_Pkg; use Array14_Pkg;\r
-\r
-package body Array14 is\r
-\r
- package Nested is\r
-\r
- Length : constant SSE.Storage_Count := Length2;\r
-\r
- subtype Encoded_Index_Type is SSE.Storage_Count range 1 .. Length;\r
- subtype Encoded_Type is SSE.Storage_Array (Encoded_Index_Type'Range);\r
-\r
- procedure Encode (Input : in Integer; Output : out Encoded_Type);\r
-\r
- end;\r
-\r
- package body Nested is\r
-\r
- procedure Encode (Input : in Integer; Output : out Encoded_Type) is\r
- begin\r
- Encode2 (Input, Output);\r
- end;\r
-\r
- end;\r
-\r
- procedure Init is\r
- O : Nested.Encoded_Type;\r
- for O'Alignment use 4;\r
- begin\r
- null;\r
- end;\r
-\r
-end Array14;\r
+-- { dg-do compile }
+-- { dg-options "-gnatws" }
+
+with Array14_Pkg; use Array14_Pkg;
+
+package body Array14 is
+
+ package Nested is
+
+ Length : constant SSE.Storage_Count := Length2;
+
+ subtype Encoded_Index_Type is SSE.Storage_Count range 1 .. Length;
+ subtype Encoded_Type is SSE.Storage_Array (Encoded_Index_Type'Range);
+
+ procedure Encode (Input : in Integer; Output : out Encoded_Type);
+
+ end;
+
+ package body Nested is
+
+ procedure Encode (Input : in Integer; Output : out Encoded_Type) is
+ begin
+ Encode2 (Input, Output);
+ end;
+
+ end;
+
+ procedure Init is
+ O : Nested.Encoded_Type;
+ for O'Alignment use 4;
+ begin
+ null;
+ end;
+
+end Array14;
-package Array14 is\r
-\r
- procedure Init;\r
-\r
-end Array14;\r
+package Array14 is
+
+ procedure Init;
+
+end Array14;
-with System.Storage_Elements;\r
-\r
-package Array14_Pkg is\r
-\r
- package SSE renames System.Storage_Elements;\r
-\r
- function Parity_Byte_Count return SSE.Storage_Count;\r
-\r
- Length2 : constant SSE.Storage_Count := Parity_Byte_Count;\r
-\r
- subtype Encoded_Index_Type2 is SSE.Storage_Count range 1 .. Length2;\r
- subtype Encoded_Type2 is SSE.Storage_Array (Encoded_Index_Type2'Range);\r
-\r
- procedure Encode2 (Input : in Integer; Output : out Encoded_Type2);\r
-\r
-end Array14_Pkg;\r
+with System.Storage_Elements;
+
+package Array14_Pkg is
+
+ package SSE renames System.Storage_Elements;
+
+ function Parity_Byte_Count return SSE.Storage_Count;
+
+ Length2 : constant SSE.Storage_Count := Parity_Byte_Count;
+
+ subtype Encoded_Index_Type2 is SSE.Storage_Count range 1 .. Length2;
+ subtype Encoded_Type2 is SSE.Storage_Array (Encoded_Index_Type2'Range);
+
+ procedure Encode2 (Input : in Integer; Output : out Encoded_Type2);
+
+end Array14_Pkg;
--- { dg-do compile }\r
-\r
-package body Array19 is\r
-\r
- function N return Integer is\r
- begin\r
- return 1;\r
- end;\r
-\r
- type Array_Type is array (1 .. N) of Float;\r
-\r
- type Enum is (One, Two);\r
-\r
- type Rec (D : Enum := Enum'First) is record\r
- case D is\r
- when One => null;\r
- when Two => A : Array_Type;\r
- end case;\r
- end record;\r
-\r
- procedure Proc is\r
-\r
- R : Rec;\r
-\r
- function F return Array_Type is\r
- begin\r
- return (others => 0.0);\r
- end F;\r
-\r
- begin\r
- R.A := F;\r
- end;\r
-\r
-end Array19;\r
+-- { dg-do compile }
+
+package body Array19 is
+
+ function N return Integer is
+ begin
+ return 1;
+ end;
+
+ type Array_Type is array (1 .. N) of Float;
+
+ type Enum is (One, Two);
+
+ type Rec (D : Enum := Enum'First) is record
+ case D is
+ when One => null;
+ when Two => A : Array_Type;
+ end case;
+ end record;
+
+ procedure Proc is
+
+ R : Rec;
+
+ function F return Array_Type is
+ begin
+ return (others => 0.0);
+ end F;
+
+ begin
+ R.A := F;
+ end;
+
+end Array19;
-package Array19 is\r
-\r
- procedure Proc;\r
-\r
-end Array19;\r
+package Array19 is
+
+ procedure Proc;
+
+end Array19;
--- { dg-do compile }\r
-\r
-package body Discr27 is\r
-\r
- subtype Index is Positive range 1..4096;\r
-\r
- function F return String is\r
- S : String(1..1) := (others =>'w');\r
- begin\r
- return S;\r
- end;\r
-\r
- type Enum is (One, Two);\r
-\r
- type Rec (D : Enum := One; Len : Index := 1) is record\r
- case D is\r
- when One => I : Integer;\r
- when Two => A : String(1..Len);\r
- end case;\r
- end record;\r
-\r
- procedure Nothing is\r
- M : constant String := F;\r
- C : constant Rec := (Two, M'Length, M);\r
- begin\r
- null;\r
- end;\r
-\r
- procedure Proc is begin\r
- null;\r
- end;\r
-\r
-end Discr27;\r
+-- { dg-do compile }
+
+package body Discr27 is
+
+ subtype Index is Positive range 1..4096;
+
+ function F return String is
+ S : String(1..1) := (others =>'w');
+ begin
+ return S;
+ end;
+
+ type Enum is (One, Two);
+
+ type Rec (D : Enum := One; Len : Index := 1) is record
+ case D is
+ when One => I : Integer;
+ when Two => A : String(1..Len);
+ end case;
+ end record;
+
+ procedure Nothing is
+ M : constant String := F;
+ C : constant Rec := (Two, M'Length, M);
+ begin
+ null;
+ end;
+
+ procedure Proc is begin
+ null;
+ end;
+
+end Discr27;
-package Discr27 is\r
-\r
- procedure Proc;\r
-\r
-end Discr27;\r
+package Discr27 is
+
+ procedure Proc;
+
+end Discr27;
--- { dg-do compile }\r
-\r
-package body Discr35 is\r
-\r
- procedure Proc1 is\r
- R : Rec2 := Null_Rec2;\r
- begin\r
- null;\r
- end;\r
-\r
- procedure Proc2 is\r
- R : Rec2;\r
- begin\r
- R := Null_Rec2;\r
- end;\r
-\r
-end Discr35;\r
+-- { dg-do compile }
+
+package body Discr35 is
+
+ procedure Proc1 is
+ R : Rec2 := Null_Rec2;
+ begin
+ null;
+ end;
+
+ procedure Proc2 is
+ R : Rec2;
+ begin
+ R := Null_Rec2;
+ end;
+
+end Discr35;
-package Discr35 is\r
-\r
- type Rec1 is tagged null record;\r
-\r
- type Enum is (One, Two);\r
-\r
- type Rec2 (D : Enum := One) is\r
- record\r
- case D is\r
- when One => null;\r
- when Two => R : Rec1;\r
- end case;\r
- end record;\r
-\r
- Null_Rec2 : Constant Rec2;\r
-\r
- procedure Proc1;\r
-\r
- procedure Proc2;\r
-\r
-private\r
-\r
- Null_Rec2 : Constant Rec2 := (D => One);\r
-\r
-end Discr35;\r
+package Discr35 is
+
+ type Rec1 is tagged null record;
+
+ type Enum is (One, Two);
+
+ type Rec2 (D : Enum := One) is
+ record
+ case D is
+ when One => null;
+ when Two => R : Rec1;
+ end case;
+ end record;
+
+ Null_Rec2 : Constant Rec2;
+
+ procedure Proc1;
+
+ procedure Proc2;
+
+private
+
+ Null_Rec2 : Constant Rec2 := (D => One);
+
+end Discr35;
--- { dg-do compile }\r
--- { dg-options "-gnatdm -gnatws" }\r
-\r
-with Discr6_Pkg;\r
-\r
-procedure Discr6 is\r
-\r
- type T_Bit is range 0..1;\r
- type T_Entier_16 is range -2**15 .. 2**15-1;\r
-\r
- package My_Q is new Discr6_Pkg(T_Entier_16);\r
-\r
- type T_Valeur is (BIT, Entier_16);\r
-\r
- type R(D : T_Valeur) is record\r
- case D is\r
- when BIT => V_BIT : T_Bit;\r
- when Entier_16 => V_E16 : T_Entier_16;\r
- end case;\r
- end record;\r
- for R use record\r
- V_BIT at 0 range 0..7;\r
- V_E16 at 0 range 0..15;\r
- D at 8 range 0..7;\r
- end record;\r
- for R'size use 128;\r
-\r
- A : R(Entier_16);\r
- I : Integer;\r
-\r
-begin\r
- I := My_Q.X(A.V_E16);\r
-end;\r
+-- { dg-do compile }
+-- { dg-options "-gnatdm -gnatws" }
+
+with Discr6_Pkg;
+
+procedure Discr6 is
+
+ type T_Bit is range 0..1;
+ type T_Entier_16 is range -2**15 .. 2**15-1;
+
+ package My_Q is new Discr6_Pkg(T_Entier_16);
+
+ type T_Valeur is (BIT, Entier_16);
+
+ type R(D : T_Valeur) is record
+ case D is
+ when BIT => V_BIT : T_Bit;
+ when Entier_16 => V_E16 : T_Entier_16;
+ end case;
+ end record;
+ for R use record
+ V_BIT at 0 range 0..7;
+ V_E16 at 0 range 0..15;
+ D at 8 range 0..7;
+ end record;
+ for R'size use 128;
+
+ A : R(Entier_16);
+ I : Integer;
+
+begin
+ I := My_Q.X(A.V_E16);
+end;
-generic\r
-\r
- type T(<>) is private;\r
-\r
-package Discr6_Pkg is\r
-\r
- function X (A : T) return Integer;\r
-\r
- pragma Interface(C, X);\r
- pragma IMPORT_FUNCTION (\r
- INTERNAL => X,\r
- EXTERNAL => X,\r
- PARAMETER_TYPES => (T),\r
- MECHANISM => (Descriptor(S)));\r
-\r
-end Discr6_Pkg;\r
+generic
+
+ type T(<>) is private;
+
+package Discr6_Pkg is
+
+ function X (A : T) return Integer;
+
+ pragma Interface(C, X);
+ pragma IMPORT_FUNCTION (
+ INTERNAL => X,
+ EXTERNAL => X,
+ PARAMETER_TYPES => (T),
+ MECHANISM => (Descriptor(S)));
+
+end Discr6_Pkg;
--- { dg-do compile }\r
--- { dg-options "-g" }\r
-\r
-package body Import1 is\r
-\r
- procedure Create (Bounds : Arr) is\r
- type Bound_Array is array (Bounds'Range) of Integer;\r
-\r
- procedure Proc (Ptr : access Bound_Array);\r
- pragma Import (C, Proc);\r
-\r
- Temp : aliased Bound_Array;\r
- begin\r
- Proc (Temp'Access);\r
- end;\r
-\r
-end Import1;\r
+-- { dg-do compile }
+-- { dg-options "-g" }
+
+package body Import1 is
+
+ procedure Create (Bounds : Arr) is
+ type Bound_Array is array (Bounds'Range) of Integer;
+
+ procedure Proc (Ptr : access Bound_Array);
+ pragma Import (C, Proc);
+
+ Temp : aliased Bound_Array;
+ begin
+ Proc (Temp'Access);
+ end;
+
+end Import1;
-package Import1 is\r
-\r
- type Arr is array (Positive range <>) of Integer;\r
-\r
- procedure Create (Bounds : Arr);\r
-\r
-end Import1;\r
+package Import1 is
+
+ type Arr is array (Positive range <>) of Integer;
+
+ procedure Create (Bounds : Arr);
+
+end Import1;
--- { dg-do compile }\r
--- { dg-options "-O" }\r
-\r
-with System, Ada.Unchecked_Conversion;\r
-with System.Storage_Elements; use System.Storage_Elements;\r
-\r
-procedure Loop_Address2 is\r
-\r
- type Ptr is access all Integer;\r
-\r
- function To_Ptr is new Ada.Unchecked_Conversion (System.Address, Ptr);\r
-\r
- function F (BM : System.Address; I : Integer) return System.Address is\r
- begin\r
- return BM + Storage_Offset (4*I);\r
- end;\r
-\r
- B : Integer;\r
- P : Ptr;\r
-\r
-begin\r
- for I in 0 .. 2 loop\r
- P := To_Ptr (F (B'Address, I));\r
- P.all := 0;\r
- end loop;\r
-end ;\r
+-- { dg-do compile }
+-- { dg-options "-O" }
+
+with System, Ada.Unchecked_Conversion;
+with System.Storage_Elements; use System.Storage_Elements;
+
+procedure Loop_Address2 is
+
+ type Ptr is access all Integer;
+
+ function To_Ptr is new Ada.Unchecked_Conversion (System.Address, Ptr);
+
+ function F (BM : System.Address; I : Integer) return System.Address is
+ begin
+ return BM + Storage_Offset (4*I);
+ end;
+
+ B : Integer;
+ P : Ptr;
+
+begin
+ for I in 0 .. 2 loop
+ P := To_Ptr (F (B'Address, I));
+ P.all := 0;
+ end loop;
+end ;
--- { dg-do compile }\r
--- { dg-options "-Os -g" }\r
-\r
-with Opt7_Pkg;\r
-\r
-package body Opt7 is\r
-\r
- procedure Parse (Str : String;\r
- Time_Type : out time_t;\r
- Abs_Time : out Time;\r
- Delt_Time : out Duration) is\r
- Year : Year_Number;\r
- Month : Month_Number;\r
- Day : Day_Number;\r
- Minute : Integer := 0;\r
- Idx : Integer := Str'First;\r
- Ch : Character := Str (Idx);\r
- Current_Time : Time;\r
-\r
- begin\r
- if Ch = '-' then\r
- Time_Type := Absolute_Time;\r
- Current_Time := Clock;\r
- Day := Ada.Calendar.Day (Current_Time);\r
- Month := Ada.Calendar.Month (Current_Time);\r
- Year := Ada.Calendar.Year (Current_Time);\r
- else\r
- Time_Type := Delta_Time;\r
- end if;\r
- while Ch in '0' .. '9' loop\r
- Minute := Minute + Character'Pos (Ch);\r
- Idx := Idx + 1;\r
- Ch := Str (Idx);\r
- end loop;\r
- if Time_Type = Absolute_Time then\r
- Abs_Time := Time_Of (Year, Month, Day, Day_Duration (1));\r
- else\r
- Delt_Time := Duration (Float (Minute));\r
- end if;\r
- exception\r
- when others => Opt7_Pkg.My_Raise_Exception;\r
- end;\r
-\r
-end Opt7;\r
+-- { dg-do compile }
+-- { dg-options "-Os -g" }
+
+with Opt7_Pkg;
+
+package body Opt7 is
+
+ procedure Parse (Str : String;
+ Time_Type : out time_t;
+ Abs_Time : out Time;
+ Delt_Time : out Duration) is
+ Year : Year_Number;
+ Month : Month_Number;
+ Day : Day_Number;
+ Minute : Integer := 0;
+ Idx : Integer := Str'First;
+ Ch : Character := Str (Idx);
+ Current_Time : Time;
+
+ begin
+ if Ch = '-' then
+ Time_Type := Absolute_Time;
+ Current_Time := Clock;
+ Day := Ada.Calendar.Day (Current_Time);
+ Month := Ada.Calendar.Month (Current_Time);
+ Year := Ada.Calendar.Year (Current_Time);
+ else
+ Time_Type := Delta_Time;
+ end if;
+ while Ch in '0' .. '9' loop
+ Minute := Minute + Character'Pos (Ch);
+ Idx := Idx + 1;
+ Ch := Str (Idx);
+ end loop;
+ if Time_Type = Absolute_Time then
+ Abs_Time := Time_Of (Year, Month, Day, Day_Duration (1));
+ else
+ Delt_Time := Duration (Float (Minute));
+ end if;
+ exception
+ when others => Opt7_Pkg.My_Raise_Exception;
+ end;
+
+end Opt7;
-with Ada.Calendar; use Ada.Calendar;\r
-\r
-package Opt7 is\r
-\r
- type time_t is (Absolute_Time, Delta_Time);\r
-\r
- procedure Parse (Str : String;\r
- Time_Type : out time_t;\r
- Abs_Time : out Time;\r
- Delt_Time : out Duration);\r
-\r
-end Opt7;\r
+with Ada.Calendar; use Ada.Calendar;
+
+package Opt7 is
+
+ type time_t is (Absolute_Time, Delta_Time);
+
+ procedure Parse (Str : String;
+ Time_Type : out time_t;
+ Abs_Time : out Time;
+ Delt_Time : out Duration);
+
+end Opt7;
--- { dg-do compile }\r
--- { dg-options "-gnatws" }\r
-\r
-package body pointer_variable_bounds is\r
-\r
- function COMPONENT_DAT(BP : in BUNDLE_POINTER_TYPE; CP : in COMP_POINTER_TYPE) return HALF_INTEGER is\r
- type CP_TYPE is access COMP_POINTER_TYPE;\r
- type CD_TYPE is access HALF_INTEGER;\r
- CD : CD_TYPE;\r
- begin\r
- return CD.all;\r
- end;\r
-\r
- procedure BUNDLE_DAT(BP : in BUNDLE_POINTER_TYPE) is\r
- N0 : C_POINTER_TYPE := COMPONENT_DAT(BP, 4);\r
- begin\r
- null;\r
- end;\r
-\r
- procedure SEQUENCE_DAT(BP : in BUNDLE_POINTER_TYPE) is\r
- N0 : C_POINTER_TYPE := COMPONENT_DAT(BP, 4);\r
- begin\r
- null;\r
- end;\r
-\r
-end pointer_variable_bounds;\r
+-- { dg-do compile }
+-- { dg-options "-gnatws" }
+
+package body pointer_variable_bounds is
+
+ function COMPONENT_DAT(BP : in BUNDLE_POINTER_TYPE; CP : in COMP_POINTER_TYPE) return HALF_INTEGER is
+ type CP_TYPE is access COMP_POINTER_TYPE;
+ type CD_TYPE is access HALF_INTEGER;
+ CD : CD_TYPE;
+ begin
+ return CD.all;
+ end;
+
+ procedure BUNDLE_DAT(BP : in BUNDLE_POINTER_TYPE) is
+ N0 : C_POINTER_TYPE := COMPONENT_DAT(BP, 4);
+ begin
+ null;
+ end;
+
+ procedure SEQUENCE_DAT(BP : in BUNDLE_POINTER_TYPE) is
+ N0 : C_POINTER_TYPE := COMPONENT_DAT(BP, 4);
+ begin
+ null;
+ end;
+
+end pointer_variable_bounds;
-with pointer_variable_bounds_q; use pointer_variable_bounds_q;\r
-\r
-package pointer_variable_bounds is\r
-\r
- type HALF_INTEGER is range -32768 .. 32767;\r
- subtype HALF_NATURAL is HALF_INTEGER range 0 .. 32767;\r
-\r
- MAX_COMPS : constant HALF_NATURAL := HALF_NATURAL(A_MAX_COMPS);\r
- subtype COMP_POINTER_TYPE is HALF_NATURAL range 0 .. MAX_COMPS;\r
- subtype BUNDLE_POINTER_TYPE is HALF_NATURAL range 0 .. 1;\r
- subtype C_POINTER_TYPE is HALF_NATURAL range 0 .. 1;\r
-\r
- procedure BUNDLE_DAT(BP : in BUNDLE_POINTER_TYPE);\r
- procedure SEQUENCE_DAT(BP : in BUNDLE_POINTER_TYPE);\r
-\r
-end pointer_variable_bounds;\r
+with pointer_variable_bounds_q; use pointer_variable_bounds_q;
+
+package pointer_variable_bounds is
+
+ type HALF_INTEGER is range -32768 .. 32767;
+ subtype HALF_NATURAL is HALF_INTEGER range 0 .. 32767;
+
+ MAX_COMPS : constant HALF_NATURAL := HALF_NATURAL(A_MAX_COMPS);
+ subtype COMP_POINTER_TYPE is HALF_NATURAL range 0 .. MAX_COMPS;
+ subtype BUNDLE_POINTER_TYPE is HALF_NATURAL range 0 .. 1;
+ subtype C_POINTER_TYPE is HALF_NATURAL range 0 .. 1;
+
+ procedure BUNDLE_DAT(BP : in BUNDLE_POINTER_TYPE);
+ procedure SEQUENCE_DAT(BP : in BUNDLE_POINTER_TYPE);
+
+end pointer_variable_bounds;
--- { dg-do compile }\r
-\r
-package body Rep_Clause2 is\r
-\r
- procedure Assign (From : Data; Offset : Positive; I : Index; To : out Bit_Array) is\r
- begin\r
- To (Offset .. Offset + 7) := Bit_Array (Conv (From.D(I).S.N));\r
- end;\r
-\r
-end Rep_Clause2;\r
+-- { dg-do compile }
+
+package body Rep_Clause2 is
+
+ procedure Assign (From : Data; Offset : Positive; I : Index; To : out Bit_Array) is
+ begin
+ To (Offset .. Offset + 7) := Bit_Array (Conv (From.D(I).S.N));
+ end;
+
+end Rep_Clause2;
-with Unchecked_Conversion;\r
-\r
-package Rep_Clause2 is\r
-\r
- type Tiny is range 0 .. 3;\r
- for Tiny'Size use 2;\r
-\r
- type Small is range 0 .. 255;\r
- for Small'Size use 8;\r
-\r
- type Small_Data is record\r
- D : Tiny;\r
- N : Small;\r
- end record;\r
- pragma Pack (Small_Data);\r
-\r
- type Chunk is\r
- record\r
- S : Small_Data;\r
- C : Character;\r
- end record;\r
-\r
- for Chunk use record\r
- S at 0 range 0 .. 15;\r
- C at 2 range 0 .. 7;\r
- end record;\r
-\r
- type Index is range 1 .. 10;\r
-\r
- type Data_Array is array (Index) of Chunk;\r
- for Data_Array'Alignment use 2;\r
- pragma Pack (Data_Array);\r
-\r
- type Data is record\r
- D : Data_Array;\r
- end record;\r
-\r
- type Bit is range 0 .. 1;\r
- for Bit'Size use 1;\r
-\r
- type Bit_Array is array (Positive range <>) of Bit;\r
- pragma Pack (Bit_Array);\r
-\r
- type Byte is new Bit_Array (1 .. 8);\r
- for Byte'Size use 8;\r
- for Byte'Alignment use 1;\r
-\r
- function Conv\r
- is new Unchecked_Conversion(Source => Small, Target => Byte);\r
-\r
- procedure Assign (From : Data; Offset : Positive; I : Index; To : out Bit_Array);\r
-\r
-end Rep_Clause2;\r
+with Unchecked_Conversion;
+
+package Rep_Clause2 is
+
+ type Tiny is range 0 .. 3;
+ for Tiny'Size use 2;
+
+ type Small is range 0 .. 255;
+ for Small'Size use 8;
+
+ type Small_Data is record
+ D : Tiny;
+ N : Small;
+ end record;
+ pragma Pack (Small_Data);
+
+ type Chunk is
+ record
+ S : Small_Data;
+ C : Character;
+ end record;
+
+ for Chunk use record
+ S at 0 range 0 .. 15;
+ C at 2 range 0 .. 7;
+ end record;
+
+ type Index is range 1 .. 10;
+
+ type Data_Array is array (Index) of Chunk;
+ for Data_Array'Alignment use 2;
+ pragma Pack (Data_Array);
+
+ type Data is record
+ D : Data_Array;
+ end record;
+
+ type Bit is range 0 .. 1;
+ for Bit'Size use 1;
+
+ type Bit_Array is array (Positive range <>) of Bit;
+ pragma Pack (Bit_Array);
+
+ type Byte is new Bit_Array (1 .. 8);
+ for Byte'Size use 8;
+ for Byte'Alignment use 1;
+
+ function Conv
+ is new Unchecked_Conversion(Source => Small, Target => Byte);
+
+ procedure Assign (From : Data; Offset : Positive; I : Index; To : out Bit_Array);
+
+end Rep_Clause2;
--- { dg-do compile }\r
--- { dg-options "-O" }\r
-\r
-package body Slice2 is\r
-\r
- function F (I : R1) return R2 is\r
- Val : R2;\r
- begin\r
- Val.Text (1 .. 8) := I.Text (1 .. 8);\r
- return Val;\r
- end F;\r
-\r
-end Slice2;\r
+-- { dg-do compile }
+-- { dg-options "-O" }
+
+package body Slice2 is
+
+ function F (I : R1) return R2 is
+ Val : R2;
+ begin
+ Val.Text (1 .. 8) := I.Text (1 .. 8);
+ return Val;
+ end F;
+
+end Slice2;
-package Slice2 is\r
-\r
- type R1 is record\r
- Text : String (1 .. 30);\r
- end record;\r
-\r
- type R2 is record\r
- Text : String (1 .. 8);\r
- B : Boolean := True;\r
- end record;\r
-\r
- function F (I : R1) return R2;\r
-\r
-end Slice2;\r
+package Slice2 is
+
+ type R1 is record
+ Text : String (1 .. 30);
+ end record;
+
+ type R2 is record
+ Text : String (1 .. 8);
+ B : Boolean := True;
+ end record;
+
+ function F (I : R1) return R2;
+
+end Slice2;
--- { dg-do compile }\r
--- { dg-options "-gnatws" }\r
-\r
-with Slice6_Pkg; use Slice6_Pkg;\r
-\r
-procedure Slice6 is\r
-\r
- procedure Send (V_LENGTH : SHORT_INTEGER) is\r
-\r
- V : Integer;\r
-\r
- V_BLOCK : T_BLOCK (1 .. 4096);\r
- for V_BLOCK use at V'Address;\r
-\r
- V_MSG : T_MSG ;\r
-\r
- begin\r
- V_MSG := (V_LENGTH, 1, V_BLOCK (1 .. V_LENGTH));\r
- end;\r
-\r
-begin\r
- null;\r
-end;\r
+-- { dg-do compile }
+-- { dg-options "-gnatws" }
+
+with Slice6_Pkg; use Slice6_Pkg;
+
+procedure Slice6 is
+
+ procedure Send (V_LENGTH : SHORT_INTEGER) is
+
+ V : Integer;
+
+ V_BLOCK : T_BLOCK (1 .. 4096);
+ for V_BLOCK use at V'Address;
+
+ V_MSG : T_MSG ;
+
+ begin
+ V_MSG := (V_LENGTH, 1, V_BLOCK (1 .. V_LENGTH));
+ end;
+
+begin
+ null;
+end;
-package Slice6_Pkg is\r
-\r
- subtype LENGTH_RANGE is SHORT_INTEGER range 0 .. 8184;\r
-\r
- type T_BLOCK is array (SHORT_INTEGER range <>) of SHORT_SHORT_INTEGER;\r
- for T_BLOCK'alignment use 4;\r
-\r
- type T_MSG (V_LENGTH : LENGTH_RANGE := 0) is\r
- record\r
- HEADER : Integer;\r
- DATAS : T_BLOCK (1 .. V_LENGTH) := (others => 0);\r
- end record;\r
- for T_MSG'alignment use 4;\r
-\r
-end Slice6_Pkg;\r
+package Slice6_Pkg is
+
+ subtype LENGTH_RANGE is SHORT_INTEGER range 0 .. 8184;
+
+ type T_BLOCK is array (SHORT_INTEGER range <>) of SHORT_SHORT_INTEGER;
+ for T_BLOCK'alignment use 4;
+
+ type T_MSG (V_LENGTH : LENGTH_RANGE := 0) is
+ record
+ HEADER : Integer;
+ DATAS : T_BLOCK (1 .. V_LENGTH) := (others => 0);
+ end record;
+ for T_MSG'alignment use 4;
+
+end Slice6_Pkg;
--- { dg-do compile }\r
-\r
-package Unchecked_Union2 is\r
-\r
- type Small_Int is range 0 .. 2**19 - 1;\r
-\r
- type R1 (B : Boolean := True) is record\r
- case B is\r
- when True => Data1 : Small_Int;\r
- when False => Data2 : Small_Int;\r
- end case;\r
- end record;\r
-\r
- for R1 use record\r
- Data1 at 0 range 0 .. 18;\r
- Data2 at 0 range 0 .. 18;\r
- end record;\r
- for R1'Size use 24;\r
-\r
- pragma Unchecked_Union (R1);\r
-\r
- type R2 is record\r
- Data : R1;\r
- end record;\r
-\r
- for R2 use record\r
- Data at 0 range 3 .. 26;\r
- end record;\r
-\r
-end Unchecked_Union2;\r
+-- { dg-do compile }
+
+package Unchecked_Union2 is
+
+ type Small_Int is range 0 .. 2**19 - 1;
+
+ type R1 (B : Boolean := True) is record
+ case B is
+ when True => Data1 : Small_Int;
+ when False => Data2 : Small_Int;
+ end case;
+ end record;
+
+ for R1 use record
+ Data1 at 0 range 0 .. 18;
+ Data2 at 0 range 0 .. 18;
+ end record;
+ for R1'Size use 24;
+
+ pragma Unchecked_Union (R1);
+
+ type R2 is record
+ Data : R1;
+ end record;
+
+ for R2 use record
+ Data at 0 range 3 .. 26;
+ end record;
+
+end Unchecked_Union2;
--- { dg-do compile }\r
--- { dg-options "-g" }\r
-\r
-with Taft_Type2_Pkg; use Taft_Type2_Pkg;\r
-\r
-package body Taft_Type2 is\r
-\r
- procedure Proc is\r
- A : T;\r
-\r
- function F return T is\r
- My_T : T;\r
- begin\r
- My_T := Open;\r
- return My_T;\r
- end;\r
-\r
- begin\r
- A := F;\r
- end;\r
-\r
-end Taft_Type2;\r
+-- { dg-do compile }
+-- { dg-options "-g" }
+
+with Taft_Type2_Pkg; use Taft_Type2_Pkg;
+
+package body Taft_Type2 is
+
+ procedure Proc is
+ A : T;
+
+ function F return T is
+ My_T : T;
+ begin
+ My_T := Open;
+ return My_T;
+ end;
+
+ begin
+ A := F;
+ end;
+
+end Taft_Type2;
-package Taft_Type2 is\r
-\r
- procedure Proc;\r
-\r
-end Taft_Type2;\r
+package Taft_Type2 is
+
+ procedure Proc;
+
+end Taft_Type2;
-package Taft_Type2_Pkg is\r
-\r
- type T is private;\r
-\r
- function Open return T;\r
-\r
-private\r
-\r
- type Buffer_T;\r
- type T is access Buffer_T;\r
-\r
-end Taft_Type2_Pkg;\r
+package Taft_Type2_Pkg is
+
+ type T is private;
+
+ function Open return T;
+
+private
+
+ type Buffer_T;
+ type T is access Buffer_T;
+
+end Taft_Type2_Pkg;
--- { dg-do compile }\r
-\r
-with Volatile10_Pkg; use Volatile10_Pkg;\r
-\r
-procedure Volatile10 is\r
- N : Num;\r
-begin\r
- N := F.N1;\r
- N := F.N2;\r
-end;\r
+-- { dg-do compile }
+
+with Volatile10_Pkg; use Volatile10_Pkg;
+
+procedure Volatile10 is
+ N : Num;
+begin
+ N := F.N1;
+ N := F.N2;
+end;
-package Volatile10_Pkg is\r
-\r
- type Num is mod 2**9;\r
-\r
- type Rec is record\r
- B1 : Boolean;\r
- N1 : Num;\r
- B2 : Boolean;\r
- N2 : Num;\r
- B3 : Boolean;\r
- B4 : Boolean;\r
- B5 : Boolean;\r
- B6 : Boolean;\r
- B7 : Boolean;\r
- B8 : Boolean;\r
- B9 : Boolean;\r
- B10 : Boolean;\r
- B11 : Boolean;\r
- B12 : Boolean;\r
- B13 : Boolean;\r
- B14 : Boolean;\r
- end record;\r
- pragma Pack (Rec);\r
- for Rec'Size use 32;\r
- pragma Volatile(Rec);\r
-\r
- function F return Rec;\r
-\r
-end Volatile10_Pkg;\r
+package Volatile10_Pkg is
+
+ type Num is mod 2**9;
+
+ type Rec is record
+ B1 : Boolean;
+ N1 : Num;
+ B2 : Boolean;
+ N2 : Num;
+ B3 : Boolean;
+ B4 : Boolean;
+ B5 : Boolean;
+ B6 : Boolean;
+ B7 : Boolean;
+ B8 : Boolean;
+ B9 : Boolean;
+ B10 : Boolean;
+ B11 : Boolean;
+ B12 : Boolean;
+ B13 : Boolean;
+ B14 : Boolean;
+ end record;
+ pragma Pack (Rec);
+ for Rec'Size use 32;
+ pragma Volatile(Rec);
+
+ function F return Rec;
+
+end Volatile10_Pkg;