re PR debug/88046 (ICE in add_data_member_location_attribute at gcc/dwarf2out.c:19237 since r261885)

2019-01-15  Richard Biener  <rguenther@suse.de>

	PR debug/88046
	* dwarf2out.c (gen_member_die): Do not generate inheritance
	DIEs late.

	* g++.dg/lto/pr88046_0.C: New testcase.

From-SVN: r267940
This commit is contained in:
Richard Biener 2019-01-15 16:06:42 +00:00 committed by Richard Biener
parent 41bc37bad8
commit 17f781605e
4 changed files with 26 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2019-01-15 Richard Biener <rguenther@suse.de>
PR debug/88046
* dwarf2out.c (gen_member_die): Do not generate inheritance
DIEs late.
2019-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/88855

View File

@ -25046,7 +25046,7 @@ gen_member_die (tree type, dw_die_ref context_die)
the TREE node representing the appropriate (containing) type. */
/* First output info about the base classes. */
if (binfo)
if (binfo && early_dwarf)
{
vec<tree, va_gc> *accesses = BINFO_BASE_ACCESSES (binfo);
int i;

View File

@ -1,3 +1,8 @@
2019-01-15 Richard Biener <rguenther@suse.de>
PR debug/88046
* g++.dg/lto/pr88046_0.C: New testcase.
2019-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/88855

View File

@ -0,0 +1,14 @@
// { dg-lto-do link }
// { dg-lto-options { { -O2 -fPIC -flto } } }
// { dg-extra-ld-options "-shared -g" }
class a {};
class b : virtual a {
public:
void operator<<(bool);
};
void c() try {
b d;
d << "";
} catch (int) {
}