From 1d4b96e007641088199133bb37a13338eb4fb2ff Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 12 Nov 2015 11:55:37 +0100 Subject: decl.c (gnat_to_gnu_entity): Create IMPORTED_DECL nodes to describe the subprogram renamings which are... 2015-11-12 Pierre-Marie de Rodat * gcc-interface/decl.c (gnat_to_gnu_entity): Create IMPORTED_DECL nodes to describe the subprogram renamings which are relevant at debug time. * gcc-interface/gigi.h (get_debug_scope): Add declaration. * gcc-interface/trans.c (Identifier_to_gnu): Consider N_Defining_Operator_Symbol as valid entities. (gnat_to_gnu): Handle N_Defining_Operator_Symbol the same way as other entities. Introduce a specific handling for N_Subprogram_Renaming_Declaration: call gnat_to_gnu_entity on the entity defined for relevant ones. (process_decls): Process subprogram renaming declarations during the second pass only. * gcc-interface/utils.c (get_debug_scope): Make it external. Consider N_Defining_Operator_Symbol as valid entities. (gnat_write_global_declarations): Output debugging information for top-level imported declarations. * gcc-interface/Makefile.in: Fix typo. From-SVN: r230227 --- gcc/ada/gcc-interface/utils.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gcc/ada/gcc-interface/utils.c') diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index 1e9e936..b032ae0 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -585,7 +585,7 @@ gnat_set_type_context (tree type, tree context) the debug info, or Empty if there is no such scope. If not NULL, set IS_SUBPROGRAM to whether the returned entity is a subprogram. */ -static Entity_Id +Entity_Id get_debug_scope (Node_Id gnat_node, bool *is_subprogram) { Entity_Id gnat_entity; @@ -593,7 +593,8 @@ get_debug_scope (Node_Id gnat_node, bool *is_subprogram) if (is_subprogram) *is_subprogram = false; - if (Nkind (gnat_node) == N_Defining_Identifier) + if (Nkind (gnat_node) == N_Defining_Identifier + || Nkind (gnat_node) == N_Defining_Operator_Symbol) gnat_entity = Scope (gnat_node); else return Empty; -- cgit v1.1