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