diff options
| -rw-r--r-- | llvm/test/FrontendAda/array_constructor.adb | 6 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/array_range_ref.adb | 7 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/array_ref.adb | 11 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/array_size.adb | 10 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/emit_var.ads | 5 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/fat_fields.adb | 10 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/fat_fields.ads | 6 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/non_lvalue.adb | 7 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/non_lvalue.ads | 11 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/switch.adb | 12 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/var_size.adb | 7 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/var_size.ads | 7 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/vce.adb | 7 | ||||
| -rw-r--r-- | llvm/test/FrontendAda/vce_lv.adb | 9 | 
14 files changed, 115 insertions, 0 deletions
diff --git a/llvm/test/FrontendAda/array_constructor.adb b/llvm/test/FrontendAda/array_constructor.adb new file mode 100644 index 00000000000..d75b8e0b315 --- /dev/null +++ b/llvm/test/FrontendAda/array_constructor.adb @@ -0,0 +1,6 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +procedure Array_Constructor is +   A : array (Integer range <>) of Boolean := (True, False); +begin +   null; +end; diff --git a/llvm/test/FrontendAda/array_range_ref.adb b/llvm/test/FrontendAda/array_range_ref.adb new file mode 100644 index 00000000000..f7cba01ed81 --- /dev/null +++ b/llvm/test/FrontendAda/array_range_ref.adb @@ -0,0 +1,7 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +procedure Array_Range_Ref is +   A : String (1 .. 3); +   B : String := A (A'RANGE)(1 .. 3); +begin +   null; +end; diff --git a/llvm/test/FrontendAda/array_ref.adb b/llvm/test/FrontendAda/array_ref.adb new file mode 100644 index 00000000000..093233a31ff --- /dev/null +++ b/llvm/test/FrontendAda/array_ref.adb @@ -0,0 +1,11 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +procedure Array_Ref is +   type A is array (Natural range <>, Natural range <>) of Boolean; +   type A_Access is access A; +   function Get (X : A_Access) return Boolean is +   begin +      return X (0, 0); +   end; +begin +   null; +end; diff --git a/llvm/test/FrontendAda/array_size.adb b/llvm/test/FrontendAda/array_size.adb new file mode 100644 index 00000000000..da4c5891be2 --- /dev/null +++ b/llvm/test/FrontendAda/array_size.adb @@ -0,0 +1,10 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +procedure Array_Size is +   subtype S is String (1 .. 2); +   type R is record +      A : S; +   end record; +   X : R; +begin +   null; +end; diff --git a/llvm/test/FrontendAda/emit_var.ads b/llvm/test/FrontendAda/emit_var.ads new file mode 100644 index 00000000000..b8d5f8f581e --- /dev/null +++ b/llvm/test/FrontendAda/emit_var.ads @@ -0,0 +1,5 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +with Ada.Finalization; +package Emit_Var is +   type Search_Type is new Ada.Finalization.Controlled with null record; +end; diff --git a/llvm/test/FrontendAda/fat_fields.adb b/llvm/test/FrontendAda/fat_fields.adb new file mode 100644 index 00000000000..906e34ee0be --- /dev/null +++ b/llvm/test/FrontendAda/fat_fields.adb @@ -0,0 +1,10 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +-- RUN: %llvmgcc -c %s -O2 -o /dev/null +package body Fat_Fields is +   procedure Proc is +   begin +      if P = null then +         null; +      end if; +   end; +end; diff --git a/llvm/test/FrontendAda/fat_fields.ads b/llvm/test/FrontendAda/fat_fields.ads new file mode 100644 index 00000000000..d3eab3e2866 --- /dev/null +++ b/llvm/test/FrontendAda/fat_fields.ads @@ -0,0 +1,6 @@ +package Fat_Fields is +   pragma Elaborate_Body; +   type A is array (Positive range <>) of Boolean; +   type A_Ptr is access A; +   P : A_Ptr := null; +end; diff --git a/llvm/test/FrontendAda/non_lvalue.adb b/llvm/test/FrontendAda/non_lvalue.adb new file mode 100644 index 00000000000..2a92e52fbae --- /dev/null +++ b/llvm/test/FrontendAda/non_lvalue.adb @@ -0,0 +1,7 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +package body Non_LValue is +   function A (Y : U) return String is +   begin +      return Y.X.B; +   end; +end; diff --git a/llvm/test/FrontendAda/non_lvalue.ads b/llvm/test/FrontendAda/non_lvalue.ads new file mode 100644 index 00000000000..7d4eeed8b8e --- /dev/null +++ b/llvm/test/FrontendAda/non_lvalue.ads @@ -0,0 +1,11 @@ +package Non_LValue is +   type T (Length : Natural) is record +      A : String (1 .. Length); +      B : String (1 .. Length); +   end record; +   type T_Ptr is access all T; +   type U is record +      X : T_Ptr; +   end record; +   function A (Y : U) return String; +end; diff --git a/llvm/test/FrontendAda/switch.adb b/llvm/test/FrontendAda/switch.adb new file mode 100644 index 00000000000..0eb20b22cb4 --- /dev/null +++ b/llvm/test/FrontendAda/switch.adb @@ -0,0 +1,12 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +function Switch (N : Integer) return Integer is +begin +   case N is +      when Integer'First .. -1 => +         return -1; +      when 0 => +         return 0; +      when others => +         return 1; +   end case; +end; diff --git a/llvm/test/FrontendAda/var_size.adb b/llvm/test/FrontendAda/var_size.adb new file mode 100644 index 00000000000..2b4d4995e99 --- /dev/null +++ b/llvm/test/FrontendAda/var_size.adb @@ -0,0 +1,7 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +package body Var_Size is +   function A (X : T) return String is +   begin +      return X.A; +   end; +end; diff --git a/llvm/test/FrontendAda/var_size.ads b/llvm/test/FrontendAda/var_size.ads new file mode 100644 index 00000000000..6a570cba8bd --- /dev/null +++ b/llvm/test/FrontendAda/var_size.ads @@ -0,0 +1,7 @@ +package Var_Size is +   type T (Length : Natural) is record +      A : String (1 .. Length); +      B : String (1 .. Length); +   end record; +   function A (X : T) return String; +end; diff --git a/llvm/test/FrontendAda/vce.adb b/llvm/test/FrontendAda/vce.adb new file mode 100644 index 00000000000..3d783d04572 --- /dev/null +++ b/llvm/test/FrontendAda/vce.adb @@ -0,0 +1,7 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +procedure VCE is +  S : String (1 .. 2); +  B : Character := 'B'; +begin +  S := 'A' & B; +end; diff --git a/llvm/test/FrontendAda/vce_lv.adb b/llvm/test/FrontendAda/vce_lv.adb new file mode 100644 index 00000000000..5242b157586 --- /dev/null +++ b/llvm/test/FrontendAda/vce_lv.adb @@ -0,0 +1,9 @@ +-- RUN: %llvmgcc -c %s -o /dev/null +procedure VCE_LV is +   type P is access String ; +   type T is new P (5 .. 7); +   subtype U is String (5 .. 7); +   X : T := new U'(others => 'A'); +begin +   null; +end;  | 

