aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2024-10-08 22:52:38 +0200
committerMarc Poulhiès <dkm@gcc.gnu.org>2024-11-04 16:57:55 +0100
commit5990d3e7163ff79829cf93524ac90ea3d6d901ec (patch)
treecb45f2527e21816525f1a5b553563f823f763d17 /gcc
parent9c3b5ed02e8b0599f7566fa914f29a75aa438a7b (diff)
downloadgcc-5990d3e7163ff79829cf93524ac90ea3d6d901ec.zip
gcc-5990d3e7163ff79829cf93524ac90ea3d6d901ec.tar.gz
gcc-5990d3e7163ff79829cf93524ac90ea3d6d901ec.tar.bz2
ada: Fix visibility of Taft amendment types
When uninstalling private package declarations we must mark Taft amendment types hidden, just like we mark other types. Looking at previous revisions of this code, it is quite clear that this bug comes from a code evolution and marking types should happen in all ELSE branches of the enclosing IF statement. gcc/ada/ChangeLog: * sem_ch7.adb (Uninstall_Declarations): Mark Taft amendment types like we mark other types declared in private package declarations.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/sem_ch7.adb3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch7.adb b/gcc/ada/sem_ch7.adb
index 28031b5..07a88fe 100644
--- a/gcc/ada/sem_ch7.adb
+++ b/gcc/ada/sem_ch7.adb
@@ -3375,6 +3375,9 @@ package body Sem_Ch7 is
end loop;
end;
+ Set_Is_Hidden (Id);
+ Set_Is_Potentially_Use_Visible (Id, False);
+
-- For subtypes of private types the frontend generates two entities:
-- one associated with the partial view and the other associated with
-- the full view. When the subtype declaration is public the frontend