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>
|
||||
|
||||
* 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
|
||||
-- analyzed at the end of the said declarations. This way both the
|
||||
-- analysis and freeze actions are properly synchronized in case
|
||||
-- of private type use within the contract. Build the bodies of
|
||||
-- the default initial condition procedures for all types subject
|
||||
-- to pragma Default_Initial_Condition.
|
||||
-- of private type use within the contract.
|
||||
|
||||
if L = Private_Declarations (Context) then
|
||||
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);
|
||||
|
||||
-- Otherwise the contract is analyzed at the end of the visible
|
||||
|
@ -1298,7 +1298,7 @@ package body Sem_Util is
|
||||
Expr : 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
|
||||
-- The procedure should be generated only for [sub]types subject to
|
||||
|
Loading…
Reference in New Issue
Block a user