Commit cd9909a0 by Arnaud Charlet

[multiple changes]

2010-09-10  Robert Dewar  <dewar@adacore.com>

	* frontend.adb: Minor reformatting.

2010-09-10  Robert Dewar  <dewar@adacore.com>

	* par-ch4.adb (P_Conditional_Expression): Use P_Condition for condition
	* par-ch5.adb (P_Condition): Move from body to spec
	* par.adb (Ch5.P_Condition): Move from body to spec

2010-09-10  Ed Schonberg  <schonberg@adacore.com>

	* exp_cg.adb (Write_Call_Info): If a type that has been registered in
	the call table is private, use its full view to generate information
	on its operations.

From-SVN: r164181
parent 2962b1bb
2010-09-10 Robert Dewar <dewar@adacore.com>
* frontend.adb: Minor reformatting.
2010-09-10 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (P_Conditional_Expression): Use P_Condition for condition
* par-ch5.adb (P_Condition): Move from body to spec
* par.adb (Ch5.P_Condition): Move from body to spec
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* exp_cg.adb (Write_Call_Info): If a type that has been registered in
the call table is private, use its full view to generate information
on its operations.
2010-09-10 Jose Ruiz <ruiz@adacore.com>
* exp_cg.adb (Is_Predefined_Dispatching_Operation): When trying the
......
......@@ -129,6 +129,14 @@ package body Exp_CG is
Write_Call_Info (N);
else pragma Assert (Nkind (N) = N_Defining_Identifier);
-- The type may be a private untagged type whose completion is
-- tagged, in which case we must use the full tagged view.
if not Is_Tagged_Type (N) and then Is_Private_Type (N) then
N := Full_View (N);
end if;
pragma Assert (Is_Tagged_Type (N));
Write_Type_Info (N);
......
......@@ -161,7 +161,6 @@ begin
if Source_gnat_adc /= No_Source_File then
Initialize_Scanner (No_Unit, Source_gnat_adc);
Config_Pragmas := Par (Configuration_Pragmas => True);
else
Config_Pragmas := Empty_List;
end if;
......
......@@ -2788,7 +2788,7 @@ package body Ch4 is
end if;
Scan; -- past IF or ELSIF
Append_To (Exprs, P_Expression_No_Right_Paren);
Append_To (Exprs, P_Condition);
TF_Then;
Append_To (Exprs, P_Expression);
......
......@@ -34,7 +34,6 @@ package body Ch5 is
function P_Case_Statement return Node_Id;
function P_Case_Statement_Alternative return Node_Id;
function P_Condition return Node_Id;
function P_Exit_Statement return Node_Id;
function P_Goto_Statement return Node_Id;
function P_If_Statement return Node_Id;
......
......@@ -709,6 +709,9 @@ function Par (Configuration_Pragmas : Boolean) return List_Id is
-------------
package Ch5 is
function P_Condition return Node_Id;
-- Scan out and return a condition
function P_Statement_Name (Name_Node : Node_Id) return Node_Id;
-- Given a node representing a name (which is a call), converts it
-- to the syntactically corresponding procedure call statement.
......@@ -1255,6 +1258,7 @@ function Par (Configuration_Pragmas : Boolean) return List_Id is
-- Start of processing for Par
begin
Compiler_State := Parsing;
-- Deal with configuration pragmas case first
......@@ -1266,10 +1270,12 @@ begin
begin
loop
if Token = Tok_EOF then
Compiler_State := Analyzing;
return Pragmas;
elsif Token /= Tok_Pragma then
Error_Msg_SC ("only pragmas allowed in configuration file");
Compiler_State := Analyzing;
return Error_List;
else
......@@ -1479,6 +1485,7 @@ begin
Restore_Opt_Config_Switches (Save_Config_Switches);
Set_Comes_From_Source_Default (False);
Compiler_State := Analyzing;
return Empty_List;
end if;
end Par;
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