aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop-manip.c
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2021-09-13 20:14:56 -0400
committerPierre-Marie de Rodat <derodat@adacore.com>2021-10-25 15:07:22 +0000
commit51e38f3b2873554f6481b0dc1e7cd4b8359a2b5f (patch)
tree467ebbdb854f114de48f555e0646e46df8febac4 /gcc/tree-vect-loop-manip.c
parent42b39995546a63fe7d9313744cdab21f356346b2 (diff)
downloadgcc-51e38f3b2873554f6481b0dc1e7cd4b8359a2b5f.zip
gcc-51e38f3b2873554f6481b0dc1e7cd4b8359a2b5f.tar.gz
gcc-51e38f3b2873554f6481b0dc1e7cd4b8359a2b5f.tar.bz2
[Ada] Spurious error on user-defined literal and operator
gcc/ada/ * sem_ch4.adb (Has_Possible_Literal_Aspects): If analysis of an operator node fails to find a possible interpretation, and one of its operands is a literal or a named number, assign to the node the corresponding class type (Any_Integer, Any_String, etc). (Operator_Check): Call it before emitting a type error. * sem_res.adb (Has_Applicable_User_Defined_Literal): Given a literal and a type, determine whether the type has a user_defined aspect that can apply to the literal, and rewrite the node as call to the corresponding function. Most of the code was previously in procedure Resolve. (Try_User_Defined_Literal): Check operands of a predefined operator that fails to resolve, and apply Has_Applicable_User_Defined_Literal to literal operands if any, to find if a conversion will allow the operator to resolve properly. (Resolve): Call the above when a literal or an operator with a literal operand fails to resolve.
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
0 files changed, 0 insertions, 0 deletions