re PR debug/29906 (-g option creates internal compiler error)
gcc/ChangeLog: PR debug/29906 * dwarf2out.c (force_type_die): Adjust comment. (dwarf2out_imported_module_or_decl): Handle base AT_import types. gcc/testsuite/ChangeLog: PR debug/29906 * g++.dg/debug/pr29906.C: New From-SVN: r122976
This commit is contained in:
parent
94fe33db53
commit
8857ae1c20
@ -1,3 +1,9 @@
|
||||
2007-03-16 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
PR debug/29906
|
||||
* dwarf2out.c (force_type_die): Adjust comment.
|
||||
(dwarf2out_imported_module_or_decl): Handle base AT_import types.
|
||||
|
||||
2007-03-15 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* config/frv/predicates.md (minmax_operator): Don't check operands
|
||||
|
@ -13160,7 +13160,8 @@ force_decl_die (tree decl)
|
||||
return decl_die;
|
||||
}
|
||||
|
||||
/* Returns the DIE for TYPE. A DIE is always returned. */
|
||||
/* Returns the DIE for TYPE, that must not be a base type. A DIE is
|
||||
always returned. */
|
||||
|
||||
static dw_die_ref
|
||||
force_type_die (tree type)
|
||||
@ -13488,7 +13489,12 @@ dwarf2out_imported_module_or_decl (tree decl, tree context)
|
||||
|
||||
/* For TYPE_DECL or CONST_DECL, lookup TREE_TYPE. */
|
||||
if (TREE_CODE (decl) == TYPE_DECL || TREE_CODE (decl) == CONST_DECL)
|
||||
at_import_die = force_type_die (TREE_TYPE (decl));
|
||||
{
|
||||
if (is_base_type (TREE_TYPE (decl)))
|
||||
at_import_die = base_type_die (TREE_TYPE (decl));
|
||||
else
|
||||
at_import_die = force_type_die (TREE_TYPE (decl));
|
||||
}
|
||||
else
|
||||
{
|
||||
at_import_die = lookup_decl_die (decl);
|
||||
|
@ -1,3 +1,8 @@
|
||||
2007-03-16 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
PR debug/29906
|
||||
* g++.dg/debug/pr29906.C: New
|
||||
|
||||
2007-03-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR libgfortran/31099
|
||||
|
10
gcc/testsuite/g++.dg/debug/pr29906.C
Normal file
10
gcc/testsuite/g++.dg/debug/pr29906.C
Normal file
@ -0,0 +1,10 @@
|
||||
// { dg-do compile }
|
||||
// { dg-options "-g -fno-emit-class-debug-always" }
|
||||
|
||||
struct A{
|
||||
typedef int T;
|
||||
virtual ~A();
|
||||
};
|
||||
struct B:public A{
|
||||
using A::T;
|
||||
};
|
Loading…
Reference in New Issue
Block a user