Commit ebdaa81b by Arnaud Charlet

[multiple changes]

2014-02-04  Gary Dismukes  <dismukes@adacore.com>

	* g-comlin.adb: Minor typo fix.

2014-02-04  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_All): Types derived from a formal
	access_to_classwide type do not have a finalization master.

2014-02-04  Robert Dewar  <dewar@adacore.com>

	* sprint.adb: Minor reformatting.

2014-02-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_N_Expression_With_Actions): Eliminate
	cases where Actions is a null list.
	* sinfo.ads (N_Expression_With_Actions): Actions can be
	temporarily empty during semantic analysis, but must be non-empty
	in the final expanded tree.

From-SVN: r207466
parent 029ce7a2
2014-02-04 Gary Dismukes <dismukes@adacore.com>
* g-comlin.adb: Minor typo fix.
2014-02-04 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_All): Types derived from a formal
access_to_classwide type do not have a finalization master.
2014-02-04 Robert Dewar <dewar@adacore.com>
* sprint.adb: Minor reformatting.
2014-02-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Expression_With_Actions): Eliminate
cases where Actions is a null list.
* sinfo.ads (N_Expression_With_Actions): Actions can be
temporarily empty during semantic analysis, but must be non-empty
in the final expanded tree.
2014-01-31 Robert Dewar <dewar@adacore.com> 2014-01-31 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb: Minor reformatting. * exp_ch9.adb: Minor reformatting.
......
...@@ -5111,11 +5111,23 @@ package body Exp_Ch4 is ...@@ -5111,11 +5111,23 @@ package body Exp_Ch4 is
begin begin
Act := First (Actions (N)); Act := First (Actions (N));
while Present (Act) loop
Process_Single_Action (Act);
-- Deal with case where there are no actions. In this case we simply
-- replace the node by its expression since we don't need the actions
-- and the specification of this node does not allow a null action list.
if No (Act) then
Replace (N, Relocate_Node (Expression (N)));
-- Otherwise process the actions as described above
else
loop
Process_Single_Action (Act);
Next (Act); Next (Act);
exit when No (Act);
end loop; end loop;
end if;
end Expand_N_Expression_With_Actions; end Expand_N_Expression_With_Actions;
---------------------------- ----------------------------
......
...@@ -1647,13 +1647,13 @@ package body Freeze is ...@@ -1647,13 +1647,13 @@ package body Freeze is
-- where a component type is private and the controlled full type -- where a component type is private and the controlled full type
-- occurs after the access type is frozen. Cases that don't need a -- occurs after the access type is frozen. Cases that don't need a
-- finalization master are generic formal types (the actual type will -- finalization master are generic formal types (the actual type will
-- have it) and types with Java and CIL conventions, since those are -- have it) and types derived from them, and types with Java and CIL
-- used for API bindings. (Are there any other cases that should be -- conventions, since those are used for API bindings.
-- excluded here???) -- (Are there any other cases that should be excluded here???)
elsif Is_Access_Type (E) elsif Is_Access_Type (E)
and then Comes_From_Source (E) and then Comes_From_Source (E)
and then not Is_Generic_Type (E) and then not Is_Generic_Type (Root_Type (E))
and then Needs_Finalization (Designated_Type (E)) and then Needs_Finalization (Designated_Type (E))
then then
Build_Finalization_Master (E); Build_Finalization_Master (E);
......
...@@ -1683,7 +1683,7 @@ package body GNAT.Command_Line is ...@@ -1683,7 +1683,7 @@ package body GNAT.Command_Line is
-- Note: When a Command_Line object is associated with a -- Note: When a Command_Line object is associated with a
-- Command_Line_Config (which is mostly the case for tools -- Command_Line_Config (which is mostly the case for tools
-- that let users chose the command line before spawning -- that let users choose the command line before spawning
-- other tools, for instance IDEs), the configuration of -- other tools, for instance IDEs), the configuration of
-- the switches must be taken from the Command_Line_Config. -- the switches must be taken from the Command_Line_Config.
......
...@@ -7355,8 +7355,11 @@ package Sinfo is ...@@ -7355,8 +7355,11 @@ package Sinfo is
-- Expression (Node3) -- Expression (Node3)
-- plus fields for expression -- plus fields for expression
-- Note: the actions list is always non-null, since we would never have -- Note: In the final generated tree presented to the code generator,
-- created this node if there weren't some actions. -- the actions list is always non-null, since there is no point in this
-- node if the actions are Empty. During semantic analysis there are
-- cases where it is convenient to temporarily generate an empty actions
-- list, but the Expander removes such cases.
-- Note: Expression may be a Null_Statement, in which case the -- Note: Expression may be a Null_Statement, in which case the
-- N_Expression_With_Actions has type Standard_Void_Type. However some -- N_Expression_With_Actions has type Standard_Void_Type. However some
......
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