aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJustin Squirek <squirek@adacore.com>2024-04-11 19:13:52 +0000
committerMarc Poulhiès <poulhies@adacore.com>2024-06-10 11:04:00 +0200
commitc936305076919e6e7fcf7e8c6332c897571a2894 (patch)
tree44b898db4eb9c584511308edc67638848d80d2d5 /gcc
parent7158a64fe920fc5ed14b79459486a58e9718326d (diff)
downloadgcc-c936305076919e6e7fcf7e8c6332c897571a2894.zip
gcc-c936305076919e6e7fcf7e8c6332c897571a2894.tar.gz
gcc-c936305076919e6e7fcf7e8c6332c897571a2894.tar.bz2
ada: Crash checking accessibility level on private type
This patch fixes an issue in the compiler whereby calculating a static accessibility level on a private type with an access discriminant resulted in a compile time crash when No_Dynamic_Accessibility_Checks is enabled. gcc/ada/ * accessibility.adb (Accessibility_Level): Use Get_Full_View to avoid crashes when calculating scope.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/accessibility.adb2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ada/accessibility.adb b/gcc/ada/accessibility.adb
index 33ce001..47b3a7a 100644
--- a/gcc/ada/accessibility.adb
+++ b/gcc/ada/accessibility.adb
@@ -2227,7 +2227,7 @@ package body Accessibility is
-- that of the type.
elsif Ekind (Def_Ent) = E_Discriminant then
- return Scope_Depth (Scope (Def_Ent));
+ return Scope_Depth (Get_Full_View (Scope (Def_Ent)));
end if;
end if;