diff options
| -rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/inline15.C | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/inline15.C b/gcc/testsuite/g++.old-deja/g++.other/inline15.C new file mode 100644 index 0000000..b6eede5 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/inline15.C @@ -0,0 +1,31 @@ +// Build don't link: +// Origin: Jakub Jelinek <jakub@redhat.com> +// Special g++ Options: -O1 + +class Type; +template<class E> +class X +{ +public: + X<E>(); + inline X<E>(int); + inline ~X<E>(); +}; +template<class E> const Type &foo(const X<E> *); +template<class E> inline X<E>::X(int x) +{ + const Type &a = foo(this); +} +template<class E> inline X<E>::~X() +{ + const Type &a = foo(this); +} +class Y +{ + X<Type> a; +public: + Y(const X<Type> &x = X<Type>()); +}; +Y::Y(const X<Type> &x) : a(1) +{ +} |
