[PR78112] Remove platform-dependent checks in g++.dg/pr78112.C
authorPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Thu, 8 Dec 2016 11:01:03 +0000 (11:01 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Thu, 8 Dec 2016 11:01:03 +0000 (11:01 +0000)
... as there checks failed on many platforms. As a replacement, this
commit also adds a new testcase from source reduction. The hope is that
this new testcase will get a consistent output across all platforms.

gcc/testsuite/
PR debug/78112
* g++.dg/pr78112.C: Remove platform-dependent checks.
* g++.dg/pr78112-2.C: New testcase.

From-SVN: r243432

gcc/testsuite/g++.dg/pr78112-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/pr78112.C

diff --git a/gcc/testsuite/g++.dg/pr78112-2.C b/gcc/testsuite/g++.dg/pr78112-2.C
new file mode 100644 (file)
index 0000000..d9d18ff
--- /dev/null
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-g -dA -gdwarf-4 -std=gnu++11" } */
+/* { dg-options "-g -dA -std=gnu++11 -gdwarf-4" } */
+/* { dg-final { scan-assembler-times DW_AT_object_pointer 18 } } */
+
+void run (int *int_p, void(*func)(int *)) { func (int_p); }
+namespace foo {
+   struct Foo {
+      int a;
+      Foo() { run (&a, [](int *int_p) { *int_p = 0; }); }
+   };
+}
+int main (void) { foo::Foo f; }
index 986171dab5229f6541bdb3e4e583ed922b827e94..83122923f9151c822f131c9b4c3a1b76dc0d3dad 100644 (file)
@@ -1,7 +1,5 @@
 /* { dg-do compile } */
 /* { dg-options "-g -dA -std=gnu++11" } */
-/* { dg-final { scan-assembler-times DW_AT_inline 6 { xfail *-*-aix* } } } */
-/* { dg-final { scan-assembler-times DW_AT_object_pointer 37 { xfail *-*-aix* } } } */
 namespace std
 {
 template <typename _Tp> struct integral_constant