+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
* 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.
-- 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
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);