diff options
author | Paul Burchard <burchard@pobox.com> | 1999-08-25 21:48:16 +0000 |
---|---|---|
committer | Alexandre Oliva <oliva@gcc.gnu.org> | 1999-08-25 21:48:16 +0000 |
commit | f362bcef805a7e50a7bda082b7c21037523ae410 (patch) | |
tree | c9ca4e2a914e389e5f9931788472e4b777c32e78 | |
parent | ccd4c83283dce74bd3f02089be944b18c06113b4 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-001.C | 15 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-002.C | 26 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-003.C | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-004.C | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-005.C | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-006.C | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-007.C | 18 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-008.C | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-009.C | 17 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-010.C | 19 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/lss-011.C | 20 |
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() {} + }; +}; + + |