mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-23 18:01:22 +08:00
sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex visibility check on the component type if the simple test fails.
2008-08-05 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex visibility check on the component type if the simple test fails. From-SVN: r138697
This commit is contained in:
parent
628a4180a3
commit
ba3fa65037
@ -1,3 +1,14 @@
|
||||
2008-08-05 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* sem_ch3.adb: Minor reformatting
|
||||
|
||||
* prj-nmsc.adb: Minor reformatting
|
||||
|
||||
2008-08-05 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex
|
||||
visibility check on the component type if the simple test fails.
|
||||
|
||||
2008-08-05 Jose Ruiz <ruiz@adacore.com>
|
||||
|
||||
* init.c (__gnat_install_handler for linux): If we are building the
|
||||
|
@ -9246,10 +9246,20 @@ package body Sem_Ch12 is
|
||||
Next_Index (I2);
|
||||
end loop;
|
||||
|
||||
if not Subtypes_Match
|
||||
(Find_Actual_Type (Component_Type (A_Gen_T), A_Gen_T),
|
||||
Component_Type (Act_T))
|
||||
-- Check matching subtypes. Note that there are complex visibility
|
||||
-- issues when the generic is a child unit and some aspect of the
|
||||
-- generic type is declared in a parent unit of the generic. We do
|
||||
-- the test to handle this special case only after a direct check
|
||||
-- for static matching has failed.
|
||||
|
||||
if Subtypes_Match
|
||||
(Component_Type (A_Gen_T), Component_Type (Act_T))
|
||||
or else Subtypes_Match
|
||||
(Find_Actual_Type (Component_Type (A_Gen_T), A_Gen_T),
|
||||
Component_Type (Act_T))
|
||||
then
|
||||
null;
|
||||
else
|
||||
Error_Msg_NE
|
||||
("component subtype of actual does not match that of formal &",
|
||||
Actual, Gen_T);
|
||||
|
Loading…
x
Reference in New Issue
Block a user