diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-16 12:18:16 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-16 12:18:16 +0000 |
commit | 236f09e1add2e9c8eef1cfa4b164501bb6e5f3fe (patch) | |
tree | 8287b01b502f473c13196227c59903c163f16ae6 /gcc/ada/exp_util.adb | |
parent | 04284bff7732fcd493cec8464e0002260aa380d4 (diff) | |
download | ppe42-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.adb | 4 |
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 | |