https://gcc.gnu.org/g:ead57a9ad8cb8431864f9ebe86778be58c76e159

commit r16-1853-gead57a9ad8cb8431864f9ebe86778be58c76e159
Author: Viljar Indus <in...@adacore.com>
Date:   Wed Apr 30 13:50:27 2025 +0300

    ada: Mark errors that are removed as deleted
    
    gcc/ada/ChangeLog:
    
            * errout.adb (Remove_Warning_Messages): Mark removed messages as
            deleted.
            * erroutc.adb (Purge_Messages): Likewise.

Diff:
---
 gcc/ada/errout.adb  | 2 ++
 gcc/ada/erroutc.adb | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/gcc/ada/errout.adb b/gcc/ada/errout.adb
index 2554d5895b3a..5ba44a21d213 100644
--- a/gcc/ada/errout.adb
+++ b/gcc/ada/errout.adb
@@ -3364,6 +3364,8 @@ package body Errout is
          E := First_Error_Msg;
          while E /= No_Error_Msg loop
             while To_Be_Removed (Errors.Table (E).Next) loop
+               Errors.Table (Errors.Table (E).Next).Deleted := True;
+
                Errors.Table (E).Next :=
                  Errors.Table (Errors.Table (E).Next).Next;
 
diff --git a/gcc/ada/erroutc.adb b/gcc/ada/erroutc.adb
index 707851ac6a7a..26095520fa1b 100644
--- a/gcc/ada/erroutc.adb
+++ b/gcc/ada/erroutc.adb
@@ -1332,6 +1332,8 @@ package body Erroutc is
       E := First_Error_Msg;
       while E /= No_Error_Msg loop
          while To_Be_Purged (Errors.Table (E).Next) loop
+            Errors.Table (Errors.Table (E).Next).Deleted := True;
+
             Errors.Table (E).Next :=
               Errors.Table (Errors.Table (E).Next).Next;
          end loop;

Reply via email to