Mark test x3hardorder.cc as passing.  Update many other tests to
indicate their current failure reason.  Fix the readme.


Index: gcc/testsuite/ChangeLog.pph

2011-10-13   Lawrence Crowl  <cr...@google.com>

        * g++.dg/pph/README: Put z files in regular expression.
        * g++.dg/pph/x3hardorder.cc: Mark passing.
        * g++.dg/pph/c1limits-externalid.cc: Add triage comment.
        * g++.dg/pph/e4variables.cc: Likewise.
        * g++.dg/pph/x1tmplclass1.cc: Likewise.
        * g++.dg/pph/x1tmplclass2.cc: Likewise.
        * g++.dg/pph/x4keyed.cc: Likewise.
        * g++.dg/pph/x4keyex.cc: Likewise.
        * g++.dg/pph/x4keyno.cc: Likewise.
        * g++.dg/pph/x4resolve1.cc: Likewise.
        * g++.dg/pph/x4resolve2.cc: Likewise.
        * g++.dg/pph/x4structover1.cc: Likewise.
        * g++.dg/pph/x4tmplclass2.cc: Likewise.
        * g++.dg/pph/x4tmplfuncinln.cc: Likewise.
        * g++.dg/pph/x4tmplfuncninl.cc: Likewise.
        * g++.dg/pph/x6dynarray3.cc: Likewise.
        * g++.dg/pph/x6dynarray4.cc: Likewise.
        * g++.dg/pph/x6rtti.cc: Likewise.
        * g++.dg/pph/x7dynarray5.cc: Likewise.
        * g++.dg/pph/x7rtti.cc: Likewise.
        * g++.dg/pph/z4nontrivinit.cc: Likewise.
        * g++.dg/pph/z4tmplclass1.cc: Likewise.
        * g++.dg/pph/z4tmplclass2.cc: Likewise.
        * g++.dg/pph/z4tmplfuncinln.cc: Likewise.
        * g++.dg/pph/z4tmplfuncninl.cc: Likewise.


