summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch3.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-04 10:03:31 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-04 10:03:31 +0000
commitac5f5168a974437091584b6b55f06c5abc920f72 (patch)
tree8573ab03acf640bc3322d78ca3cb883e6c81a7b9 /gcc/ada/exp_ch3.adb
parentf38e6bcb032e833ce170dfacfe59ec74026cb8f6 (diff)
downloadgcc-ac5f5168a974437091584b6b55f06c5abc920f72.tar.gz
2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_CPP_Init_Procedure): Remove Flag_Decl. Do not analyze the declaration of the flag as it is not part of the tree yet, instead add it to the freeze actions of the C++ type. 2014-08-04 Robert Dewar <dewar@adacore.com> * checks.adb (Apply_Scalar_Range_Check): Make sure we handle case of OUT and IN OUT parameter correctly (where Source_Typ is set), we were missing one case where a check must be applied. 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch8.adb (Build_Class_Wide_Wrapper): Update the comment on the generated code. Instead of hiding the renaming and using the wrapper as the proper association, have the subprogram renaming alias the wrapper. (Build_Spec): The entity of the wrapper is now derived from the entity of the related primitive. 2014-08-04 Emmanuel Briot <briot@adacore.com> * s-regpat.adb: s-regpat.adb (Parse): fix incorrect link when using non-capturing groups. 2014-08-04 Ed Schonberg <schonberg@adacore.com> * inline.adb (Build_Body_To_Inline): Remove Unmodified and related pragmas before copying the original body, to prevent spurious errors when the pragmas apply to formals that will not appear in the inlined body. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213554 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch3.adb')
-rw-r--r--gcc/ada/exp_ch3.adb12
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb
index 503b374dcb4..6eec78a4732 100644
--- a/gcc/ada/exp_ch3.adb
+++ b/gcc/ada/exp_ch3.adb
@@ -2203,7 +2203,6 @@ package body Exp_Ch3 is
Body_Node : Node_Id;
Body_Stmts : List_Id;
Flag_Id : Entity_Id;
- Flag_Decl : Node_Id;
Handled_Stmt_Node : Node_Id;
Init_Tags_List : List_Id;
Proc_Id : Entity_Id;
@@ -2235,19 +2234,16 @@ package body Exp_Ch3 is
Flag_Id := Make_Temporary (Loc, 'F');
- Flag_Decl :=
+ Append_Freeze_Action (Rec_Type,
Make_Object_Declaration (Loc,
Defining_Identifier => Flag_Id,
Object_Definition =>
New_Occurrence_Of (Standard_Boolean, Loc),
Expression =>
- New_Occurrence_Of (Standard_True, Loc));
-
- Analyze (Flag_Decl);
- Append_Freeze_Action (Rec_Type, Flag_Decl);
+ New_Occurrence_Of (Standard_True, Loc)));
Body_Stmts := New_List;
- Body_Node := New_Node (N_Subprogram_Body, Loc);
+ Body_Node := New_Node (N_Subprogram_Body, Loc);
Proc_Spec_Node := New_Node (N_Procedure_Specification, Loc);
@@ -2262,7 +2258,7 @@ package body Exp_Ch3 is
Set_Parameter_Specifications (Proc_Spec_Node, New_List);
Set_Specification (Body_Node, Proc_Spec_Node);
- Set_Declarations (Body_Node, New_List);
+ Set_Declarations (Body_Node, New_List);
Init_Tags_List := Build_Inherit_CPP_Prims (Rec_Type);