sem_ch3.adb (Analyze_Declarations): Explain why the bodies of the default initial condition procedures are build here.
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb (Analyze_Declarations): Explain why the bodies of the default initial condition procedures are build here. * sem_util.adb (Build_Default_Init_Cond_Procedure): Wrap the analyzed argument of pragma Default_Initial_Condition in some dummy code as GNATprove mode disables assertions, but still needs to see the argument. From-SVN: r213582
This commit is contained in:
parent
135da41f0d
commit
e85f4337c3
@ -1,3 +1,12 @@
|
|||||||
|
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
|
||||||
|
|
||||||
|
* sem_ch3.adb (Analyze_Declarations): Explain why the bodies of
|
||||||
|
the default initial condition procedures are build here.
|
||||||
|
* sem_util.adb (Build_Default_Init_Cond_Procedure): Wrap the
|
||||||
|
analyzed argument of pragma Default_Initial_Condition in some
|
||||||
|
dummy code as GNATprove mode disables assertions, but still
|
||||||
|
needs to see the argument.
|
||||||
|
|
||||||
2014-08-04 Robert Dewar <dewar@adacore.com>
|
2014-08-04 Robert Dewar <dewar@adacore.com>
|
||||||
|
|
||||||
* exp_ch6.adb, sem_util.adb: Minor reformatting.
|
* exp_ch6.adb, sem_util.adb: Minor reformatting.
|
||||||
|
@ -2388,12 +2388,18 @@ package body Sem_Ch3 is
|
|||||||
-- When a package has private declarations, its contract must be
|
-- When a package has private declarations, its contract must be
|
||||||
-- analyzed at the end of the said declarations. This way both the
|
-- analyzed at the end of the said declarations. This way both the
|
||||||
-- analysis and freeze actions are properly synchronized in case
|
-- analysis and freeze actions are properly synchronized in case
|
||||||
-- of private type use within the contract. Build the bodies of
|
-- of private type use within the contract.
|
||||||
-- the default initial condition procedures for all types subject
|
|
||||||
-- to pragma Default_Initial_Condition.
|
|
||||||
|
|
||||||
if L = Private_Declarations (Context) then
|
if L = Private_Declarations (Context) then
|
||||||
Analyze_Package_Contract (Defining_Entity (Context));
|
Analyze_Package_Contract (Defining_Entity (Context));
|
||||||
|
|
||||||
|
-- Build the bodies of the default initial condition procedures
|
||||||
|
-- for all types subject to pragma Default_Initial_Condition.
|
||||||
|
-- From a purely Ada stand point, this is a freezing activity,
|
||||||
|
-- however freezing is not available under GNATprove_Mode. To
|
||||||
|
-- accomodate both scenarios, the bodies are build at the end
|
||||||
|
-- of private declaration analysis.
|
||||||
|
|
||||||
Build_Default_Init_Cond_Procedure_Bodies (L);
|
Build_Default_Init_Cond_Procedure_Bodies (L);
|
||||||
|
|
||||||
-- Otherwise the contract is analyzed at the end of the visible
|
-- Otherwise the contract is analyzed at the end of the visible
|
||||||
|
@ -1298,7 +1298,7 @@ package body Sem_Util is
|
|||||||
Expr : Node_Id;
|
Expr : Node_Id;
|
||||||
Stmt : Node_Id;
|
Stmt : Node_Id;
|
||||||
|
|
||||||
-- Start of processing for Build_Default_Init_Cond_Procedure
|
-- Start of processing for Build_Default_Init_Cond_Procedure_Body
|
||||||
|
|
||||||
begin
|
begin
|
||||||
-- The procedure should be generated only for [sub]types subject to
|
-- The procedure should be generated only for [sub]types subject to
|
||||||
|
Loading…
Reference in New Issue
Block a user