aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch4.adb
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2020-03-21 13:25:45 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-12 04:29:13 -0400
commit4459999864a87462a7dc4a877238eb2cac0d1b3e (patch)
tree2e3c3687a38d00fe1bed4ceb2cc1f05253f1d1b9 /gcc/ada/sem_ch4.adb
parentc14b424ec73738165d0031888b534562a7ce6438 (diff)
downloadgcc-4459999864a87462a7dc4a877238eb2cac0d1b3e.zip
gcc-4459999864a87462a7dc4a877238eb2cac0d1b3e.tar.gz
gcc-4459999864a87462a7dc4a877238eb2cac0d1b3e.tar.bz2
[Ada] Small cleanup in handling of Ada 2012 implicit dereferences
2020-06-12 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * sem_ch4.adb (Try_Container_Indexing): Replace call to First_Discriminant by Get_Reference_Discriminant to get the reference discriminant. * sem_ch13.adb (Check_Indexing_Functions): Likewise. * sem_ch5.adb (Preanalyze_Range): Call Get_Reference_Discriminant to get the reference discriminant. * sem_util.adb (Is_OK_Variable_For_Out_Formal): Treat all Ada 2012 implicit dereferences in only one place. (Is_Variable): Minor tweak.
Diffstat (limited to 'gcc/ada/sem_ch4.adb')
-rw-r--r--gcc/ada/sem_ch4.adb3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb
index bb0017e..7bdb0d1 100644
--- a/gcc/ada/sem_ch4.adb
+++ b/gcc/ada/sem_ch4.adb
@@ -8097,7 +8097,8 @@ package body Sem_Ch4 is
-- as such and retry.
if Has_Implicit_Dereference (Pref_Typ) then
- Build_Explicit_Dereference (Prefix, First_Discriminant (Pref_Typ));
+ Build_Explicit_Dereference
+ (Prefix, Get_Reference_Discriminant (Pref_Typ));
return Try_Container_Indexing (N, Prefix, Exprs);
-- Otherwise this is definitely not container indexing