[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Fri, 10 Sep 2010 10:36:03 +0000 (12:36 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 10 Sep 2010 10:36:03 +0000 (12:36 +0200)
2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>

* exp_dbug.ads: Mention enhanced encoding for array types.

2010-09-10  Jerome Lambourg  <lambourg@adacore.com>

* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Size clause are
unsupported in VM targets. Display a warning in this case.

From-SVN: r164160

gcc/ada/ChangeLog
gcc/ada/exp_dbug.ads
gcc/ada/sem_ch13.adb

index 85f6c68..334e883 100644 (file)
@@ -1,3 +1,12 @@
+2010-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_dbug.ads: Mention enhanced encoding for array types.
+
+2010-09-10  Jerome Lambourg  <lambourg@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Size clause are
+       unsupported in VM targets. Display a warning in this case.
+
 2010-09-10  Ed Schonberg  <schonberg@adacore.com>
 
        * sprint.adb (Sprint_Node_Actual, case N_Derived_Type_Definition): Do
index 71c9bba..b4cf44b 100644 (file)
@@ -895,10 +895,10 @@ package Exp_Dbug is
       -----------------
 
       --  Since there is no way for the debugger to obtain the index subtypes
-      --  for an array type, we produce a type that has the name of the
-      --  array type followed by "___XA" and is a record whose field names
-      --  are the names of the types for the bounds. The types of these
-      --  fields is an integer type which is meaningless.
+      --  for an array type, we produce a type that has the name of the array
+      --  type followed by "___XA" and is a record type whose field types are
+      --  the respective types for the bounds (and whose field names are the
+      --  names of these types).
 
       --  To conserve space, we do not produce this type unless one of the
       --  index types is either an enumeration type, has a variable upper
index 5f067cc..f6d10e4 100644 (file)
@@ -1532,6 +1532,16 @@ package body Sem_Ch13 is
                Error_Msg_N
                  ("size cannot be given for unconstrained array", Nam);
 
+            elsif VM_Target /= No_VM then
+
+               --  Size clauses are ignored for VM targets. Display a warning
+               --  unless we are in GNAT mode, in which case this is useless.
+
+               if not GNAT_Mode then
+                  Error_Msg_N
+                    ("?size clauses are ignored in this configuration", N);
+               end if;
+
             elsif Size /= No_Uint then
                if Is_Type (U_Ent) then
                   Etyp := U_Ent;