From f1ae594e081613f200e549399781c77fe2adfcb4 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Fri, 10 Sep 2010 12:36:03 +0200 Subject: [PATCH] [multiple changes] 2010-09-10 Eric Botcazou * exp_dbug.ads: Mention enhanced encoding for array types. 2010-09-10 Jerome Lambourg * 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 | 9 +++++++++ gcc/ada/exp_dbug.ads | 8 ++++---- gcc/ada/sem_ch13.adb | 10 ++++++++++ 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 + + * exp_dbug.ads: Mention enhanced encoding for array types. + +2010-09-10 Jerome Lambourg + + * 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 * 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;