[gcc/devel/omp/gcc-9] Darwin, testsuite, backport fix for 91087.

Tobias Burnus burnus@gcc.gnu.org
Thu Mar 5 14:20:00 GMT 2020


https://gcc.gnu.org/g:937e3317aa84072dc1f5b6e99b8c257f8533976d

commit 937e3317aa84072dc1f5b6e99b8c257f8533976d
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Sun Aug 4 13:12:26 2019 +0000

    Darwin, testsuite, backport fix for 91087.
    
    The testcase is failing to instrument part of the source because of a bug
    in the ordering of static DTORs. It seems unlikely that this is generically
    fixable in the toolchain (and given that it's likely to be a dynamic loader
    change would not be expected to be applied retrospectively to OS versions
    that are out of support). To avoid the testsuite noise, xfail the count lines
    that don't match (we can adjust the xfails as/when the upstream bug is fixed).
    
    dejagnu xfails do not seem to work when embedded in a line like:
    ~Test (void) { .... /* count(1) { xfail ... } */ }
    the closing brace seems to confuse the parser. The solution is to exapnd the
    text onto three lines.
    
    2019-08-04  Iain Sandoe  <iain@sandoe.co.uk>
    
    	Backport from mainline.
    	2019-07-25  Iain Sandoe  <iain@sandoe.co.uk>
    
    	PR gcov-profile/91087
    	* g++.dg/gcov/pr16855.C: Xfail the count lines for the DTORs and the
    	"final" line for the failure summaries.  Adjust source layout so that
    	dejagnu xfail expressions work.
    
    From-SVN: r274092

Diff:
---
 gcc/testsuite/ChangeLog             | 10 ++++++++++
 gcc/testsuite/g++.dg/gcov/pr16855.C | 10 +++++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cd197c6..bc91a79 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,6 +1,16 @@
 2019-08-04  Iain Sandoe  <iain@sandoe.co.uk>
 
 	Backport from mainline.
+	2019-07-25  Iain Sandoe  <iain@sandoe.co.uk>
+
+	PR gcov-profile/91087
+	* g++.dg/gcov/pr16855.C: Xfail the count lines for the DTORs and the
+	"final" line for the failure summaries.  Adjust source layout so that
+	dejagnu xfail expressions work.
+
+2019-08-04  Iain Sandoe  <iain@sandoe.co.uk>
+
+	Backport from mainline.
 	2019-07-13  Iain Sandoe  <iain@sandoe.co.uk>
 
 	* gcc.target/powerpc/stabs-attrib-vect-darwin.c: Require stabs
diff --git a/gcc/testsuite/g++.dg/gcov/pr16855.C b/gcc/testsuite/g++.dg/gcov/pr16855.C
index d7aa8a4..a68b05c 100644
--- a/gcc/testsuite/g++.dg/gcov/pr16855.C
+++ b/gcc/testsuite/g++.dg/gcov/pr16855.C
@@ -1,6 +1,8 @@
 /* { dg-options "-fprofile-arcs -ftest-coverage" } */
 /* { dg-do run { target native } } */
 
+/* See PR91087 for information on Darwin xfails. */
+
 #include <stdlib.h>
 #include <stdio.h>
 
@@ -18,7 +20,9 @@ class Test
 {
 public:
   Test (void) { fprintf (stderr, "In Test::Test\n"); /* count(1) */ }
-  ~Test (void) { fprintf (stderr, "In Test::~Test\n"); /* count(1) */ }
+  ~Test (void) {
+   fprintf (stderr, "In Test::~Test\n"); /* count(1) { xfail *-*-darwin* } */
+  }
 } T1;
 
 void
@@ -42,7 +46,7 @@ static void __attribute__ ((constructor)) ctor_default ()
 
 static void __attribute__ ((destructor)) dtor_default ()
 {
-  fprintf (stderr, "in destructor(())\n"); /* count(1) */
+  fprintf (stderr, "in destructor(())\n"); /* count(1) { xfail *-*-darwin* } */
 }
 
-/* { dg-final { run-gcov branches { -b pr16855.C } } } */
+/* { dg-final { run-gcov branches { -b pr16855.C } { xfail *-*-darwin* } } } */



More information about the Gcc-cvs mailing list