diff options
author | Javier Miranda <miranda@adacore.com> | 2010-09-09 09:47:53 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-09-09 11:47:53 +0200 |
commit | 0052da204e85630c973a0ad13b49e403abe1d5d3 (patch) | |
tree | 582bff1f7c1e5aea268c3bbccb6aa355adcb63cd /gcc/ada/sem_ch6.ads | |
parent | 498d1b808eea93dc9e08db1e8a7f9af4dc3bcb90 (diff) | |
download | gcc-0052da204e85630c973a0ad13b49e403abe1d5d3.zip gcc-0052da204e85630c973a0ad13b49e403abe1d5d3.tar.gz gcc-0052da204e85630c973a0ad13b49e403abe1d5d3.tar.bz2 |
sem_ch3.adb (Derive_Subprogram): The code that checks if a dispatching primitive covers some interface primitive...
2010-09-09 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Derive_Subprogram): The code that checks if a
dispatching primitive covers some interface primitive is incomplete.
Replace such code by the invocation of a new subprogram that provides
this functionality.
* sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
* sem_ch6.adb (Check_Missing_Return): Minor reformating
(Check_Convention): Complete if-statement conditition when reporting
errors (to avoid assertion failure).
* sem_ch13.adb (Make_Null_Procedure_Specs): This routine was previously
located in exp_ch3. Relocated inside Analyze_Freeze_Entity.
(Analyze_Freeze_Entity): Invoke routine that adds the spec of non
overridden null interface primitives.
* sem_type.adb (Is_Ancestor): If the parent of the partial view of a
private type is an interface then use the parent of its full view to
climb to its ancestor type.
* sem_disp.ads, sem_disp.adb (Covers_Some_Interface): New subprogram.
(Check_Dispatching_Operation): Extend assertion to handle wrappers of
null interface primitives.
(Is_Null_Interface_Primitive): New subprogram.
* exp_ch3.adb (Make_Null_Procedure_Specs): Removed.
(Expand_Freeze_Record_Type): Do not generate specs of null interface
subprograms because they are now generated by Analyze_Freeze_Entity.
From-SVN: r164059
Diffstat (limited to 'gcc/ada/sem_ch6.ads')
-rw-r--r-- | gcc/ada/sem_ch6.ads | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/ada/sem_ch6.ads b/gcc/ada/sem_ch6.ads index 5752c21..057544c 100644 --- a/gcc/ada/sem_ch6.ads +++ b/gcc/ada/sem_ch6.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2008, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2010, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -183,9 +183,9 @@ package Sem_Ch6 is (Tagged_Type : Entity_Id; Iface_Prim : Entity_Id; Prim : Entity_Id) return Boolean; - -- Returns true if both primitives have a matching name and they are also - -- type conformant. Special management is done for functions returning - -- interfaces. + -- Returns true if both primitives have a matching name, they are type + -- conformant, and Prim is defined in the scope of Tagged_Type. Special + -- management is done for functions returning interfaces. function Mode_Conformant (New_Id, Old_Id : Entity_Id) return Boolean; -- Determine whether two callable entities (subprograms, entries, |