aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@redhat.com>2008-10-05 21:29:32 +0000
committerDodji Seketeli <dodji@gcc.gnu.org>2008-10-05 23:29:32 +0200
commitd19c0f4b4cdf4bdffa313283207aab6d2518f34c (patch)
treed5227fd86e64dffe3a143d3c68ad3f1e06dab6a5 /gcc/tree.h
parentebb479cd4d397e829eed460bd7ac9040204f8b5a (diff)
downloadgcc-d19c0f4b4cdf4bdffa313283207aab6d2518f34c.zip
gcc-d19c0f4b4cdf4bdffa313283207aab6d2518f34c.tar.gz
gcc-d19c0f4b4cdf4bdffa313283207aab6d2518f34c.tar.bz2
re PR debug/37410 (DW_TAG_imported_module is not in its DW_TAG_lexical_block)
2008-09-30 Dodji Seketeli <dodji@redhat.com> gcc/ChangeLog: PR c++/37410 * dwarf2out.c (dwarf2out_imported_module_or_decl): Split this function in two, making it call a new and reusable dwarf2out_imported_module_or_decl() that takes the containing BLOCK of the declaration in argument. (dwarf2out_imported_module_or_decl_real): New function. (decls_for_scope, gen_decl_die, dwarf2out_decl): Take IMPORTED_DECL in account. * tree.def: Added IMPORTED_DECL node type. * tree.h: Added accessors for IMPORTED_DECL nodes. * tree.c (init_ttree): Initialise IMPORTED_DECL node type. gcc/cp/ChangeLog: PR c++/37410 * cp-gimplify.c (cp_gimplify_expr): For each USING_STMT make sure an IMPORTED_DECL node is added to the BLOCK_VARS list of the innermost containing BLOCK. gcc/testsuite/ChangeLog: PR c++/37410 * g++.dg/debug/dwarf2/imported-module.C: New test. From-SVN: r140895
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 4c046c2..85704e6 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -3334,6 +3334,11 @@ struct tree_function_decl GTY(())
#define TYPE_DECL_SUPPRESS_DEBUG(NODE) \
(TYPE_DECL_CHECK (NODE)->decl_common.decl_flag_2)
+/* Getter of the imported declaration associated to the
+ IMPORTED_DECL node. */
+#define IMPORTED_DECL_ASSOCIATED_DECL(NODE) \
+(DECL_INITIAL (IMPORTED_DECL_CHECK (NODE)))
+
struct tree_type_decl GTY(())
{
struct tree_decl_non_common common;