+2014-07-29 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads: Minor comment addition.
+
+2014-07-29 Bob Duff <duff@adacore.com>
+
+ * sem_eval.adb, sem_ch13.adb: Minor reformatting.
+
2014-07-29 Doug Rupp <rupp@adacore.com>
* init.c: Complete previous change.
Object_Name : constant Name_Id := New_Internal_Name ('I');
-- Name for argument of Predicate procedure. Note that we use the same
- -- name for both predicate procedure. That way the reference within the
+ -- name for both predicate functions. That way the reference within the
-- predicate expression is the same in both functions.
Object_Entity : constant Entity_Id :=
-- all the cases above.
-- One more test that is an implementation artifact caused by the fact
- -- that we are analyzing not the original expresesion, but the generated
+ -- that we are analyzing not the original expression, but the generated
-- expression in the body of the predicate function. This can include
-- references to inherited predicates, so that the expression we are
-- processing looks like:
-- Where the call is to a Predicate function for an inherited predicate.
-- We simply ignore such a call (which could be to either a dynamic or
- -- a static predicate, but remember that we can have Static_Predicate
+ -- a static predicate, but remember that we can have a Static_Predicate
-- for a non-static subtype).
elsif Nkind (Expr) = N_Function_Call
elsif Is_String_Type (Typ) then
if Real_Or_String_Static_Predicate_Matches
- (Val => Expr_Value_S (Expr),
- Typ => Typ)
+ (Val => Expr_Value_S (Expr), Typ => Typ)
then
return;
end if;
-- (explicitly set to True if missing).
-- Note: the Then_Actions and Else_Actions fields are always set to
- -- No_List in the tree passed to Gigi. These fields are used only
+ -- No_List in the tree passed to the back end. These are used only
-- for temporary processing purposes in the expander. Even though they
-- are semantic fields, their parent pointers are set because analysis
-- of actions nodes in those lists may generate additional actions that
-- need to know their insertion point (for example for the creation of
-- transient scopes).
+ -- Note: in the tree passed to the back end, if the result type is
+ -- an unconstrained array, the if expression can only appears in the
+ -- initializing expression of an object declaration (this avoids the
+ -- back end having to create a variable length temporary on the fly).
+
----------------------------
-- 4.5.7 Case Expression --
----------------------------