diff options
author | Ed Schonberg <schonberg@adacore.com> | 2014-07-31 12:26:19 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-31 14:26:19 +0200 |
commit | 3dddb11ea42ee8c8cbb235f99ef6986e84919b4e (patch) | |
tree | 9cb2ffd0f833fe97277a9207f023a1eef322dba5 /gcc/ada/exp_ch4.adb | |
parent | 9420f51f051e07b8c60e36e1ef45806788d4e590 (diff) | |
download | gcc-3dddb11ea42ee8c8cbb235f99ef6986e84919b4e.zip gcc-3dddb11ea42ee8c8cbb235f99ef6986e84919b4e.tar.gz gcc-3dddb11ea42ee8c8cbb235f99ef6986e84919b4e.tar.bz2 |
sem_util.ads (Find_Specific_Type): Moved here from exp_disp.adb.
2014-07-31 Ed Schonberg <schonberg@adacore.com>
* sem_util.ads (Find_Specific_Type): Moved here from exp_disp.adb.
* sem_util.adb (Find_Specific_Type): If type is untagged private,
retrieve full view so that primitive operations can be located.
* exp_disp.adb Move Find_Specific_Type to sem_util.
* exp_ch4.adb (Expand_N_Op_Eq): If operands are class-wide, use
Find_Specific_Type to locate primitive equality.
* exp_util.adb (Make_CW_Equivalent_Type): A class_wide equivalent
type does not require initialization.
* exp_attr.adb (Compile_Stream_Body_In_Scope): Within an instance
body all visibility is established, and the enclosing package
declarations must not be installed.
From-SVN: r213345
Diffstat (limited to 'gcc/ada/exp_ch4.adb')
-rw-r--r-- | gcc/ada/exp_ch4.adb | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb index 1fb35c1..92bde0d 100644 --- a/gcc/ada/exp_ch4.adb +++ b/gcc/ada/exp_ch4.adb @@ -7300,15 +7300,15 @@ package body Exp_Ch4 is Op_Name := Node (Prim); -- Find the type's predefined equality or an overriding - -- user- defined equality. The reason for not simply calling + -- user-defined equality. The reason for not simply calling -- Find_Prim_Op here is that there may be a user-defined - -- overloaded equality op that precedes the equality that we want, - -- so we have to explicitly search (e.g., there could be an - -- equality with two different parameter types). + -- overloaded equality op that precedes the equality that we + -- want, so we have to explicitly search (e.g., there could be + -- an equality with two different parameter types). else if Is_Class_Wide_Type (Typl) then - Typl := Root_Type (Typl); + Typl := Find_Specific_Type (Typl); end if; Prim := First_Elmt (Primitive_Operations (Typl)); |