sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to determine...
authorEd Schonberg <schonberg@adacore.com>
Tue, 14 Aug 2007 08:46:31 +0000 (10:46 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 14 Aug 2007 08:46:31 +0000 (10:46 +0200)
commit401093c15c3902b916df85645c894ceb13aab701
tree845ccedfd3f2b59d738d79c1bf388b4d7df531e3
parent1c0ce9d83b5935bdba514340ef498c4bb73cfb78
sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to determine whether operation applies to the...

2007-08-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
parameter to determine whether operation applies to the prefix.
(Complete_Object_Operation): If actual has an access type and
controlling formal is not an in_parameter, reject the actual if it is
an access_to_constant type.
(Try_Primitive_Operation): If the type of the prefix is a formal tagged
type, the candidate operations are found in the scope of declaration of
the type, because the type has no primitive subprograms.
(Analyze_Selected_Component): If prefix is class-wide, and root type is
a private extension, only examine visible components before trying to
analyze as a prefixed call.
Change Entity_List to Type_To_Use, for better readability.
(Has_Fixed_Op): Use base type when checking whether the type of an
operator has a user-defined multiplication/division
(Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
user-defined operators are available for fixed-point types.

From-SVN: r127444
gcc/ada/sem_ch4.adb