From: Justin Squirek <[email protected]>
This patch modifies the unreferenced entity warning in the compiler to avoid
noisily warning about unreferenced abstract subprogram.
gcc/ada/
* sem_warn.adb (Warn_On_Unreferenced_Entity): Add a condition to
ignore warnings on unreferenced abstract subprogram.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/sem_warn.adb | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb
index 2de3f8668b0..91a57d521d1 100644
--- a/gcc/ada/sem_warn.adb
+++ b/gcc/ada/sem_warn.adb
@@ -4452,12 +4452,16 @@ package body Sem_Warn is
("?u?literal & is not referenced!", E);
when E_Function =>
- Error_Msg_N -- CODEFIX
- ("?u?function & is not referenced!", E);
+ if not Is_Abstract_Subprogram (E) then
+ Error_Msg_N -- CODEFIX
+ ("?u?function & is not referenced!", E);
+ end if;
when E_Procedure =>
- Error_Msg_N -- CODEFIX
- ("?u?procedure & is not referenced!", E);
+ if not Is_Abstract_Subprogram (E) then
+ Error_Msg_N -- CODEFIX
+ ("?u?procedure & is not referenced!", E);
+ end if;
when E_Package =>
Error_Msg_N -- CODEFIX
--
2.45.1