sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect Refined_Pre as not supported.

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect
	Refined_Pre as not supported.
	* sem_prag.adb (Analyze_Pragma): Ignore pragma Refined_Pre.

From-SVN: r203761
This commit is contained in:
Hristian Kirtchev 2013-10-17 13:52:37 +00:00 committed by Arnaud Charlet
parent 7c821effc4
commit 9072f0698d
3 changed files with 15 additions and 9 deletions

View File

@ -1,3 +1,9 @@
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Flag aspect
Refined_Pre as not supported.
* sem_prag.adb (Analyze_Pragma): Ignore pragma Refined_Pre.
2013-10-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Validated_Access_Subprogram_Instance): According
@ -21,7 +27,7 @@
* sem_prag.adb (Analyze_Constituent): Move the check
concerning option Part_Of to routine Check_Matching_Constituent.
(Check_Matching_Constituent): Verify that an abstract state
that acts as a constituent has the prope Part_Op option in
that acts as a constituent has the proper Part_Of option in
its aspect/pragma Abstract_State. Account for the case when a
constituent comes from a private child or private sibling.
* sem_util.ads, sem_util.adb (Is_Child_Or_Sibling): New routine.

View File

@ -2186,12 +2186,12 @@ package body Sem_Ch13 is
-- Refined_Pre
-- Disable the support for aspect Refined_Pre as its static and
-- runtime semantics are still under heavy design.
when Aspect_Refined_Pre =>
Make_Aitem_Pragma
(Pragma_Argument_Associations => New_List (
Make_Pragma_Argument_Association (Loc,
Expression => Relocate_Node (Expr))),
Pragma_Name => Name_Refined_Pre);
Error_Msg_NE ("aspect & is not supported", Aspect, Id);
goto Continue;
-- Refined_State

View File

@ -17219,11 +17219,11 @@ package body Sem_Prag is
begin
-- Disable the support for pragma Refined_Pre as its static and
-- runtime semantics are still under heavy design.
-- runtime semantics are still under heavy design. The pragma is
-- silently ignored.
if Pname = Name_Refined_Pre then
Error_Pragma ("pragma % is not supported");
return;
Set_Is_Ignored (N);
end if;
Analyze_Refined_Pragma (Spec_Id, Body_Id, Legal);