]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ada: Mark constants inside a declare expression as referenced
authorViljar Indus <indus@adacore.com>
Tue, 14 Jan 2025 11:31:04 +0000 (13:31 +0200)
committerMarc Poulhiès <dkm@gcc.gnu.org>
Thu, 5 Jun 2025 08:18:33 +0000 (10:18 +0200)
Expressions within a declare expression were simply bound to
locally defined constants. However they were never marked as
referenced. This would trigger an unreferenced constant warning
if -gnatwu was used.

gcc/ada/ChangeLog:

* sem_res.adb (Resolve_Declare_Expression): Mark used
local variables inside a declare expression as referenced.

gcc/ada/sem_res.adb

index bbf7bb95ed84d4374a57f143de204df43e7a7cd7..865f967a5b93aa1f13ca174ba52d231bf0b79b12 100644 (file)
@@ -7806,6 +7806,7 @@ package body Sem_Res is
          then
             Set_Entity (N, Local);
             Set_Etype (N, Etype (Local));
+            Generate_Reference (Local, N);
          end if;
 
          return OK;