aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaul Burchard <burchard@pobox.com>1999-08-25 21:48:16 +0000
committerAlexandre Oliva <oliva@gcc.gnu.org>1999-08-25 21:48:16 +0000
commitf362bcef805a7e50a7bda082b7c21037523ae410 (patch)
treec9ca4e2a914e389e5f9931788472e4b777c32e78 /gcc
parentccd4c83283dce74bd3f02089be944b18c06113b4 (diff)
downloadgcc-f362bcef805a7e50a7bda082b7c21037523ae410.zip
gcc-f362bcef805a7e50a7bda082b7c21037523ae410.tar.gz
gcc-f362bcef805a7e50a7bda082b7c21037523ae410.tar.bz2
lss-001.C, [...]: New tests.
* g++.old-deja/g++.pt/lss-001.C, lss-002.C, lss-003.C, lss-004.C, lss-005.C, lss-006.C, lss-007.C, lss-008.C, lss-009.C, lss-010.C, lss-011.C: New tests. From-SVN: r28874
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-001.C15
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-002.C26
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-003.C8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-004.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-005.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-006.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-007.C18
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-008.C16
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-009.C17
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-010.C19
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/lss-011.C20
12 files changed, 193 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1c13f9f..6ef6a64 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+1999-08-25 Paul Burchard <burchard@pobox.com>
+
+ * g++.old-deja/g++.pt/lss-001.C, lss-002.C, lss-003.C, lss-004.C,
+ lss-005.C, lss-006.C, lss-007.C, lss-008.C, lss-009.C, lss-010.C,
+ lss-011.C: New tests.
+
1999-08-25 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.other/decl5.C: New test.
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-001.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-001.C
new file mode 100644
index 0000000..9b4bda5
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-001.C
@@ -0,0 +1,15 @@
+// Build don't link:
+// crash test -
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+template<class T>
+class X {
+ class Y : public T {}; // ERROR - invalid base type
+ Y y;
+};
+int main() {
+ X<int> x; // ERROR - (instantiated from here)
+}
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-002.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-002.C
new file mode 100644
index 0000000..562f430
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-002.C
@@ -0,0 +1,26 @@
+// Build don't link:
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+template<class X>
+class A {
+};
+template<class Y>
+class B {
+};
+
+template<template<class XX> class AA> // gets bogus error - `template <class XX> template <class X> class A<X>' previously declared here
+class C {
+ class D {
+ };
+ D d;
+ class E : public B<D> {
+ };
+ E e;
+};
+
+int main() {
+ C<A> c; // gets bogus error - redefinition of `template <class XX> template <class X> class A<X>'
+}
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-003.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-003.C
new file mode 100644
index 0000000..29fcea1
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-003.C
@@ -0,0 +1,8 @@
+// Build don't link:
+// crash test -
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+typedef std::vector<int>::iterator iter; // ERROR - syntax error before `::'
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-004.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-004.C
new file mode 100644
index 0000000..ef8f048
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-004.C
@@ -0,0 +1,16 @@
+// Build don't link:
+// crash test - XFAIL *-*-*
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+class Q {
+ template<class>
+ class X {
+ };
+};
+template<template<class> class>
+class Y {
+};
+Y<Q::X> y1;
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-005.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-005.C
new file mode 100644
index 0000000..47a587f
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-005.C
@@ -0,0 +1,16 @@
+// Build don't link:
+// crash test - XFAIL *-*-*
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+class Q {
+ template<class>
+ class X {
+ };
+};
+template<template<class> class>
+class Y {
+};
+Y<typename Q::X> y; // ERROR - typename out of template context
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-006.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-006.C
new file mode 100644
index 0000000..a57ad17
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-006.C
@@ -0,0 +1,16 @@
+// Build don't link:
+// crash test - XFAIL *-*-*
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+class Q {
+ template<class>
+ class X {
+ };
+};
+template<template<class> class>
+class Y {
+};
+Q::template X<int> x; // ERROR - template syntax
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-007.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-007.C
new file mode 100644
index 0000000..cf2336f
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-007.C
@@ -0,0 +1,18 @@
+// Build don't link:
+// crash test - XFAIL *-*-*
+// regression test -
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+template<class A>
+struct X {
+ X(A) {
+ }
+};
+template<class A>
+struct Y {
+ static X<A> x(A(1)); // ERROR - ANSI C++ forbids in-class initialization of non-const static member `x'
+};
+Y<int> y;
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-008.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-008.C
new file mode 100644
index 0000000..56dab46
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-008.C
@@ -0,0 +1,16 @@
+// Build don't link:
+// crash test - XFAIL *-*-*
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+struct Q {
+ template<class>
+ class X {
+ };
+ template<template<class> class XX = X> // gets bogus error - (original definition appeared here)
+ class Y {
+ }; // gets bogus error - redefinition of default argument for `template <class> XX'
+ Y<> y;
+};
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-009.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-009.C
new file mode 100644
index 0000000..7cc027a
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-009.C
@@ -0,0 +1,17 @@
+// Build don't link:
+// crash test - XFAIL *-*-*
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+class Q {
+ template<class T>
+ class X {
+ };
+};
+template<template<class> class XX>
+class Y {
+ XX<int> x_;
+};
+Y<Q::X> y;
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-010.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-010.C
new file mode 100644
index 0000000..15dcca7
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-010.C
@@ -0,0 +1,19 @@
+// Build don't link:
+// regression test -
+
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+// related to bug report by Leon Bottou <leonb@research.att.com>
+
+struct A {
+ template<class T>
+ struct B {
+ };
+ template<class T>
+ struct C {
+ B<T> b; // gets bogus error - B is not a template
+ // but removing wrapper A gets rid of complaint
+ // also, replacing B<T> with A::B<T> also gets rid of complaint
+ };
+};
+
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/lss-011.C b/gcc/testsuite/g++.old-deja/g++.pt/lss-011.C
new file mode 100644
index 0000000..be97e9f
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/lss-011.C
@@ -0,0 +1,20 @@
+// Build don't link:
+// crash test - XFAIL *-*-*
+// regression test -
+
+// simplified from bug report by Leon Bottou <leonb@research.att.com>
+// by Paul Burchard <burchard@pobox.com>, Level Set Systems, Inc.
+// Copyright (C) 1999 Free Software Foundation
+
+struct A {
+ template <class T>
+ struct B {
+ T x;
+ };
+ template <class T>
+ struct C : B<T> {
+ C() {}
+ };
+};
+
+