diff options
Diffstat (limited to 'gcc/ada/sem_util.adb')
-rw-r--r-- | gcc/ada/sem_util.adb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index a73d346084a..e56066b7d4d 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -11380,7 +11380,15 @@ package body Sem_Util is L : constant Node_Id := Left_Opnd (Op); R : constant Node_Id := Right_Opnd (Op); begin - if Etype (L) = Found_Type + -- The case for the message is when the left operand of the + -- comparison is the same modular type, or when it is an + -- integer literal (or other universal integer expression), + -- which would have been typed as the modular type if the + -- parens had been there. + + if (Etype (L) = Found_Type + or else + Etype (L) = Universal_Integer) and then Is_Integer_Type (Etype (R)) then Error_Msg_N |