Index: gcc/testsuite/g++.dg/pph/x4resolve1.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x4resolve1.cc      (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x4resolve1.cc      (working copy)
@@ -1,4 +1,6 @@
 // pph asm xwant 03374
+// This test produces overload differences because the declaration and
+// call orders are different between pph and textual parsing.
 
 #include "x0resolve1.h"
 #include "x0resolve2.h"
Index: gcc/testsuite/g++.dg/pph/x4tmplfuncninl.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x4tmplfuncninl.cc  (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x4tmplfuncninl.cc  (working copy)
@@ -1,4 +1,6 @@
 // pph asm xdiff 37887
+// xfail BOGUS DIFF LABEL
+
 #include "x0tmplfuncninl1.h"
 #include "x0tmplfuncninl2.h"
 #include "a0tmplfuncninl_u.h"
Index: gcc/testsuite/g++.dg/pph/z4tmplfuncninl.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/z4tmplfuncninl.cc  (revision 179942)
+++ gcc/testsuite/g++.dg/pph/z4tmplfuncninl.cc  (working copy)
@@ -1,4 +1,6 @@
 // pph asm xdiff 05125
+// xfail BOGUS DUPFUN
+
 #include "x0tmplfuncninl3.h"
 #include "x0tmplfuncninl4.h"
 #include "a0tmplfuncninl_u.h"
Index: gcc/testsuite/g++.dg/pph/x6dynarray3.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x6dynarray3.cc     (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x6dynarray3.cc     (working copy)
@@ -1,5 +1,7 @@
 // pph asm xdiff 30893
-// .Lnn labels emitted with different values of 'nn'.
+// xfail BOGUS UNKNOWN
+// Some branches seem to be missing.
+
 #include "x5dynarray3.h"
 
 #include "a0integer.h"
Index: gcc/testsuite/g++.dg/pph/x4keyno.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x4keyno.cc (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x4keyno.cc (working copy)
@@ -1,5 +1,6 @@
 // { dg-xfail-if "BOGUS MERGE AUXVAR" { "*-*-*" } { "-fpph-map=pph.map" } }
-// { dg-bogus "x4keyno.cc:11:1: error: redefinition of 'const char _ZTS5keyno" 
"" { xfail *-*-* } 0 }
+// { dg-bogus "x4keyno.cc:12:1: error: redefinition of 'const char _ZTS5keyno" 
"" { xfail *-*-* } 0 }
+// The variable for the typeinfo name for 'keyno' is duplicated.
 
 #include "x0keyno1.h"
 #include "x0keyno2.h"
Index: gcc/testsuite/g++.dg/pph/x7dynarray5.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x7dynarray5.cc     (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x7dynarray5.cc     (working copy)
@@ -1,4 +1,5 @@
-// { dg-xfail-if "BOGUS" { "*-*-*" } { "-fpph-map=pph.map" } }
+// { dg-xfail-if "BOGUS POSSIBLY DROPPING SYMBOLS " { "*-*-*" } { 
"-fpph-map=pph.map" } }
+
 #include "x0dynarray4.h"
 #include "x6dynarray5.h"
 
Index: gcc/testsuite/g++.dg/pph/README
===================================================================
--- gcc/testsuite/g++.dg/pph/README     (revision 179942)
+++ gcc/testsuite/g++.dg/pph/README     (working copy)
@@ -1,7 +1,7 @@
 The test names have the following convention on the prefix of their
 names.
 
-    [acdpxy][0-9]*
+    [acdpxyz][0-9]*
 
     a - auxillary headers
     c - positive tests for C-level headers and sources
Index: gcc/testsuite/g++.dg/pph/x4resolve2.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x4resolve2.cc      (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x4resolve2.cc      (working copy)
@@ -1,4 +1,6 @@
 // pph asm xwant 37643
+// This test produces overload differences because the declaration and
+// call orders are different between pph and textual parsing.
 
 #include "x0resolve2.h"
 #include "x0resolve1.h"
Index: gcc/testsuite/g++.dg/pph/x6dynarray4.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x6dynarray4.cc     (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x6dynarray4.cc     (working copy)
@@ -1,4 +1,6 @@
-// { dg-xfail-if "BOGUS" { "*-*-*" } { "-fpph-map=pph.map" } }
+// { dg-xfail-if "BOGUS MERGING" { "*-*-*" } { "-fpph-map=pph.map" } }
+// Too many failures to diagnose.
+
 #include "x6dynarray5.h"
 
 #include <algorithm>
Index: gcc/testsuite/g++.dg/pph/x1tmplclass1.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x1tmplclass1.cc    (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x1tmplclass1.cc    (working copy)
@@ -1,5 +1,7 @@
 // pph asm xdiff 11432
-// Assembly differences seem to be due to the order in which the
-// symbols in the template hash tables are emitted.
+// xfail BOGUS MISSVAR
+// The assembly is missing a template class static member variable
+// base<char>::variable instantiated in a prior pph file.
+
 #include "x0tmplclass13.h"
 #include "a0tmplclass1_u.h"
Index: gcc/testsuite/g++.dg/pph/c1limits-externalid.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/c1limits-externalid.cc     (revision 179942)
+++ gcc/testsuite/g++.dg/pph/c1limits-externalid.cc     (working copy)
@@ -1,6 +1,8 @@
+/* { dg-timeout 15 } */
+/* { dg-xfail-if "BOGUS MERGE HUGE SYMBOL LIST" { *-*-* } { 
"-fpph-map=pph.map" } } */
 /* FIXME pph - The following timeout may cause failures on slow targets.
    In general it takes no longer than a couple of seconds to compile
-   this test, but the new merging code is having trouble with this.  */
-/* { dg-timeout 15 } */
-/* { dg-xfail-if "MERGE INFINITE LOOP" { *-*-* } { "-fpph-map=pph.map" } } */
+   this test, but the new merging code is having trouble with this.
+   Probably due to an O(n^2) merging algorithm.  */
+
 #include "c0limits-externalid.h"
Index: gcc/testsuite/g++.dg/pph/x7rtti.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x7rtti.cc  (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x7rtti.cc  (working copy)
@@ -1,5 +1,5 @@
 // FIXME pph: This should be a { dg=do run } (with '=' replaced by '-')
-// { dg-xfail-if "BOGUS" { "*-*-*" } { "-fpph-map=pph.map" } }
+// { dg-xfail-if "BOGUS POSSIBLE TYPE MISMERGE" { "*-*-*" } { 
"-fpph-map=pph.map" } }
 // { dg-bogus "x7rtti.cc:19:0: warning: .__STDC_IEC_559_COMPLEX__. redefined 
.enabled by default." "" { xfail *-*-* } 0 }
 // { dg-bogus "x7rtti.cc:19:0: warning: .__STDC_ISO_10646__. redefined 
.enabled by default." "" { xfail *-*-* } 0 }
 // { dg-bogus "x7rtti.cc:19:0: warning: .__STDC_IEC_559__. redefined .enabled 
by default." "" { xfail *-*-* } 0 }
Index: gcc/testsuite/g++.dg/pph/x1tmplclass2.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x1tmplclass2.cc    (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x1tmplclass2.cc    (working copy)
@@ -1,5 +1,9 @@
 // pph asm xdiff 37711
-// Assembly differences seem to be due to the order in which the
-// symbols in the template hash tables are emitted.
+// xfail BOGUS MISSVAR , ORDER
+// The assembly is missing a template class static member variable
+// base<char>::variable instantiated in a prior pph file.
+// Explicit specializations base<short>::variable and base<double>::d_variable
+// appear in a different order.
+
 #include "x0tmplclass23.h"
 #include "a0tmplclass2_u.h"
Index: gcc/testsuite/g++.dg/pph/z4tmplclass1.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/z4tmplclass1.cc    (revision 179942)
+++ gcc/testsuite/g++.dg/pph/z4tmplclass1.cc    (working copy)
@@ -1,6 +1,6 @@
 // pph asm xdiff 10444
-// Assembly differences seem to be due to the order in which the
-// symbols in the template hash tables are emitted.
+// xfail BOGUS DUPVAR DUPFUNC
+
 #include "x0tmplclass13.h"
 #include "x0tmplclass14.h"
 #include "a0tmplclass1_u.h"
Index: gcc/testsuite/g++.dg/pph/x4keyex.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x4keyex.cc (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x4keyex.cc (working copy)
@@ -1,5 +1,5 @@
 // pph asm xdiff 32642
-// xfail BOGUS LABELS
+// xfail BOGUS MERGE LABELS
 //
 // This test case fails to compare because LFB/LFE labels are different.
 //
Index: gcc/testsuite/g++.dg/pph/x4tmplfuncinln.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x4tmplfuncinln.cc  (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x4tmplfuncinln.cc  (working copy)
@@ -1,5 +1,6 @@
 // pph asm xdiff 16845
-// duplicate function emission
+// xfail BOGUS DUPFUN
+// double function1<double>(double) is duplicated
 
 #include "x0tmplfuncinln1.h"
 #include "x0tmplfuncinln2.h"
Index: gcc/testsuite/g++.dg/pph/z4tmplfuncinln.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/z4tmplfuncinln.cc  (revision 179942)
+++ gcc/testsuite/g++.dg/pph/z4tmplfuncinln.cc  (working copy)
@@ -1,4 +1,6 @@
 // pph asm xdiff 65129
+// xfail BOGUS DUPFUNC
+
 #include "x0tmplfuncinln3.h"
 #include "x0tmplfuncinln4.h"
 #include "a0tmplfuncinln_u.h"
Index: gcc/testsuite/g++.dg/pph/z4tmplclass2.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/z4tmplclass2.cc    (revision 179942)
+++ gcc/testsuite/g++.dg/pph/z4tmplclass2.cc    (working copy)
@@ -1,6 +1,6 @@
 // pph asm xdiff 59292
-// Assembly differences seem to be due to the order in which the
-// symbols in the template hash tables are emitted.
+// xfail BOGUS DUPVAR DUPFUNC
+
 #include "x0tmplclass23.h"
 #include "x0tmplclass24.h"
 #include "a0tmplclass2_u.h"
Index: gcc/testsuite/g++.dg/pph/x4structover1.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x4structover1.cc   (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x4structover1.cc   (working copy)
@@ -1,5 +1,6 @@
-// { dg-xfail-if "BOGUS" { "*-*-*" } { "-fpph-map=pph.map" } }
-
+// { dg-xfail-if "BOGUS TYPE MERGE" { "*-*-*" } { "-fpph-map=pph.map" } }
+// This test fails because even if we merge type decls,
+// we are not merging the corresponding types.
 
 #include "x0structover1.h"
 #include "x0structover2.h"
Index: gcc/testsuite/g++.dg/pph/z4nontrivinit.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/z4nontrivinit.cc   (revision 179942)
+++ gcc/testsuite/g++.dg/pph/z4nontrivinit.cc   (working copy)
@@ -1,3 +1,5 @@
 // pph asm xdiff 65039
+// xfail BOGUS DUPVAR
+
 #include "x0nontrivinit1.h"
 #include "x0nontrivinit2.h"
Index: gcc/testsuite/g++.dg/pph/e4variables.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/e4variables.cc     (revision 179942)
+++ gcc/testsuite/g++.dg/pph/e4variables.cc     (working copy)
@@ -1,4 +1,6 @@
 // pph asm xdiff 26015
+// xfail BOGUS DUPVAR
+
 #include "c0variables3.h"
 #include "c0variables4.h"
 
Index: gcc/testsuite/g++.dg/pph/x4keyed.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x4keyed.cc (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x4keyed.cc (working copy)
@@ -1,5 +1,6 @@
 // { dg-xfail-if "BOGUS MERGE AUXVAR" { "*-*-*" } { "-fpph-map=pph.map" } }
-// { dg-bogus "x4keyed.cc:13:1: error: redefinition of 'const char _ZTS5keyed 
..'" "" { xfail *-*-* } 0 }
+// { dg-bogus "x4keyed.cc:14:1: error: redefinition of 'const char _ZTS5keyed 
..'" "" { xfail *-*-* } 0 }
+// The variable for the typeinfo name for 'keyed' is duplicated.
 
 #include "x0keyed1.h"
 #include "x0keyed2.h"
Index: gcc/testsuite/g++.dg/pph/x3hardorder.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x3hardorder.cc     (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x3hardorder.cc     (working copy)
@@ -1,5 +1,6 @@
-//pph asm xdiff 28345
-//Ordering of globals is different
+// pph asm xwant 28345
+// The test will inherently have a different assembly order
+// because the PPH file is read before any parsing.
 
 #include "x3hardorder2.h"
 
Index: gcc/testsuite/g++.dg/pph/x4tmplclass2.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x4tmplclass2.cc    (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x4tmplclass2.cc    (working copy)
@@ -1,6 +1,8 @@
 // pph asm xdiff 49533
-// Assembly differences seem to be due to the order in which the
-// symbols in the template hash tables are emitted.
+// xfail BOGUS DUPFUN
+// base<short>::dynamic_early_inline() and base<short>::static_early_inline()
+// are duplicated.
+
 #include "x0tmplclass21.h"
 #include "x0tmplclass22.h"
 #include "a0tmplclass2_u.h"
Index: gcc/testsuite/g++.dg/pph/x6rtti.cc
===================================================================
--- gcc/testsuite/g++.dg/pph/x6rtti.cc  (revision 179942)
+++ gcc/testsuite/g++.dg/pph/x6rtti.cc  (working copy)
@@ -1,5 +1,4 @@
-// { dg-xfail-if "BOGUS" { "*-*-*" } { "-fpph-map=pph.map" } }
-
+// { dg-xfail-if "BOGUS POSSIBLE TYPE MISMERGE" { "*-*-*" } { 
"-fpph-map=pph.map" } }
 //FIXME We should make this a run test.
 
 #include "x5rtti1.h"

--
This patch is available for review at http://codereview.appspot.com/5271044

Reply via email to