Commit ceee0bde by Arnaud Charlet

[multiple changes]

2012-12-05  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Move setting of flags for
	Alfa mode before general treatment of flags, so that overflow checks
	settings are set appropriately in Alfa mode. Also set the mode to
	STRICT in Alfa mode if not already set by the user.

2012-12-05  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2012-12-05  Steve Baird  <baird@adacore.com>

	* sinfo.ads: Improve comments about SCIL-related node kinds and selector
	functions.

2012-12-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Build_Limited_Views): Even though the unit is
	not analyzed, place its entity on the name in the with clause,
	so that warnings on unused with-clause are properly supported
	for limited withs.

2012-12-05  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Update overflow description. Pragma
	Overflow_Checks changed to Overflow_Mode.

From-SVN: r194191
parent 97948f41
2012-12-05 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Move setting of flags for
Alfa mode before general treatment of flags, so that overflow checks
settings are set appropriately in Alfa mode. Also set the mode to
STRICT in Alfa mode if not already set by the user.
2012-12-05 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting.
2012-12-05 Steve Baird <baird@adacore.com>
* sinfo.ads: Improve comments about SCIL-related node kinds and selector
functions.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Build_Limited_Views): Even though the unit is
not analyzed, place its entity on the name in the with clause,
so that warnings on unused with-clause are properly supported
for limited withs.
2012-12-05 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Update overflow description. Pragma
Overflow_Checks changed to Overflow_Mode.
2012-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Derived_Private_Type): Handle properly a
......
......@@ -5716,6 +5716,17 @@ package body Sem_Ch10 is
raise Program_Error;
end case;
-- The limited unit is not analyzed but the with clause must be
-- minimally decorated so that checks on unused with clause also work
-- with limited with clauses.
if Is_Entity_Name (Name (N)) then
Set_Entity (Name (N), P);
elsif Nkind (Name (N)) = N_Selected_Component then
Set_Entity (Selector_Name (Name (N)), P);
end if;
-- Check if the chain is already built
Spec := Specification (Unit (Library_Unit (N)));
......
......@@ -6512,23 +6512,27 @@ package body Sem_Ch3 is
then
Append_Elmt (Derived_Type, Private_Dependents (Parent_Type));
-- Check for unusual case where a type completed by a private
-- derivation occurs within a package nested in a child unit, and
-- the parent is declared in an ancestor.
if Is_Child_Unit (Scope (Current_Scope))
and then Is_Completion
and then In_Private_Part (Current_Scope)
and then Scope (Parent_Type) /= Current_Scope
-- Note that if the parent has a completion in the private part,
-- (which is itself a derivation from some other private type)
-- it is that completion that is visible, there is no full view
-- available, and no special processing is needed.
and then Present (Full_View (Parent_Type))
then
-- This is the unusual case where a type completed by a private
-- derivation occurs within a package nested in a child unit, and
-- the parent is declared in an ancestor. In this case, the full
-- view of the parent type will become visible in the body of
-- the enclosing child, and only then will the current type be
-- possibly non-private. We build a underlying full view that
-- will be installed when the enclosing child body is compiled.
-- Note that if the parent has a completion in the private part,
-- (which is itself a derivation from some other private type)
-- it is that completion that is visible, there is no full view
-- view available, and no special processing is needed.
-- In this case, the full view of the parent type will become
-- visible in the body of the enclosing child, and only then will
-- the current type be possibly non-private. We build an
-- underlying full view that will be installed when the enclosing
-- child body is compiled.
Full_Der :=
Make_Defining_Identifier
......
......@@ -7336,29 +7336,37 @@ package Sinfo is
-- SCIL nodes are special nodes added to the tree when the CodePeer
-- mode is active. They help the CodePeer backend to locate nodes that
-- require special processing.
-- Major documentation on the general design of the SCIL interface, and
-- in particular detailed description of these nodes is missing and is
-- to be supplied in the future, when the design has finalized ???
-- Meanwhile these nodes should be considered in experimental form, and
-- should be ignored by all code generating back ends. ???
-- require special processing. They are only generated if SCIL
-- generation is enabled. A standard tree-walk will not encounter
-- these nodes even if they are present; these nodes are only
-- accessible via the function SCIL_LL.Get_SCIL_Node.
-- N_SCIL_Dispatch_Table_Tag_Init
-- Sloc references a node for a tag initialization
-- SCIL_Entity (Node4-Sem)
--
-- An N_SCIL_Dispatch_Table_Tag_Init node may be associated (via
-- Get_SCIL_Node) with the N_Object_Declaration node corresponding to
-- the declaration of the dispatch table for a tagged type.
-- N_SCIL_Dispatching_Call
-- Sloc references the node of a dispatching call
-- SCIL_Target_Prim (Node2-Sem)
-- SCIL_Entity (Node4-Sem)
-- SCIL_Controlling_Tag (Node5-Sem)
--
-- An N_Scil_Dispatching call node may be associated (via Get_SCIL_Node)
-- with the N_Procedure_Call or N_Function_Call node (or a rewriting
-- thereof) corresponding to a dispatching call.
-- N_SCIL_Membership_Test
-- Sloc references the node of a membership test
-- SCIL_Tag_Value (Node5-Sem)
-- SCIL_Entity (Node4-Sem)
--
-- An N_Scil_Membership_Test node may be associated (via Get_SCIL_Node)
-- with the N_In node (or a rewriting thereof) corresponding to a
-- classwide membership test.
---------------------
-- Subprogram_Info --
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment