diff --git a/gcc/testsuite/ChangeLog.pph b/gcc/testsuite/ChangeLog.pph
index b510b55..ded2ef9 100644
--- a/gcc/testsuite/ChangeLog.pph
+++ b/gcc/testsuite/ChangeLog.pph
@@ -1,3 +1,9 @@
+2012-03-26   Diego Novillo  <dnovillo@google.com>
+
+	* g++.dg/pph/x6dynarray4.cc: Adjust expected patterns.
+	* g++.dg/pph/x6dynarray5.h: Likewise.
+	* g++.dg/pph/x7dynarray5.cc: Likewise.
+
 2012-03-23   Diego Novillo  <dnovillo@google.com>
 
 	* g++.dg/pph/x1mbstate_t.h: Mark fixed.
diff --git a/gcc/testsuite/g++.dg/pph/x6dynarray4.cc b/gcc/testsuite/g++.dg/pph/x6dynarray4.cc
index 74fb0d9..6e43954 100644
--- a/gcc/testsuite/g++.dg/pph/x6dynarray4.cc
+++ b/gcc/testsuite/g++.dg/pph/x6dynarray4.cc
@@ -1,6 +1,12 @@
-// {    xfail-if "DEPENDENT" { "*-*-*" } { "-fpph-map=pph.map" } }
+// { xfail-if "DEPENDENT" { "*-*-*" } { "-fpph-map=pph.map" } }
+// { dg-bogus "a0dynarray-dcl3.hi:11:60: error: call of overloaded .operator new ...sizetype.. is ambiguous" "" { xfail *-*-* } 0 }
+// { dg-bogus "stl_algobase.h:625:18: error: .__value. is not a member of .std::__is_move_iterator" "" { xfail *-*-* } 0 }
+// { dg-bogus "stl_algobase.h:276:12: error: .__value. is not a member of .std::__is_move_iterator" "" { xfail *-*-* } 0 }
+// { dg-bogus "stl_algobase.h:625:18: error: no matching function for call to .__miter_base" "" { xfail *-*-* } 0 }
+// { dg-bogus "stl_algobase.h:282:5: error: no type named .iterator_type. in .struct std::_Miter_base." "" { xfail *-*-* } 0 }
+// { dg-bogus "stl_algobase.h:139:7: error: .__value. is not a member of .std::__are_same" "" { xfail *-*-* } 0 }
 
-#include "x6dynarray5.h" // { dg-bogus "cannot open PPH file x6dynarray5.pph" "" { xfail *-*-* } }
+#include "x6dynarray5.h"
 
 #include <algorithm>
 
diff --git a/gcc/testsuite/g++.dg/pph/x6dynarray5.h b/gcc/testsuite/g++.dg/pph/x6dynarray5.h
index 05634c1..69dbcb8 100644
--- a/gcc/testsuite/g++.dg/pph/x6dynarray5.h
+++ b/gcc/testsuite/g++.dg/pph/x6dynarray5.h
@@ -1,12 +1,3 @@
-// { dg-xfail-if "UNIMPL TRAIT MANGLING" { "*-*-*" } { "-fpph-map=pph.map" } }
-// { dg-bogus "bits/stl_uninitialized.h:66:12: sorry, unimplemented: mangling trait_expr" "" { xfail *-*-* } 0 }
-// { dg-bogus "bits/stl_uninitialized.h:124:12: sorry, unimplemented: mangling trait_expr" "" { xfail *-*-* } 0 }
-// { dg-bogus "bits/stl_uninitialized.h:178:12: sorry, unimplemented: mangling trait_expr" "" { xfail *-*-* } 0 }
-// { dg-bogus "bits/allocator.h:153:12: sorry, unimplemented: mangling trait_expr" "" { xfail *-*-* } 0 }
-// { dg-bogus "bits/stl_construct.h:98:12: sorry, unimplemented: mangling trait_expr" "" { xfail *-*-* } 0 }
-// { dg-bogus "bits/stl_tempbuf.h:183:12: sorry, unimplemented: mangling trait_expr" "" { xfail *-*-* } 0 }
-// { dg-bogus "bits/cpp_type_traits.h:87:12: internal compiler error: tree check: expected integer_cst, have const_decl in tree_int_cst_sgn" "" { xfail *-*-* } 0 }
-
 #ifndef X6DYNARRAY5_H
 #define X6DYNARRAY5_H
 
diff --git a/gcc/testsuite/g++.dg/pph/x7dynarray5.cc b/gcc/testsuite/g++.dg/pph/x7dynarray5.cc
index cd55eab..628ea7c 100644
--- a/gcc/testsuite/g++.dg/pph/x7dynarray5.cc
+++ b/gcc/testsuite/g++.dg/pph/x7dynarray5.cc
@@ -1,8 +1,23 @@
-// {    xfail-if "DEPENDENT" { "*-*-*" } { "-fpph-map=pph.map" } }
+// { dg-xfail-if "DEPENDENT" { "*-*-*" } { "-fpph-map=pph.map" } }
+// { dg-bogus "streambuf_iterator.h:372:58: internal compiler error: canonical types differ for identical types.*" "" { xfail *-*-* } 0 }
 // { dg-bogus "ext/atomicity.h:48:61: error: void value not ignored as it ought to be" "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:111:63: error: no class template named .rebind. in .class std::allocator<char>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:111:63: error: no class template named .rebind. in .class std::allocator<wchar_t>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:124:68: error: no class template named .rebind. in .class std::allocator<char>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:124:68: error: no class template named .rebind. in .class std::allocator<wchar_t>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:126:61: error: no class template named .rebind. in .class std::allocator<char>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:126:61: error: no class template named .rebind. in .class std::allocator<wchar_t>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:127:53: error: no class template named .rebind. in .class std::allocator<char>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:127:53: error: no class template named .rebind. in .class std::allocator<wchar_t>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:128:52: error: no class template named .rebind. in .class std::allocator<char>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:128:52: error: no class template named .rebind. in .class std::allocator<wchar_t>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:155:56: error: no class template named .rebind. in .class std::allocator<char>." "" { xfail *-*-* } 0 }
+// { dg-bogus "basic_string.h:155:56: error: no class template named .rebind. in .class std::allocator<wchar_t>." "" { xfail *-*-* } 0 }
+// { dg-bogus "locale_classes.tcc:47:46: error: call of overloaded .operator new.sizetype.. is ambiguous" "" { xfail *-*-* } 0 }
+// { dg-bogus "locale_classes.tcc:65:43: error: call of overloaded .operator new.sizetype.. is ambiguous" "" { xfail *-*-* } 0 }
 
 #include "x0dynarray4.h"
-#include "x6dynarray5.h" // { dg-bogus "warning: cannot open PPH file x6dynarray5.pph" "" { xfail *-*-* } }
+#include "x6dynarray5.h"
 
 #include <algorithm>
 #include <iostream>
