re PR ada/17985 (GNAT accepts extension aggregate where expexted type is not extension)

2008-05-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb: Update comments.
	Improve previous change for PR ada/17985

From-SVN: r135636
This commit is contained in:
Ed Schonberg 2008-05-20 14:49:21 +02:00 committed by Arnaud Charlet
parent 73c25d9b9d
commit 1543e3abae

View File

@ -2113,7 +2113,7 @@ package body Sem_Aggr is
function Valid_Ancestor_Type return Boolean;
-- Verify that the type of the ancestor part is a non-private ancestor
-- of the expected type.
-- of the expected type, which must be a type extension.
----------------------------
-- Valid_Limited_Ancestor --
@ -2159,8 +2159,8 @@ package body Sem_Aggr is
Imm_Type := Etype (Base_Type (Imm_Type));
end loop;
if Etype (Imm_Type) /= Base_Type (A_Type)
or else Base_Type (Typ) = Base_Type (A_Type)
if not Is_Derived_Type (Base_Type (Typ))
or else Etype (Imm_Type) /= Base_Type (A_Type)
then
Error_Msg_NE ("expect ancestor type of &", A, Typ);
return False;