]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR debug/46102
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Feb 2015 15:31:52 +0000 (15:31 +0000)
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Feb 2015 15:31:52 +0000 (15:31 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221016 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/debug/dwarf2-2.C [deleted file]
gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C [moved from gcc/testsuite/g++.dg/debug/dwarf2-1.C with 61% similarity]
gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C [moved from gcc/testsuite/g++.dg/debug/pr46123.C with 81% similarity]
gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C
gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c [moved from gcc/testsuite/gcc.dg/debug/dwarf2-3.c with 77% similarity]
gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.h [moved from gcc/testsuite/gcc.dg/debug/dwarf2-3.h with 100% similarity]

index 73ef79d4ea484bcf27ba4b836701dbcaf7655e4f..047a158e29ad7e0438bea27050fed28246eccaab 100644 (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
index ebf41c8e5a17f8062b2b74fbf03f8806599adca2..6c8e51fcab42447dddd0f587b1db67e1cd345cc4 100644 (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);
 
index 41c0685db708d1df394ea63b1068c9d5936ab98f..0d1b9b5e4519931c2abc8e3fa3db4bed48561a40 100644 (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
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2-2.C b/gcc/testsuite/g++.dg/debug/dwarf2-2.C
deleted file mode 100644 (file)
index 9e6dbd2..0000000
+++ /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;
-}
similarity index 61%
rename from gcc/testsuite/g++.dg/debug/dwarf2-1.C
rename to gcc/testsuite/g++.dg/debug/dwarf2/dwarf2-1.C
index e90d51030c85186dc07e329f2e9492325f361592..d0176bae6f5d51665984df190e19dcecaf605607 100644 (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 } */
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 (file)
index 0000000..23175c6
--- /dev/null
@@ -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 } */
similarity index 81%
rename from gcc/testsuite/g++.dg/debug/pr46123.C
rename to gcc/testsuite/g++.dg/debug/dwarf2/pr46123-2.C
index 9e115cd06da80b1fe382a69c818ba7d1b68a09d6..b262034eafb2fa5230218819bad49bc6a9573420 100644 (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 } */
index d9d058c9c8cebcf12775f132cf8aba94a9227ad2..b742c1dfd4173adba17a28a835d74d616404b20d 100644 (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 } */
similarity index 77%
rename from gcc/testsuite/gcc.dg/debug/dwarf2-3.c
rename to gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-3.c
index f0c129c60261ace4a1ee844551803d4bf6ea9fa1..e3646705706a101b319e6c7ccaf30b4509f183b8 100644 (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"