+2003-11-14 Giovanni Bajo <giovannibajo@libero.it>
+
+ PR c++/2094
+ * g++.dg/template/ptrmem7.C: New test.
+
2003-11-13 Andrew Pinski <apinski@apple.com>
* gcc.c-torture/compile/20031113-1.c: New test.
--- /dev/null
+// { dg-do compile }
+// Origin: <togawa at acm dot arg>
+// c++/2094: unsupported 'ptrmem_cst' in type unification
+
+struct R
+{
+ int i;
+};
+
+struct S
+{
+ int i;
+ int j;
+};
+
+struct S2 : S
+{};
+
+template<int S::*p, typename>
+struct X
+{
+ X ();
+ template<typename U> X(const X<p,U> &);
+};
+
+X<&S::i,S> x = X<&S::i,S>();
+X<&S::i,S> x2 = X<&S2::i,S>();
+X<&S::i,S> y = X<&S::j,S>(); // { dg-error "" }
+X<&S::i,S> z = X<&R::i,S>(); // { dg-error "" }
+
+template <class T>
+struct Foo
+{
+ void foo(void)
+ {
+ X<&T::i,T> x = X<&T::i,T>();
+ X<&S::i,S> x2 = X<&S2::i,S>();
+ X<&S::i,S> y = X<&S::j,S>(); // { dg-error "" }
+ X<&S::i,S> z = X<&R::i,S>(); // { dg-error "" }
+ }
+};
+
+template struct Foo<S>; // { dg-error "instantiated from" }