sem_ch12.adb: Add comment.
2010-10-07 Robert Dewar <dewar@adacore.com> * sem_ch12.adb: Add comment. * sem_ch6.adb: Minor reformatting. From-SVN: r165102
This commit is contained in:
parent
a557f9cc0e
commit
2bfb1b72be
@ -1,3 +1,8 @@
|
||||
2010-10-07 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* sem_ch12.adb: Add comment.
|
||||
* sem_ch6.adb: Minor reformatting.
|
||||
|
||||
2010-10-07 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb, par-ch10.adb: Add
|
||||
|
@ -2801,9 +2801,12 @@ package body Sem_Ch12 is
|
||||
Result_Type := Access_Definition (Spec, Result_Definition (Spec));
|
||||
Set_Etype (Id, Result_Type);
|
||||
|
||||
-- Check restriction imposed by AI05-073 : a generic function
|
||||
-- Check restriction imposed by AI05-073: a generic function
|
||||
-- cannot return an abstract type or an access to such.
|
||||
|
||||
-- This is a binding interpreration should it apply to earlier
|
||||
-- versions of Ada as well as Ada 2012???
|
||||
|
||||
if Is_Abstract_Type (Designated_Type (Result_Type))
|
||||
and then Ada_Version >= Ada_12
|
||||
then
|
||||
|
@ -2957,13 +2957,13 @@ package body Sem_Ch6 is
|
||||
-- Ada 2005 (AI-251): If the return type is abstract, verify that
|
||||
-- the subprogram is abstract also. This does not apply to renaming
|
||||
-- declarations, where abstractness is inherited.
|
||||
|
||||
-- In case of primitives associated with abstract interface types
|
||||
-- the check is applied later (see Analyze_Subprogram_Declaration).
|
||||
|
||||
if not Nkind_In (Parent (N),
|
||||
N_Subprogram_Renaming_Declaration,
|
||||
N_Abstract_Subprogram_Declaration,
|
||||
N_Formal_Abstract_Subprogram_Declaration)
|
||||
if not Nkind_In (Parent (N), N_Subprogram_Renaming_Declaration,
|
||||
N_Abstract_Subprogram_Declaration,
|
||||
N_Formal_Abstract_Subprogram_Declaration)
|
||||
then
|
||||
if Is_Abstract_Type (Etype (Designator))
|
||||
and then not Is_Interface (Etype (Designator))
|
||||
@ -2971,7 +2971,7 @@ package body Sem_Ch6 is
|
||||
Error_Msg_N
|
||||
("function that returns abstract type must be abstract", N);
|
||||
|
||||
-- Ada 2012 (AI-0073) : extend this test to subprograms with an
|
||||
-- Ada 2012 (AI-0073): extend this test to subprograms with an
|
||||
-- access result whose designated type is abstract.
|
||||
|
||||
elsif Nkind (Result_Definition (N)) = N_Access_Definition
|
||||
|
Loading…
Reference in New Issue
Block a user