diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2015-11-24 09:00:45 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2015-11-24 09:00:45 +0000 |
commit | c4833de12598fbc5d8efb413a89ae6cf98b5f459 (patch) | |
tree | 9220dc1c269c874df02585567bdb0a21cfcb3364 /gcc/ada/gcc-interface/trans.c | |
parent | 93200f92e5e0c4450e7a350887112f9c974d8e3f (diff) | |
download | gcc-c4833de12598fbc5d8efb413a89ae6cf98b5f459.zip gcc-c4833de12598fbc5d8efb413a89ae6cf98b5f459.tar.gz gcc-c4833de12598fbc5d8efb413a89ae6cf98b5f459.tar.bz2 |
decl.c (gnat_to_gnu_entity): In ASIS mode, do a minimal translation for root types with discriminants.
* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
ASIS mode, do a minimal translation for root types with discriminants.
* gcc-interface/trans.c (gnat_to_gnu) <N_Subunit>: Move around.
<N_Entry_Body, N_Protected_Body, N_Task_Body>: Likewise. In ASIS mode,
process the declarations attached to the body.
From-SVN: r230792
Diffstat (limited to 'gcc/ada/gcc-interface/trans.c')
-rw-r--r-- | gcc/ada/gcc-interface/trans.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index ebb5b5c..fdcf9a3 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -7272,6 +7272,19 @@ gnat_to_gnu (Node_Id gnat_node) gnu_result = alloc_stmt_list (); break; + case N_Subunit: + gnu_result = gnat_to_gnu (Proper_Body (gnat_node)); + break; + + case N_Entry_Body: + case N_Protected_Body: + case N_Task_Body: + /* These nodes should only be present when annotating types. */ + gcc_assert (type_annotate_only); + process_decls (Declarations (gnat_node), Empty, Empty, true, true); + gnu_result = alloc_stmt_list (); + break; + case N_Subprogram_Body_Stub: case N_Package_Body_Stub: case N_Protected_Body_Stub: @@ -7286,10 +7299,6 @@ gnat_to_gnu (Node_Id gnat_node) } break; - case N_Subunit: - gnu_result = gnat_to_gnu (Proper_Body (gnat_node)); - break; - /***************************/ /* Chapter 11: Exceptions */ /***************************/ @@ -7662,8 +7671,6 @@ gnat_to_gnu (Node_Id gnat_node) case N_Procedure_Specification: case N_Op_Concat: case N_Component_Association: - case N_Protected_Body: - case N_Task_Body: /* These nodes should only be present when annotating types. */ gcc_assert (type_annotate_only); gnu_result = alloc_stmt_list (); |