aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch4.adb
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2014-07-31 12:26:19 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-31 14:26:19 +0200
commit3dddb11ea42ee8c8cbb235f99ef6986e84919b4e (patch)
tree9cb2ffd0f833fe97277a9207f023a1eef322dba5 /gcc/ada/exp_ch4.adb
parent9420f51f051e07b8c60e36e1ef45806788d4e590 (diff)
downloadgcc-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.adb10
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));