[multiple changes]

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
This commit is contained in:
Arnaud Charlet 2010-09-10 12:36:03 +02:00
parent be257e995d
commit f1ae594e08
3 changed files with 23 additions and 4 deletions

View 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

View 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

View 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;