]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/ada/sem_ch4.adb
sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no abstract interpre...
authorEd Schonberg <schonberg@adacore.com>
Wed, 15 Feb 2006 09:44:37 +0000 (10:44 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 15 Feb 2006 09:44:37 +0000 (10:44 +0100)
commitfe45e59ec7c0f225502471bf4202bee09efb63db
tree7851a02c7a187a5b03c154214ea5fede66f09443
parent57193e09243103515c50b2b433ddb15a90d311b7
sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no abstract interpretations on an operator...

2006-02-13  Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_ch4.adb (Remove_Abstract_Interpretations): Even if there are no
abstract interpretations on an operator, remove interpretations that
yield Address or a type derived from it, if one of the operands is an
integer literal.
(Try_Object_Operation.Try_Primitive_Operation,
Try_Object_Operation.Try_Class_Wide_Operation): Set proper source
location when creating the new reference to a primitive or class-wide
operation as a part of rewriting a subprogram call.
(Try_Primitive_Operations): If context requires a function, collect all
interpretations after the first match, because there may be primitive
operations of the same type with the same profile and different return
types. From code reading.
(Try_Primitive_Operation): Use the node kind to choose the proper
operation when a function and a procedure have the same parameter
profile.
(Complete_Object_Operation): If formal is an access parameter and prefix
is an object, rewrite as an Access reference, to match signature of
primitive operation.
(Find_Equality_Type, Find_One_Interp): Handle properly equality given
by an expanded name with prefix Standard, when the operands are of an
anonymous access type.
(Remove_Abstract_Operations): If the operation is abstract because it is
inherited by a user-defined type derived from Address, remove it as
well from the set of candidate interpretations of an overloaded node.
(Analyze_Membership_Op): Membership test not applicable to cpp-class
types.

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