aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/trans.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2015-11-24 09:00:45 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2015-11-24 09:00:45 +0000
commitc4833de12598fbc5d8efb413a89ae6cf98b5f459 (patch)
tree9220dc1c269c874df02585567bdb0a21cfcb3364 /gcc/ada/gcc-interface/trans.c
parent93200f92e5e0c4450e7a350887112f9c974d8e3f (diff)
downloadgcc-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.c19
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 ();