summaryrefslogtreecommitdiffstats
path: root/gcc/ada/exp_util.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-16 12:18:16 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-16 12:18:16 +0000
commit236f09e1add2e9c8eef1cfa4b164501bb6e5f3fe (patch)
tree8287b01b502f473c13196227c59903c163f16ae6 /gcc/ada/exp_util.adb
parent04284bff7732fcd493cec8464e0002260aa380d4 (diff)
downloadppe42-gcc-236f09e1add2e9c8eef1cfa4b164501bb6e5f3fe.tar.gz
ppe42-gcc-236f09e1add2e9c8eef1cfa4b164501bb6e5f3fe.zip
2007-08-16 Gary Dismukes <dismukes@adacore.com>
Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an ancestor part given by an aggregate to test for an unchecked conversion, since this can occur in some cases when the ancestor part is a function call, and we don't want to fall into the recursive call to this procedure in that case. * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of stream attributes on limited types to account for user-specified attributes as well as whether Input (resp. Output) becomes available due to Read (resp. Write) being available for the type. Change Boolean variable to the more accurate name Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted double-"not" predicate at beginning of return statement to more understandable form. * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended return has an associated N_Handled_Sequence_Of_Statements, then wrap it in a block statement and use that as the first statement of the expanded return rather than incorrectly using the handled sequence as the first statement. * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected operation, generate an explicit freeze node for it rather than generating extra formals, to ensure that gigi has the proper order of elaboration for anonymous subtypes in the signature of the subprograms. (Build_In_Place_Formal): Move assertion to beginning of loop. (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion applied to a function call (occurs for some cases of 'Input). (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion applied to a function call (occurs for some cases of 'Input). * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada 2005, generate an extended return statement enclosing the result object and 'Read call. * freeze.adb (Freeze_Record_Type): Extend the current management of components that are access type with an allocator as default value: add missing support to the use of qualified expressions of the allocator (which also cause freezing of the designated type!) (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined dispatching operation, since extra formals may be needed by calls to build-in-place functions (such as stream 'Input). * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra formals for 'Constrained and accessibility level in the case of a predefined dispatching operation. * exp_util.adb (Insert_Actions): A protected body is a valid insertion point, no need to find the parent node. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127538 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_util.adb')
-rw-r--r--gcc/ada/exp_util.adb4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
index 0f84960fcdc..d00c96d031e 100644
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -1065,7 +1065,7 @@ package body Exp_Util is
-- itype, so that gigi can elaborate it on the proper objstack.
if Is_Itype (Typ)
- and then Scope (Typ) = Current_Scope
+ and then Scope (Typ) = Current_Scope
then
IR := Make_Itype_Reference (Sloc (N));
Set_Itype (IR, Typ);
@@ -2476,6 +2476,7 @@ package body Exp_Util is
N_Private_Extension_Declaration |
N_Private_Type_Declaration |
N_Procedure_Instantiation |
+ N_Protected_Body |
N_Protected_Body_Stub |
N_Protected_Type_Declaration |
N_Single_Task_Declaration |
@@ -2748,7 +2749,6 @@ package body Exp_Util is
N_Pop_Storage_Error_Label |
N_Pragma_Argument_Association |
N_Procedure_Specification |
- N_Protected_Body |
N_Protected_Definition |
N_Push_Constraint_Error_Label |
N_Push_Program_Error_Label |
OpenPOWER on IntegriCloud