summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/slice5.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gnat.dg/slice5.adb')
-rw-r--r--gcc/testsuite/gnat.dg/slice5.adb24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/slice5.adb b/gcc/testsuite/gnat.dg/slice5.adb
new file mode 100644
index 000000000..c619b2f60
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/slice5.adb
@@ -0,0 +1,24 @@
+-- { dg-do compile }
+-- { dg-options "-gnatwr" }
+
+procedure Slice5 is
+
+ type Item_Type is record
+ I : Integer;
+ end record;
+
+ type Index_Type is (A, B);
+
+ type table is array (integer range <>) of integer;
+ subtype Small is Integer range 1 .. 10;
+ T1 : constant Table (Small) := (Small => 0);
+ T2 : constant Table (Small) := T1 (Small); -- { dg-warning "redundant slice denotes whole array" }
+
+ Item_Array : constant array (Index_Type) of Item_Type
+ := (A => (I => 10), B => (I => 22));
+
+ Item : Item_Type;
+ for Item'Address use Item_Array(Index_Type)'Address; -- { dg-warning "redundant slice denotes whole array" }
+begin
+ null;
+end;