aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2020-12-30 16:59:55 -0500
committerPierre-Marie de Rodat <derodat@adacore.com>2021-05-03 05:28:25 -0400
commitef9dd96c920268b679bfde704db2f72ffeef0f9b (patch)
tree621135f6149b78c97bc60a3c2c0517a70238dc6b /gcc
parent6bd4adf5bba9d692c4294dd6fc497967feacce1e (diff)
downloadgcc-ef9dd96c920268b679bfde704db2f72ffeef0f9b.zip
gcc-ef9dd96c920268b679bfde704db2f72ffeef0f9b.tar.gz
gcc-ef9dd96c920268b679bfde704db2f72ffeef0f9b.tar.bz2
[Ada] Error message on invalid prefixed procedure call
gcc/ada/ * sem_ch4.adb (Try_Object_Operation): When a prefixed call is overloaded and illegal, and the All_Errors flag is off, generate an error message if the re-analysis of some candidate interpretation fails to produce one.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/sem_ch4.adb10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb
index 84ab221..77f2812 100644
--- a/gcc/ada/sem_ch4.adb
+++ b/gcc/ada/sem_ch4.adb
@@ -10215,6 +10215,16 @@ package body Sem_Ch4 is
Report => True,
Success => Success,
Skip_First => True);
+
+ -- The error may hot have been reported yet for overloaded
+ -- prefixed calls, depending on the non-matching candidate,
+ -- in which case provide a concise error now.
+
+ if Serious_Errors_Detected = 0 then
+ Error_Msg_NE
+ ("cannot resolve prefixed call to primitive operation of&",
+ N, Entity (Prefix (N)));
+ end if;
end if;
-- No need for further errors