[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 <moy@adacore.com> gcc/ada/ * sem_prag.adb (Analyze_Depends_In_Decl_Part): Simplify previous test. From-SVN: r275950
This commit is contained in:
parent
46fa6b050e
commit
4fe56329e0
@ -1,3 +1,8 @@
|
||||
2019-09-19 Yannick Moy <moy@adacore.com>
|
||||
|
||||
* sem_prag.adb (Analyze_Depends_In_Decl_Part): Simplify previous
|
||||
test.
|
||||
|
||||
2019-09-19 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch7.adb (Install_Parent_Private_Declarations): If a
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user