aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2015-02-26 15:31:52 +0000
committerAldy Hernandez <aldyh@gcc.gnu.org>2015-02-26 15:31:52 +0000
commitb33da0c754077df1c40bdf929eb8c9ebc9e4de2b (patch)
tree2a79e58d028690cde55b2ac059a028a71f94dabf
parent75e0295b00aeeddbd4efb2e55ef3ed946f886a86 (diff)
downloadgcc-b33da0c754077df1c40bdf929eb8c9ebc9e4de2b.zip
gcc-b33da0c754077df1c40bdf929eb8c9ebc9e4de2b.tar.gz
gcc-b33da0c754077df1c40bdf929eb8c9ebc9e4de2b.tar.bz2
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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/dwarf2out.c8
-rw-r--r--gcc/testsuite/ChangeLog13
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2-2.C17
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C (renamed from gcc/testsuite/g++.dg/debug/dwarf2-1.C)4
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C19
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C (renamed from gcc/testsuite/g++.dg/debug/pr46123.C)2
-rw-r--r--gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c (renamed from gcc/testsuite/gcc.dg/debug/dwarf2-3.c)2
-rw-r--r--gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.h (renamed from gcc/testsuite/gcc.dg/debug/dwarf2-3.h)0
10 files changed, 53 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 73ef79d..047a158 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index ebf41c8..6c8e51f 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -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);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 41c0685..0d1b9b5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2-2.C b/gcc/testsuite/g++.dg/debug/dwarf2-2.C
deleted file mode 100644
index 9e6dbd2..0000000
--- a/gcc/testsuite/g++.dg/debug/dwarf2-2.C
+++ /dev/null
@@ -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;
-}
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2-1.C b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C
index e90d510..d0176ba 100644
--- a/gcc/testsuite/g++.dg/debug/dwarf2-1.C
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C
@@ -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 } */
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C
new file mode 100644
index 0000000..23175c6
--- /dev/null
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C
@@ -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 } */
diff --git a/gcc/testsuite/g++.dg/debug/pr46123.C b/gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C
index 9e115cd..b262034 100644
--- a/gcc/testsuite/g++.dg/debug/pr46123.C
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C
@@ -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 } */
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C b/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C
index d9d058c..b742c1d 100644
--- a/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C
@@ -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 } */
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2-3.c b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c
index f0c129c..e364670 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2-3.c
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c
@@ -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"
diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2-3.h b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.h
index 26ad0ba..26ad0ba 100644
--- a/gcc/testsuite/gcc.dg/debug/dwarf2-3.h
+++ b/gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.h