]> git.ipfire.org Git - thirdparty/gcc.git/commit
[Ada] Do not make procedure call with only tag-indeternminate actuals dispatching
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 1 Jun 2022 23:00:48 +0000 (01:00 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 4 Jul 2022 07:46:00 +0000 (07:46 +0000)
commit8c6bef0a33e32e6a95dca7d50cd5be37e7262775
treefbddcb7d0612c5865ddd13f8b1d8d30c80fea4bb
parent1f03b43fc7552fe105d33612b3b89b4f0b222798
[Ada] Do not make procedure call with only tag-indeternminate actuals dispatching

The RM 3.9.2(19) clause says that the controlling tag value is statically
determined to be the tag of the tagged type involved.  As a matter of fact,
the call would be made dispatching only as a by-product of the propagation
of the controlling tag value to the tag-indeternminate actuals, but that's
unnecessary and not done in the equivalent case of a procedure call with
both statically tagged and tag-indeternminate actuals.

gcc/ada/

* sem_disp.adb (Check_Dispatching_Call): Merge the two special cases
where there are no controlling actuals but tag-indeternminate ones.
gcc/ada/sem_disp.adb