[Ada] Inconsistent scope chain due to quantified expression
Routine Build_DIC_Procedure_Declaration appears to be heavily inspired by Build_Invariant_Procedure_Declaration; they both wrap an expression attached to a type inside an internal procedure. Initially none of them were calling Set_Last_Entity. For Build_Invariant_Procedure_Declaration this was fixed previously. For Build_DIC_Procedure_Declaration this is fixed here. The issue affects the GNATprove tool and is not visible to end users of the GNAT compiler. No simple test is available because this would require a debug session. 2019-08-20 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * exp_util.adb (Build_DIC_Procedure_Declaration): Set the last entity of the generated Default_Initial_Condition procedure in order to construct a proper entity chain. From-SVN: r274741
This commit is contained in:
parent
dd6e65c618
commit
aa090e20d4
2 changed files with 7 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2019-08-20 Piotr Trojanek <trojanek@adacore.com>
|
||||
|
||||
* exp_util.adb (Build_DIC_Procedure_Declaration): Set the last
|
||||
entity of the generated Default_Initial_Condition procedure in
|
||||
order to construct a proper entity chain.
|
||||
|
||||
2019-08-20 Yannick Moy <moy@adacore.com>
|
||||
|
||||
* exp_spark.adb (Expand_SPARK_N_Slice_Or_Indexed_Component):
|
||||
|
|
|
@ -1977,6 +1977,7 @@ package body Exp_Util is
|
|||
Set_Scope (Obj_Id, Proc_Id);
|
||||
|
||||
Set_First_Entity (Proc_Id, Obj_Id);
|
||||
Set_Last_Entity (Proc_Id, Obj_Id);
|
||||
|
||||
-- Generate:
|
||||
-- procedure <Work_Typ>DIC (_object : <Work_Typ>);
|
||||
|
|
Loading…
Add table
Reference in a new issue