mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-23 22:30:04 +08:00
trans.c (gnat_to_gnu): Deal with a missing library unit instead of calling gnat_to_gnu on Emtpy.
* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: 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. From-SVN: r193357
This commit is contained in:
parent
4993465992
commit
4e568a151c
@ -1,3 +1,10 @@
|
|||||||
|
2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
|
* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: 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 <ebotcazou@adacore.com>
|
2012-11-06 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* gcc-interface/Makefile.in: Revert most changes.
|
* gcc-interface/Makefile.in: Revert most changes.
|
||||||
|
@ -6493,7 +6493,13 @@ gnat_to_gnu (Node_Id gnat_node)
|
|||||||
case N_Protected_Body_Stub:
|
case N_Protected_Body_Stub:
|
||||||
case N_Task_Body_Stub:
|
case N_Task_Body_Stub:
|
||||||
/* Simply process whatever unit is being inserted. */
|
/* 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;
|
break;
|
||||||
|
|
||||||
case N_Subunit:
|
case N_Subunit:
|
||||||
@ -6855,11 +6861,20 @@ gnat_to_gnu (Node_Id gnat_node)
|
|||||||
gnu_result = alloc_stmt_list ();
|
gnu_result = alloc_stmt_list ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
case N_Function_Specification:
|
||||||
/* SCIL nodes require no processing for GCC. Other nodes should only
|
case N_Procedure_Specification:
|
||||||
be present when annotating types. */
|
case N_Op_Concat:
|
||||||
gcc_assert (IN (kind, N_SCIL_Node) || type_annotate_only);
|
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 ();
|
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. */
|
/* If we pushed the processing of the elaboration routine, pop it back. */
|
||||||
|
Loading…
Reference in New Issue
Block a user