mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-18 20:11:32 +08:00
[multiple changes]
2015-01-07 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Expand_Interface_Conversion): Adding missing generation of accessibility check. 2015-01-07 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Derived_Type_Declaration): In the case of an illegal completion from a class- wide type, set etype of the derived type properly to prevent cascaded errors. From-SVN: r219283
This commit is contained in:
parent
18dae8141c
commit
2ea3ba25c0
@ -1,3 +1,14 @@
|
||||
2015-01-07 Javier Miranda <miranda@adacore.com>
|
||||
|
||||
* exp_disp.adb (Expand_Interface_Conversion): Adding missing
|
||||
generation of accessibility check.
|
||||
|
||||
2015-01-07 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch3.adb (Derived_Type_Declaration): In the case of an
|
||||
illegal completion from a class- wide type, set etype of the
|
||||
derived type properly to prevent cascaded errors.
|
||||
|
||||
2015-01-07 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor
|
||||
|
@ -1422,6 +1422,11 @@ package body Exp_Disp is
|
||||
|
||||
if Is_Access_Type (Etype (Expression (N))) then
|
||||
|
||||
Apply_Accessibility_Check
|
||||
(N => Expression (N),
|
||||
Typ => Etype (N),
|
||||
Insert_Node => N);
|
||||
|
||||
-- Generate: Func (Address!(Expression))
|
||||
|
||||
Rewrite (N,
|
||||
|
@ -15860,11 +15860,12 @@ package body Sem_Ch3 is
|
||||
|
||||
Taggd := Is_Tagged_Type (Parent_Type);
|
||||
|
||||
-- Perhaps the parent type should be changed to the class-wide type's
|
||||
-- specific type in this case to prevent cascading errors ???
|
||||
-- Set the parent type to the class-wide type's specific type
|
||||
-- in this case to prevent cascading errors
|
||||
|
||||
if Present (Extension) and then Is_Class_Wide_Type (Parent_Type) then
|
||||
Error_Msg_N ("parent type must not be a class-wide type", Indic);
|
||||
Set_Etype (T, Etype (Parent_Type));
|
||||
return;
|
||||
end if;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user