]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR debug/41065 (DW_TAG_enumeration_type+DW_TAG_enumerator is sometimes missing)
authorDodji Seketeli <dodji@redhat.com>
Wed, 23 Sep 2009 16:07:13 +0000 (16:07 +0000)
committerDodji Seketeli <dodji@gcc.gnu.org>
Wed, 23 Sep 2009 16:07:13 +0000 (18:07 +0200)
commitb646ba3f1c134c4fc22b000caff77725ccec1791
tree716216bf133fc60984e49edb258a912ca31ba3e8
parent4c6858252cf0b39482c1a436f6d9dcd7cc0a44f9
re PR debug/41065 (DW_TAG_enumeration_type+DW_TAG_enumerator is sometimes missing)

Fix PR debug/41065

gcc/ChangeLog:
PR debug/41065
* function.h (types_used_by_vars_hash): Declare new hash table.
(types_used_by_vars_eq, types_used_by_var_decl_insert): Declare
equality and hash function for the hash table.
(types_used_by_cur_var_decl): Declare a new global chained list.
(types_used_by_var_decl_insert): Declare new function.
* function.c (types_used_by_vars_hash): Define the hashtable ...
(types_used_by_vars_eq, types_used_by_vars_do_hash): ... as well as
its equality and hash functions.
(hash_types_used_by_vars_entry): New hash helper.
(types_used_by_cur_var_decl): Define the global chained list.
(used_types_insert): Update the list of types used by the global
variable being parsed.
(types_used_by_var_decl_insert): Define new function.
* c-common.h (record_types_used_by_current_var_decl): Declare ...
* c-common.c (record_types_used_by_current_var_decl): ... new
function.
* c-decl.c (finish_decl): Record the types used by the global
variable declaration we've just parsed.
* dwarf2out.c (premark_used_types): Insert a new line between
comment and function.
(premark_used_types_helper): Fix comment.
(premark_types_used_by_global_vars_helper,
premark_types_used_by_global_vars): New functions.
(prune_unused_types): Do not prune types used by global variables.

gcc/cp/ChangeLog:
PR debug/41065
* decl.c (cp_finish_decl): Record the types used by the global
variable declaration we've just parsed.

gcc/testsuite/ChangeLog:
PR debug/41065
* gcc.dg/debug/dwarf2/global-used-types.c: New test.

From-SVN: r152085
gcc/c-common.c
gcc/c-common.h
gcc/c-decl.c
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/dwarf2out.c
gcc/function.c
gcc/function.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/debug/dwarf2/global-used-types-1.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/debug/dwarf2/global-used-types.c [new file with mode: 0644]