diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0876ea0d0c48f4a1638a40ed09b1074bdf88f59f..f7c483320c6aa5a99d7b0e17aac5c47c4191c0b8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-15  Steve Ellcey  <sje@cup.hp.com>
+
+	PR c++/38357
+	* g++.dg/template/crash87.C: New test.
+
 2009-01-15  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR middle-end/37843
diff --git a/gcc/testsuite/g++.dg/template/crash87.C b/gcc/testsuite/g++.dg/template/crash87.C
new file mode 100644
index 0000000000000000000000000000000000000000..7b8bf4ada0d0834a2bf494f5f89100d3f930f63d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/crash87.C
@@ -0,0 +1,27 @@
+// Origin: PR c++/38357
+// { dg-do compile }
+
+class BUG
+{
+public:
+ bool name() { return true; }
+};
+
+template <bool T>
+struct BUG1_5
+{
+
+};
+
+template <bool name>
+class BUG2 : BUG
+{
+public:
+ typedef BUG1_5<name> ptr; // { dg-error "could not convert template argument" }
+};
+
+int main()
+{
+ BUG2<false> b;
+ return 0;
+}