summaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch8.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-04-15 14:48:57 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-04-15 14:48:57 +0200
commitc3b36d484f5b232e882a0535bf275329dc91f3a4 (patch)
tree47bf67450e9d66673b482978f600394e794af7d2 /gcc/ada/sem_ch8.adb
parent3405870d5aadb353ada9c15c886b1cc13d9fd339 (diff)
downloadgcc-c3b36d484f5b232e882a0535bf275329dc91f3a4.tar.gz
[multiple changes]
2009-04-15 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the immediate parent of the controlled function call is a component association. 2009-04-15 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the corresponding class-wide type is also in use. 2009-04-15 Thomas Quinot <quinot@adacore.com> * frontend.adb: Minor comment fix From-SVN: r146110
Diffstat (limited to 'gcc/ada/sem_ch8.adb')
-rw-r--r--gcc/ada/sem_ch8.adb8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb
index d075a23f044..4c97e09ee4a 100644
--- a/gcc/ada/sem_ch8.adb
+++ b/gcc/ada/sem_ch8.adb
@@ -7143,6 +7143,14 @@ package body Sem_Ch8 is
elsif not Redundant_Use (Id) then
Set_In_Use (T);
+
+ -- If T is tagged, primitive operators on class-wide operands
+ -- are also available.
+
+ if Is_Tagged_Type (T) then
+ Set_In_Use (Class_Wide_Type (T));
+ end if;
+
Set_Current_Use_Clause (T, Parent (Id));
Op_List := Collect_Primitive_Operations (T);