Commit b33da0c7 by Aldy Hernandez Committed by Aldy Hernandez

re PR debug/46102 (ICE: SIGSEGV in dwarf2out_finish (dwarf2out.c:8490) with…

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
parent 75e0295b
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> 2015-02-26 Sebastian Pop <s.pop@samsung.com>
PR tree-optimization/65048 PR tree-optimization/65048
......
...@@ -22621,6 +22621,14 @@ output_macinfo (void) ...@@ -22621,6 +22621,14 @@ output_macinfo (void)
static void static void
dwarf2out_init (const char *filename ATTRIBUTE_UNUSED) 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. */ /* Allocate the file_table. */
file_table = hash_table<dwarf_file_hasher>::create_ggc (50); file_table = hash_table<dwarf_file_hasher>::create_ggc (50);
......
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> 2015-02-26 Marek Polacek <polacek@redhat.com>
PR c++/65202 PR c++/65202
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// PR 24824 // PR 24824
// Origin: wanderer@rsu.ru // Origin: wanderer@rsu.ru
// { dg-options "-feliminate-dwarf2-dups" } // { dg-options "-gdwarf -feliminate-dwarf2-dups" }
namespace N namespace N
{ {
...@@ -20,3 +20,5 @@ namespace N ...@@ -20,3 +20,5 @@ namespace N
} }
N::Derived thing; N::Derived thing;
/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } 1 } */
// PR debug/27057 // PR debug/27057
// { dg-do compile } // { dg-do compile }
// { dg-options "-g -feliminate-dwarf2-dups" } // { dg-options "-gdwarf -feliminate-dwarf2-dups" }
namespace N namespace N
{ {
...@@ -15,3 +15,5 @@ void A::foo () ...@@ -15,3 +15,5 @@ void A::foo ()
{ {
using namespace N; using namespace N;
} }
/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } 1 } */
...@@ -45,3 +45,5 @@ int main () ...@@ -45,3 +45,5 @@ int main ()
return 1; return 1;
return 0; return 0;
} }
/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } 1 } */
...@@ -8,3 +8,5 @@ typedef struct ...@@ -8,3 +8,5 @@ typedef struct
} A; } A;
A a; A a;
/* { dg-bogus "-feliminate-dwarf2-dups is broken for C\\+\\+, ignoring" "broken -feliminate-dwarf2-dups" { xfail *-*-* } 1 } */
/* Test -feliminate-dwarf2-dups */ /* Test -feliminate-dwarf2-dups */
/* Contributed by Devang Patel <dpatel@apple.com> */ /* Contributed by Devang Patel <dpatel@apple.com> */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-feliminate-dwarf2-dups" } */ /* { dg-options "-gdwarf -feliminate-dwarf2-dups" } */
#include "dwarf2-3.h" #include "dwarf2-3.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment