aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.def
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2013-12-04 20:59:42 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2013-12-04 20:59:42 +0100
commit5f673c6a1c5c18e8a7671d6b2ac130f637d9b23e (patch)
tree419e75c475a0f56792c605edf3b589a11b340fb7 /gcc/tree.def
parent4f6843aa8c8a7216d0949c7ecf3d3f973222195a (diff)
downloadgcc-5f673c6a1c5c18e8a7671d6b2ac130f637d9b23e.zip
gcc-5f673c6a1c5c18e8a7671d6b2ac130f637d9b23e.tar.gz
gcc-5f673c6a1c5c18e8a7671d6b2ac130f637d9b23e.tar.bz2
re PR debug/37132 (Debug: No DW_TAG_namelist emitted for NAMELISTS)
gcc/ 2013-12-04 Tobias Burnus <burnus@net-b.de> PR debug/37132 * lto-streamer.h (LTO_tags): Add LTO_namelist_decl_ref. * tree.def (NAMELIST_DECL): Add. * tree.h (NAMELIST_DECL_ASSOCIATED_DECL): New macro. * tree.c (initialize_tree_contains_struct): Add asserts for it. * dwarf2out.c (gen_namelist_decl): New function. (gen_decl_die, dwarf2out_decl): Call it. (dwarf2out_imported_module_or_decl_1): Handle NAMELIST_DECL. * lto-streamer-in.c (lto_input_tree_ref): Handle NAMELIST_DECL. (lto_input_tree_ref, lto_input_tree_1): Update lto_tag_check_range call. * lto-streamer-out.c (lto_output_tree_ref): Handle * NAMELIST_DECL. gcc/fortran 2013-12-04 Tobias Burnus <burnus@net-b.de> PR debug/37132 * trans-decl.c (generate_namelist_decl, create_module_nml_decl): New static functions. (gfc_generate_module_vars, generate_local_vars): Call them. (gfc_trans_use_stmts): Handle namelists for debug genertion. From-SVN: r205679
Diffstat (limited to 'gcc/tree.def')
-rw-r--r--gcc/tree.def10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/tree.def b/gcc/tree.def
index 1a05193..364e510 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -372,6 +372,16 @@ DEFTREECODE (NAMESPACE_DECL, "namespace_decl", tcc_declaration, 0)
IMPORTED_DECL_ASSOCIATED_DECL (NODE) accesses the imported declaration. */
DEFTREECODE (IMPORTED_DECL, "imported_decl", tcc_declaration, 0)
+/* A namelist declaration.
+ The Fortran FE uses this to represent a namelist statement, e.g.:
+ NAMELIST /namelist-group-name/ namelist-group-object-list.
+ Whenever a declaration import appears in a lexical block, the BLOCK node
+ representing that lexical block in GIMPLE will contain an NAMELIST_DECL
+ node, linked via BLOCK_VARS accessor of the said BLOCK.
+ For a given NODE which code is NAMELIST_DECL,
+ NAMELIST_DECL_ASSOCIATED_DECL (NODE) accesses the imported declaration. */
+DEFTREECODE (NAMELIST_DECL, "namelist_decl", tcc_declaration, 0)
+
/* A translation unit. This is not technically a declaration, since it
can't be looked up, but it's close enough. */
DEFTREECODE (TRANSLATION_UNIT_DECL, "translation_unit_decl",\