Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > 82bbe2f6a96ddca05c0f6c96b0a9d5ce > files > 19

gcc3.3-3.3.6-11.mga5.src.rpm

2003-03-11  Jason Merrill  <jason@redhat.com>

	PR c++/8660
	* testsuite/g++.dg/template/member2.C: New test.

2003-03-29  Gwenole Beauchesne  <gbeauchesne@mandrakesoft.com>

	PR c++/10265
	* testsuite/g++.dg/template/member4.C: New test.

--- gcc-3.2.2/gcc/testsuite/g++.dg/template/member2.C.c++-classfn-member-template	2003-04-02 11:14:29.000000000 +0200
+++ gcc-3.2.2/gcc/testsuite/g++.dg/template/member2.C	2003-04-02 11:14:29.000000000 +0200
@@ -0,0 +1,15 @@
+// PR c++/8660
+// Bug: we were treating the definition of the non-template as a definition
+// of the template, which broke.
+
+/* { dg-do compile } */
+
+struct BadgerBuf
+{
+  void ReadPod();
+  template<class B>
+  void ReadPod();
+};
+
+void BadgerBuf::ReadPod ()
+  { ReadPod<int> (); }
--- gcc-3.2.2/gcc/testsuite/g++.dg/template/member4.C.c++-classfn-member-template	2003-04-02 11:14:29.000000000 +0200
+++ gcc-3.2.2/gcc/testsuite/g++.dg/template/member4.C	2003-04-02 11:14:29.000000000 +0200
@@ -0,0 +1,28 @@
+// PR c++/10265
+// Bug: we were treating the definition of the non-template as a definition
+// of the template, which broke.
+
+/* { dg-do compile } */
+
+struct A {
+  template<class T> void f();
+  void f();
+};
+
+template<class T> void A::f() { }
+void A::f() { }
+
+struct B {
+  template<class T> void f() { }
+  void f() { }
+};
+
+int main()
+{
+  A a;
+  a.f();
+  a.f<int>();
+  B b;
+  b.f();
+  b.f<int>();
+}