From 4fe56329e05e3e77c424929fdb102f2df075f74a Mon Sep 17 00:00:00 2001 From: Yannick Moy Date: Thu, 19 Sep 2019 08:14:13 +0000 Subject: [PATCH] [Ada] Use declared type for deciding on SPARK pointer rules A constant of pointer type is considered as mutable in SPARK, according to SPARK RM 3.10, but this should be based on the declared type of the constant instead of its underlying type. There is no impact on compilation hence no test. 2019-09-19 Yannick Moy gcc/ada/ * sem_prag.adb (Analyze_Depends_In_Decl_Part): Simplify previous test. From-SVN: r275950 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/sem_prag.adb | 8 +------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index e761f701fe7..54e48af3b1d 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-09-19 Yannick Moy + + * sem_prag.adb (Analyze_Depends_In_Decl_Part): Simplify previous + test. + 2019-09-19 Ed Schonberg * sem_ch7.adb (Install_Parent_Private_Declarations): If a diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 43673830c83..b54604d5426 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -1272,13 +1272,7 @@ package body Sem_Prag is if Ekind_In (Item_Id, E_Constant, E_Generic_In_Parameter, E_In_Parameter) - - -- If Item_Id is of a private type whose completion has not been - -- analyzed yet, its Underlying_Type is empty and we handle it - -- as a constant. - - and then Present (Underlying_Type (Etype (Item_Id))) - and then Is_Access_Type (Underlying_Type (Etype (Item_Id))) + and then Is_Access_Type (Etype (Item_Id)) then Adjusted_Kind := E_Variable; end if; -- 2.30.2