+2015-05-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads: Minor addition of ??? comment.
+ * sem_prag.adb, sem_util.adb: Minor reformatting.
+ * sem_ch13.adb: minor reformatting.
+
2015-05-22 Robert Dewar <dewar@adacore.com>
* a-reatim.ads: Add Compile_Time_Error to ensure Duration
("indexing function must have at least two parameters");
return;
+ -- For a derived type, check that no indexing aspect is
+ -- specified for the type if it is also inherited
+
elsif Is_Derived_Type (Ent) then
declare
Inherited : Node_Id;
if Attr = Name_Constant_Indexing then
Inherited :=
Find_Aspect (Etype (Ent), Aspect_Constant_Indexing);
+
elsif Attr = Name_Variable_Indexing then
Inherited :=
Find_Aspect (Etype (Ent), Aspect_Variable_Indexing);
end if;
- -- What if neither branch taken above ???
-
if Present (Inherited) then
if Debug_Flag_Dot_XX then
null;
Legal : out Boolean);
-- Subsidiary to the analysis of pragmas Abstract_State and Part_Of.
-- Perform full analysis of indicator Part_Of. Item_Id is the entity of
- -- an abstract state, object or package instantiation. State is the
+ -- an abstract state, object, or package instantiation. State is the
-- encapsulating state. Indic is the Part_Of indicator. Flag Legal is
-- set when the indicator is legal.
function Has_Variable_Input (Const_Id : Entity_Id) return Boolean is
Expr : constant Node_Id := Expression (Declaration_Node (Const_Id));
-
begin
return
Present (Expr) and then not Compile_Time_Known_Value_Or_Aggr (Expr);
-- Determine whether the initialization expression of constant Const_Id has
-- "variable input" (SPARK RM 7.1.1(2)). This roughly maps to the semantic
-- concept of a compile-time known value.
+ -- How can a defined concept in SPARK mapped to an undefined predicate in
+ -- the compiler (which can change at any moment if the compiler feels like
+ -- getting more clever about what is compile-time known) ???
function Has_Volatile_Component (Typ : Entity_Id) return Boolean;
-- Given an arbitrary type, determine whether it contains at least one