diff options
author | dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-06 18:24:27 +0000 |
---|---|---|
committer | dodji <dodji@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-06 18:24:27 +0000 |
commit | a8891ab12879a8d2f8421492c85a1b409144cea4 (patch) | |
tree | 31545405e61d6e5cd67227f67bdd497a66fde528 /gcc/tree.h | |
parent | c0c1d342d7e5541730b4dfc57e5fc33568008a06 (diff) | |
download | gcc-a8891ab12879a8d2f8421492c85a1b409144cea4.tar.gz |
Fix PR c++/44188
gcc/ChangeLog:
PR c++/44188
* c-common.c (is_typedef_decl): Move this definition ...
* tree.c (is_typedef_decl): ... here.
(typdef_variant_p): Move definition here from gcc/cp/tree.c.
* c-common.h (is_typedef_decl): Move this declaration ...
* tree.h (is_typedef_decl): ... here.
(typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
* dwarf2out.c (is_naming_typedef_decl): New function.
(gen_tagged_type_die): Split out of ...
(gen_type_die_with_usage): ... this function. When an anonymous
tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
is emitted for the typedef.
(gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
anonymous tagged types.
gcc/cp/ChangeLog:
PR c++/44188
* cp-tree.h (typedef_variant_p): Move this declaration to
gcc/tree.h.
* tree.c (typedef_variant_p): Move this definition to gcc/tree.c.
* decl.c (grokdeclarator): Do not rename debug info of an
anonymous tagged type named by a typedef.
gcc/testsuite/ChangeLog:
PR c++/44188
* g++.dg/debug/dwarf2/typedef3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160347 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index 13c684af37a..31d80dfa7e2 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -4820,6 +4820,8 @@ extern tree create_artificial_label (location_t); extern const char *get_name (tree); extern bool stdarg_p (tree); extern bool prototype_p (tree); +extern bool is_typedef_decl (tree x); +extern bool typedef_variant_p (tree); extern bool auto_var_in_fn_p (const_tree, const_tree); extern tree build_low_bits_mask (tree, unsigned); extern tree tree_strip_nop_conversions (tree); |