diff options
author | Thomas Quinot <quinot@adacore.com> | 2010-06-22 07:03:30 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2010-06-22 09:03:30 +0200 |
commit | d7567964ea0f6ff865f8488a06bc5dff75a0973e (patch) | |
tree | 584d7085a6f336711ab6bd6de33303e3dcb54b19 /gcc/passes.c | |
parent | ae77c68b392ce7519050eda52205284d9fc68a4e (diff) | |
download | gcc-d7567964ea0f6ff865f8488a06bc5dff75a0973e.zip gcc-d7567964ea0f6ff865f8488a06bc5dff75a0973e.tar.gz gcc-d7567964ea0f6ff865f8488a06bc5dff75a0973e.tar.bz2 |
sem_eval.adb (Find_Universal_Operator_Type): New subprogram to identify the operand type of an operator on universal operands...
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_eval.adb (Find_Universal_Operator_Type): New
subprogram to identify the operand type of an operator on universal
operands, when an explicit scope indication is present. Diagnose the
case where such a call is ambiguous.
(Eval_Arithmetic_Op, Eval_Relational_Op, Eval_Unary_Op):
Use the above to identify the operand type so it can be properly frozen.
* sem_res.adb (Make_Call_Into_Operator): Remove bogus freeze of operand
type, done in an arbitrary, possibly incorrect type (the presence of
some numeric type in the scope is checked for legality, but when more
than one such type is in the scope, we just pick a random one, not
necessarily the expected one).
* sem_utils.ads, sem_utils.adb (Is_Universal_Numeric_Type): New utility
subprogram.
From-SVN: r161134
Diffstat (limited to 'gcc/passes.c')
0 files changed, 0 insertions, 0 deletions