diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2021-08-26 17:35:27 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-10-04 08:45:06 +0000 |
commit | 44bfdde1e96167f07b86b0dcd773931353a98ea7 (patch) | |
tree | 5e04f97813c84e4889ef1285c2372860fd1aaa72 /gcc | |
parent | 263e2936305cb3b995db8f86ce8c60579caeeda3 (diff) | |
download | gcc-44bfdde1e96167f07b86b0dcd773931353a98ea7.zip gcc-44bfdde1e96167f07b86b0dcd773931353a98ea7.tar.gz gcc-44bfdde1e96167f07b86b0dcd773931353a98ea7.tar.bz2 |
[Ada] Fix missing check on slice with a subtype indication
gcc/ada/
* sem_res.adb (Resolve_Slice): Handle range given as a subtype
indication.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/sem_res.adb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index c493d5d..ba733a5 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -11360,7 +11360,11 @@ package body Sem_Res is Set_Parent (Dexpr, Parent (Drange)); Set_Sloc (Dexpr, Sloc (Drange)); - -- The discrete_range is a regular range. Resolve the bounds and remove + elsif Nkind (Drange) = N_Subtype_Indication then + Dexpr := Range_Expression (Constraint (Drange)); + + -- The discrete_range is a regular range (or a range attribute, which + -- will be resolved into a regular range). Resolve the bounds and remove -- their side effects. else |