re PR debug/46102 (ICE: SIGSEGV in dwarf2out_finish (dwarf2out.c:8490) with -feliminate-dwarf2-dups when using precompiled headers)

PR debug/46102
	* dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
testsuite/
	PR debug/46102
	* g++.dg/debug/dwarf2-1.C: XFAIL and move...
	* g++.dg/debug/dwarf2/dwarf2-1.C: ...here.
	* g++.dg/debug/dwarf2-2.C: XFAIL and move...
	* g++.dg/debug/dwarf2/dwarf2-2.C: ...here.
	* g++.dg/debug/dwarf2/typedef5.C: XFAIL.
	* g++.dg/debug/pr46123.C: XFAIL and move...
	* g++.dg/debug/dwarf2/pr46123-2.C: ...here.
	* gcc.dg/debug/dwarf2-3.c: Move...
	* gcc.dg/debug/dwarf2/dwarf2-3.c: ...here.

From-SVN: r221016
This commit is contained in:
Aldy Hernandez 2015-02-26 15:31:52 +00:00 committed by Aldy Hernandez
parent 75e0295b00
commit b33da0c754
10 changed files with 53 additions and 19 deletions

View File

@ -1,3 +1,8 @@
2015-02-25 Aldy Hernandez <aldyh@redhat.com>
PR debug/46102
* dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
2015-02-26 Sebastian Pop <s.pop@samsung.com>
PR tree-optimization/65048

View File

@ -22621,6 +22621,14 @@ output_macinfo (void)
static void
dwarf2out_init (const char *filename ATTRIBUTE_UNUSED)
{
/* This option is currently broken, see (PR53118 and PR46102). */
if (flag_eliminate_dwarf2_dups
&& strstr (lang_hooks.name, "C++"))
{
warning (0, "-feliminate-dwarf2-dups is broken for C++, ignoring");
flag_eliminate_dwarf2_dups = 0;
}
/* Allocate the file_table. */
file_table = hash_table<dwarf_file_hasher>::create_ggc (50);

View File

@ -1,3 +1,16 @@
2015-02-25 Aldy Hernandez <aldyh@redhat.com>
PR debug/46102
* g++.dg/debug/dwarf2-1.C: XFAIL and move...
* g++.dg/debug/dwarf2/dwarf2-1.C: ...here.
* g++.dg/debug/dwarf2-2.C: XFAIL and move...
* g++.dg/debug/dwarf2/dwarf2-2.C: ...here.
* g++.dg/debug/dwarf2/typedef5.C: XFAIL.
* g++.dg/debug/pr46123.C: XFAIL and move...
* g++.dg/debug/dwarf2/pr46123-2.C: ...here.
* gcc.dg/debug/dwarf2-3.c: Move...
* gcc.dg/debug/dwarf2/dwarf2-3.c: ...here.
2015-02-26 Marek Polacek <polacek@redhat.com>
PR c++/65202

View File

@ -1,17 +0,0 @@
// PR debug/27057
// { dg-do compile }
// { dg-options "-g -feliminate-dwarf2-dups" }
namespace N
{
}
struct A
{
void foo ();
};
void A::foo ()
{
using namespace N;
}

View File

@ -4,7 +4,7 @@
// PR 24824
// Origin: wanderer@rsu.ru
// { dg-options "-feliminate-dwarf2-dups" }
// { dg-options "-gdwarf -feliminate-dwarf2-dups" }
namespace N
{
@ -20,3 +20,5 @@ namespace N
}
N::Derived thing;
/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } 1 } */

View File

@ -0,0 +1,19 @@
// PR debug/27057
// { dg-do compile }
// { dg-options "-gdwarf -feliminate-dwarf2-dups" }
namespace N
{
}
struct A
{
void foo ();
};
void A::foo ()
{
using namespace N;
}
/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } 1 } */

View File

@ -45,3 +45,5 @@ int main ()
return 1;
return 0;
}
/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } 1 } */

View File

@ -8,3 +8,5 @@ typedef struct
} A;
A a;
/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } 1 } */

View File

@ -1,7 +1,7 @@
/* Test -feliminate-dwarf2-dups */
/* Contributed by Devang Patel <dpatel@apple.com> */
/* { dg-do compile } */
/* { dg-options "-feliminate-dwarf2-dups" } */
/* { dg-options "-gdwarf -feliminate-dwarf2-dups" } */
#include "dwarf2-3.h"