re PR c++/38 (matching of function signatures)
authorVolker Reichelt <reichelt@gcc.gnu.org>
Tue, 4 Feb 2003 22:42:34 +0000 (22:42 +0000)
committerVolker Reichelt <reichelt@gcc.gnu.org>
Tue, 4 Feb 2003 22:42:34 +0000 (22:42 +0000)
PR c++/38
* g++.dg/parse/array-size1.C: New test.

PR c++/5657
* g++.dg/parse/undefined3.C: New test.

PR c++/5665
* g++.dg/parse/undefined4.C: New test.

PR c++/5975
* g++.dg/parse/undefined5.C: New test.

PR c++/7259
* g++.dg/parse/tmpl-tmpl-param1.C: New test.

PR c++/8578
* g++.dg/parse/casting-operator1.C: New test.

PR c++/8596
* g++.dg/parse/undefined6.C: New test.

PR c++/8736
* g++.dg/parse/missing-template1.C: New test.

From-SVN: r62409

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/array-size1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/casting-operator1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/missing-template1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/tmpl-tmpl-param1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/undefined3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/undefined4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/undefined5.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/undefined6.C [new file with mode: 0644]

index 1d32a755acdd146993c209c3cf4d791288a0dc82..861cc283bba97e16e2887c6fa1c139d5c63296f6 100644 (file)
@@ -1,3 +1,29 @@
+2003-02-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/38
+       * g++.dg/parse/array-size1.C: New test.
+
+       PR c++/5657
+       * g++.dg/parse/undefined3.C: New test.
+
+       PR c++/5665
+       * g++.dg/parse/undefined4.C: New test.
+
+       PR c++/5975
+       * g++.dg/parse/undefined5.C: New test.
+
+       PR c++/7259
+       * g++.dg/parse/tmpl-tmpl-param1.C: New test.
+
+       PR c++/8578
+       * g++.dg/parse/casting-operator1.C: New test.
+
+       PR c++/8596
+       * g++.dg/parse/undefined6.C: New test.
+
+       PR c++/8736
+       * g++.dg/parse/missing-template1.C: New test.
+
 Tue Feb  4 21:41:09 CET 2003  Jan Hubicka  <jh@suse.cz>
 
        * gcc.dg/i386-cadd.c:  Compile using -march=k8.
@@ -5,7 +31,7 @@ Tue Feb  4 21:41:09 CET 2003  Jan Hubicka  <jh@suse.cz>
        * gcc.dg/i386-fpcvt-?.c:  Likewise.
        * gcc.dg/i386-ssefp-1.c:  Likewise.
        * gcc.dg/i386-ssetype-?.c:  Likewise; fix for register passing
-       convetions.
+       conventions.
 
 2003-02-03  Mark Mitchell  <mark@codesourcery.com>
 
diff --git a/gcc/testsuite/g++.dg/parse/array-size1.C b/gcc/testsuite/g++.dg/parse/array-size1.C
new file mode 100644 (file)
index 0000000..2bc31f7
--- /dev/null
@@ -0,0 +1,13 @@
+// PR c++/38
+// Origin: Wolfgang Bangerth <bangerth@dealii.org>
+// { dg-do compile }
+
+template <int i> struct A
+{
+    static const int n = 1;
+    typedef double X[n];
+
+    A (const X&);
+};
+
+template <int i> A<i>::A (const X&) {}
diff --git a/gcc/testsuite/g++.dg/parse/casting-operator1.C b/gcc/testsuite/g++.dg/parse/casting-operator1.C
new file mode 100644 (file)
index 0000000..867221a
--- /dev/null
@@ -0,0 +1,11 @@
+// PR c++/8578
+// Origin: <Delana.Lorenzo@libero.it>
+// { dg-do compile }
+
+template <typename T> struct A
+{
+    typedef typename T::X X;
+    operator X();
+};
+
+template <typename T> A<T>::operator typename A<T>::X () {}
diff --git a/gcc/testsuite/g++.dg/parse/missing-template1.C b/gcc/testsuite/g++.dg/parse/missing-template1.C
new file mode 100644 (file)
index 0000000..40f8502
--- /dev/null
@@ -0,0 +1,21 @@
+// PR c++/8736
+// Origin: Peter Kolloch <pkolloch@gmx.ne>
+// { dg-do compile }
+
+template <typename T> struct A
+{
+    template <typename U> struct B
+    {
+        typedef int X;
+    };
+};
+
+template <typename T> void foo()
+{
+    typedef typename A<T>::B<T>::X Y; // { dg-error "" }
+}
+
+void bar()
+{
+    foo<int>();
+}
diff --git a/gcc/testsuite/g++.dg/parse/tmpl-tmpl-param1.C b/gcc/testsuite/g++.dg/parse/tmpl-tmpl-param1.C
new file mode 100644 (file)
index 0000000..1fec1af
--- /dev/null
@@ -0,0 +1,14 @@
+// PR c++/7259
+// Origin: Philipp Buettgenbach <P.Buettgenbach@FH-Wolfenbuettel.DE>
+// Reduced version: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+// { dg-do compile }
+
+template <template <int> class T> class A : public T<0> {};
+
+template <typename> struct B
+{
+    template <int> class C {};
+    typedef A<C> D;
+};
+
+B<void>::D d;
diff --git a/gcc/testsuite/g++.dg/parse/undefined3.C b/gcc/testsuite/g++.dg/parse/undefined3.C
new file mode 100644 (file)
index 0000000..6bafd6f
--- /dev/null
@@ -0,0 +1,6 @@
+// PR c++/5657
+// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+// { dg-do compile }
+
+template<typename T> struct A { A(B); };
+template<typename T> A<T>::A(B) {} // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/undefined4.C b/gcc/testsuite/g++.dg/parse/undefined4.C
new file mode 100644 (file)
index 0000000..0bdc188
--- /dev/null
@@ -0,0 +1,11 @@
+// PR c++/5665
+// Origin: Bergur Ragnarsson <bergur@tern.is>
+// Reduced version: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+// { dg-do compile }
+
+template<typename T> class A
+{
+    class B { X foo(); }; // { dg-error "" }
+};
+
+template<typename T> X A<T>::B::foo() {} // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/undefined5.C b/gcc/testsuite/g++.dg/parse/undefined5.C
new file mode 100644 (file)
index 0000000..f1dba6e
--- /dev/null
@@ -0,0 +1,5 @@
+// PR c++/5975
+// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+// { dg-do compile }
+
+typedef typename X::Y<> y;  // { dg-error "" }
diff --git a/gcc/testsuite/g++.dg/parse/undefined6.C b/gcc/testsuite/g++.dg/parse/undefined6.C
new file mode 100644 (file)
index 0000000..bc8a86d
--- /dev/null
@@ -0,0 +1,6 @@
+// PR c++/8596
+// Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
+// { dg-do compile }
+
+template <int i> struct A {};
+template <int i> struct B : A<x>{}; // { dg-error "" }