+2012-12-05 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, sem_prag.adb, put_scos.adb, get_scos.adb: Minor
+ reformatting.
+
+2012-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Code clean up.
+
2012-12-05 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Make-lang.in: Update dependencies.
-- In ASIS mode, the access_to_subprogram may be analyzed twice,
-- when it is part of an unconstrained type and subtype expansion
-- is disabled. To avoid back-end problems with shared profiles,
- -- use previous subprogram type as the designated type.
+ -- use previous subprogram type as the designated type, and then
+ -- remove scope added above.
if ASIS_Mode
and then Present (Scope (Defining_Identifier (F)))
Init_Size_Align (T_Name);
Set_Directly_Designated_Type (T_Name,
Scope (Defining_Identifier (F)));
+ End_Scope;
return;
end if;
Scope_Stack.Table (Scope_Stack.Last);
Anon : constant Entity_Id := Make_Temporary (Loc, 'S');
- Acc : Node_Id;
+
+ Acc : Node_Id;
+ -- Access definition in declaration
+
Comp : Node_Id;
+ -- Object definition or formal definition with an access definition
+
Decl : Node_Id;
- P : Node_Id;
+ -- Declaration of anonymous access to subprogram type
+
+ Spec : Node_Id;
+ -- Original specification in access to subprogram
+
+ P : Node_Id;
begin
Set_Is_Internal (Anon);
raise Program_Error;
end case;
- Decl := Make_Full_Type_Declaration (Loc,
- Defining_Identifier => Anon,
- Type_Definition =>
- Copy_Separate_Tree (Access_To_Subprogram_Definition (Acc)));
+ Spec := Access_To_Subprogram_Definition (Acc);
+
+ Decl :=
+ Make_Full_Type_Declaration (Loc,
+ Defining_Identifier => Anon,
+ Type_Definition => Relocate_Node (Spec));
Mark_Rewrite_Insertion (Decl);
if Nkind (Stmt) = N_Block_Statement then
if (No (Declarations (Stmt))
- or else List_Containing (Prev) /= Declarations (Stmt))
+ or else List_Containing (Prev) /= Declarations (Stmt))
and then
List_Containing (Prev) /=
Statements (Handled_Statement_Sequence (Stmt))
-- pragma Assume (boolean_EXPRESSION);
+ -- This should share pragma Assert code ???
+ -- Run-time check is missing completely ???
+
when Pragma_Assume => Assume : declare
begin
GNAT_Pragma;