From 62bd987f583b0d07d67cf09802b2df93aa62abdb Mon Sep 17 00:00:00 2001 From: ebotcazou Date: Fri, 9 Nov 2012 11:07:30 +0000 Subject: [PATCH] * gcc-interface/trans.c (gnat_to_gnu) : Deal with a missing library unit instead of calling gnat_to_gnu on Emtpy. Remove last bits of support for SCIL nodes. Add cases for nodes that should only be present when annotating types. Add default abort. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193357 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/ChangeLog | 7 +++++++ gcc/ada/gcc-interface/trans.c | 25 ++++++++++++++++++++----- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 2012814cbdd..68715760e83 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2012-11-09 Eric Botcazou + + * gcc-interface/trans.c (gnat_to_gnu) : Deal + with a missing library unit instead of calling gnat_to_gnu on Emtpy. + Remove last bits of support for SCIL nodes. Add cases for nodes that + should only be present when annotating types. Add default abort. + 2012-11-06 Eric Botcazou * gcc-interface/Makefile.in: Revert most changes. diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 0188ddc4c35..dbc4689a1d5 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -6493,7 +6493,13 @@ gnat_to_gnu (Node_Id gnat_node) case N_Protected_Body_Stub: case N_Task_Body_Stub: /* Simply process whatever unit is being inserted. */ - gnu_result = gnat_to_gnu (Unit (Library_Unit (gnat_node))); + if (Present (Library_Unit (gnat_node))) + gnu_result = gnat_to_gnu (Unit (Library_Unit (gnat_node))); + else + { + gcc_assert (type_annotate_only); + gnu_result = alloc_stmt_list (); + } break; case N_Subunit: @@ -6855,11 +6861,20 @@ gnat_to_gnu (Node_Id gnat_node) gnu_result = alloc_stmt_list (); break; - default: - /* SCIL nodes require no processing for GCC. Other nodes should only - be present when annotating types. */ - gcc_assert (IN (kind, N_SCIL_Node) || type_annotate_only); + case N_Function_Specification: + 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 (); + break; + + default: + /* Other nodes are not supposed to reach here. */ + gcc_unreachable (); } /* If we pushed the processing of the elaboration routine, pop it back. */ -- 2.11.4.GIT