diff options
author | Tobias Burnus <burnus@net-b.de> | 2013-12-04 20:59:42 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2013-12-04 20:59:42 +0100 |
commit | 5f673c6a1c5c18e8a7671d6b2ac130f637d9b23e (patch) | |
tree | 419e75c475a0f56792c605edf3b589a11b340fb7 /gcc/tree.def | |
parent | 4f6843aa8c8a7216d0949c7ecf3d3f973222195a (diff) | |
download | gcc-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.def | 10 |
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",\ |