summaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-10 10:36:03 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-10 10:36:03 +0000
commit682fa897492188af808b9eaa966e8c784db5d3f7 (patch)
tree264f5ef78379bb0bf6b826c9b10e70672a02dc4d /gcc/ada
parent1f6c655ed6b9d4fcb966f05d9a8af6569cdbde40 (diff)
downloadgcc-682fa897492188af808b9eaa966e8c784db5d3f7.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164160 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog9
-rw-r--r--gcc/ada/exp_dbug.ads8
-rw-r--r--gcc/ada/sem_ch13.adb10
3 files changed, 23 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 85f6c685fc7..334e8838a15 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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
diff --git a/gcc/ada/exp_dbug.ads b/gcc/ada/exp_dbug.ads
index 71c9bba651b..b4cf44b6d1d 100644
--- a/gcc/ada/exp_dbug.ads
+++ b/gcc/ada/exp_dbug.ads
@@ -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
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb
index 5f067ccc261..f6d10e4b1b2 100644
--- a/gcc/ada/sem_ch13.adb
+++ b/gcc/ada/sem_ch13.adb
@@ -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;