diff options
author | Viljar Indus <indus@adacore.com> | 2024-10-16 12:01:38 +0300 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-11-04 16:57:58 +0100 |
commit | 19367d7d8fb94f4157f6c1406473de7cff5ca149 (patch) | |
tree | 615a8904dacbd0de2b582d6b7bac72448c1e4e18 | |
parent | 7bcfdac0ef763587efd014310b779e192b143c62 (diff) | |
download | gcc-19367d7d8fb94f4157f6c1406473de7cff5ca149.zip gcc-19367d7d8fb94f4157f6c1406473de7cff5ca149.tar.gz gcc-19367d7d8fb94f4157f6c1406473de7cff5ca149.tar.bz2 |
ada: Avoid unused with warning with Extend_System
When the Extend_System pragma is used then we are supposed
to check the extended system for referenced entities. Otherwise
we would get an incorrect unused with warning.
This was previously done on body files but it should also be
done specs as well.
gcc/ada/ChangeLog:
* sem_warn.adb (Check_One_Unit): When a system extension is
present always check entities from that unit before marking
the unit unreferenced.
-rw-r--r-- | gcc/ada/sem_warn.adb | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb index 69e60be..2ffd631 100644 --- a/gcc/ada/sem_warn.adb +++ b/gcc/ada/sem_warn.adb @@ -2583,14 +2583,17 @@ package body Sem_Warn is if No (Ent) then + -- Check entities in the extended system if + -- specified. + + if Check_System_Aux (Lunit) then + null; + -- If in spec, just set the flag - if Unit = Spec_Unit then + elsif Unit = Spec_Unit then Set_No_Entities_Ref_In_Spec (Item); - elsif Check_System_Aux (Lunit) then - null; - -- Else the warning may be needed else |