exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as null statement if ignored.
2013-04-22 Yannick Moy <moy@adacore.com> * exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as null statement if ignored. * sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored. * sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas. From-SVN: r198135
This commit is contained in:
parent
807b4ca202
commit
ee40cdc0f9
@ -1,3 +1,10 @@
|
||||
2013-04-22 Yannick Moy <moy@adacore.com>
|
||||
|
||||
* exp_prag.adb (Expand_Pragma_Loop_Variant): Rewrite pragma as
|
||||
null statement if ignored.
|
||||
* sem_ch6.adb (Expand_Contract_Cases): Do nothing if pragma is ignored.
|
||||
* sem_prag.adb (Analyze_Pragma): Keep analyzing ignored pragmas.
|
||||
|
||||
2013-04-22 Hristian Kirtchev <kirtchev@adacore.com>
|
||||
|
||||
* sem_prag.adb (Analyze_Contract_Case): New routine.
|
||||
|
@ -1062,6 +1062,15 @@ package body Exp_Prag is
|
||||
-- Start of processing for Expand_Pragma_Loop_Variant
|
||||
|
||||
begin
|
||||
-- If pragma is not enabled, rewrite as Null statement. If pragma is
|
||||
-- disabled, it has already been rewritten as a Null statement.
|
||||
|
||||
if Is_Ignored (N) then
|
||||
Rewrite (N, Make_Null_Statement (Loc));
|
||||
Analyze (N);
|
||||
return;
|
||||
end if;
|
||||
|
||||
-- Locate the enclosing loop for which this assertion applies. In the
|
||||
-- case of Ada 2012 array iteration, we might be dealing with nested
|
||||
-- loops. Only the outermost loop has an identifier.
|
||||
|
@ -11595,6 +11595,13 @@ package body Sem_Ch6 is
|
||||
-- Start of processing for Expand_Contract_Cases
|
||||
|
||||
begin
|
||||
-- Do nothing if pragma is not enabled. If pragma is disabled, it has
|
||||
-- already been rewritten as a Null statement.
|
||||
|
||||
if Is_Ignored (CCs) then
|
||||
return;
|
||||
end if;
|
||||
|
||||
-- Create the counter which tracks the number of case guards that
|
||||
-- evaluate to True.
|
||||
|
||||
|
@ -6768,7 +6768,7 @@ package body Sem_Prag is
|
||||
|
||||
Check_Applicable_Policy (N);
|
||||
|
||||
-- If pragma is disable, rewrite as Null statement and skip analysis
|
||||
-- If pragma is disabled, rewrite as Null statement and skip analysis
|
||||
|
||||
if Is_Disabled (N) then
|
||||
Rewrite (N, Make_Null_Statement (Loc));
|
||||
@ -8733,14 +8733,6 @@ package body Sem_Prag is
|
||||
GNAT_Pragma;
|
||||
Check_Arg_Count (1);
|
||||
|
||||
-- Completely ignore if not enabled
|
||||
|
||||
if Is_Ignored (N) then
|
||||
Rewrite (N, Make_Null_Statement (Loc));
|
||||
Analyze (N);
|
||||
return;
|
||||
end if;
|
||||
|
||||
-- Check the placement of the pragma
|
||||
|
||||
if not Is_List_Member (N) then
|
||||
@ -13893,14 +13885,6 @@ package body Sem_Prag is
|
||||
Check_Arg_Count (1);
|
||||
Check_Loop_Pragma_Placement;
|
||||
|
||||
-- Completely ignore if not enabled
|
||||
|
||||
if Is_Ignored (N) then
|
||||
Rewrite (N, Make_Null_Statement (Loc));
|
||||
Analyze (N);
|
||||
return;
|
||||
end if;
|
||||
|
||||
Preanalyze_Assert_Expression (Expression (Arg1), Any_Boolean);
|
||||
|
||||
-- Transform pragma Loop_Invariant into equivalent pragma Check
|
||||
@ -13964,14 +13948,6 @@ package body Sem_Prag is
|
||||
Check_At_Least_N_Arguments (1);
|
||||
Check_Loop_Pragma_Placement;
|
||||
|
||||
-- Completely ignore if not enabled
|
||||
|
||||
if Is_Ignored (N) then
|
||||
Rewrite (N, Make_Null_Statement (Loc));
|
||||
Analyze (N);
|
||||
return;
|
||||
end if;
|
||||
|
||||
-- Process all increasing / decreasing expressions
|
||||
|
||||
Variant := First (Pragma_Argument_Associations (N));
|
||||
|
Loading…
Reference in New Issue
Block a user