]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Avoid calling Resolve with Stand.Any_Fixed as the expected type
authorSteve Baird <baird@adacore.com>
Fri, 10 Jan 2025 21:15:18 +0000 (13:15 -0800)
committerEric Botcazou <ebotcazou@adacore.com>
Thu, 5 Jun 2025 13:29:50 +0000 (15:29 +0200)
commit29447fb66f7cf4a515cbbcc812008092d519bc9c
tree5349992c732ccf0d37a275486db384586bdc0935
parenta52223c5b2ba677468b5fabc010492998e4dea3a
ada: Avoid calling Resolve with Stand.Any_Fixed as the expected type

When we call Resolve for an expression, we pass in the expected type
for that expression. In the absence of semantic errors, that expected type
should never be any of the "Any_xxx" types declared in stand.ads (e.g.,
Any_Array, Any_Numeric, Any_Real). In particular, it should never be Any_Fixed.
Fix a case in which this rule was being violated.

gcc/ada/ChangeLog:

* sem_res.adb
(Set_Mixed_Mode_Operand): If we are about to call Resolve
passing in Any_Fixed as the expected type, then instead pass in
the fixed point type of the other operand (i.e., B_Typ).
gcc/ada/sem_res.adb