diff options
author | no-author <no-author@gcc.gnu.org> | 2003-10-19 00:02:23 +0000 |
---|---|---|
committer | no-author <no-author@gcc.gnu.org> | 2003-10-19 00:02:23 +0000 |
commit | 9a463ba2983fa033adf7ad58c969e7100fb69c24 (patch) | |
tree | 9bb4f073ce0c679af318a373cce2150710bdd6ff /gcc/testsuite/g++.dg | |
parent | 39c2a77efda76c5e2855bcccf20f7679ec74a211 (diff) |
This commit was manufactured by cvs2svn to create branch
'tree-ssa-20020619-branch'.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/tree-ssa-20020619-branch@72662 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/g++.dg')
-rw-r--r-- | gcc/testsuite/g++.dg/ext/complit1.C | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/init/copy6.C | 13 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/crash12.C | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/friend25.C | 14 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/typename5.C | 19 |
5 files changed, 78 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/complit1.C b/gcc/testsuite/g++.dg/ext/complit1.C new file mode 100644 index 00000000000..bcca8ac1e22 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/complit1.C @@ -0,0 +1,16 @@ +// PR c++/11063 +// { dg-options "" } + +class Foo +{ +private: + const int val_[2]; + +public: + Foo(int, int); +}; + +Foo::Foo(int v0, int v1) + : val_((int[]) {v0, v1}) +{ // { dg-error "" "" } +} diff --git a/gcc/testsuite/g++.dg/init/copy6.C b/gcc/testsuite/g++.dg/init/copy6.C new file mode 100644 index 00000000000..136dc783026 --- /dev/null +++ b/gcc/testsuite/g++.dg/init/copy6.C @@ -0,0 +1,13 @@ +// PR c++/11878 + +struct A +{ + virtual ~A(); +}; + +template<typename T> struct B +{ + T t; +}; + +void foo() { throw B<A>().t; } diff --git a/gcc/testsuite/g++.dg/template/crash12.C b/gcc/testsuite/g++.dg/template/crash12.C new file mode 100644 index 00000000000..e2231e06b91 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/crash12.C @@ -0,0 +1,16 @@ +// { dg-do compile } + +// Origin: rmerkert@alphatech.com +// Volker Reichelt <reichelt@gcc.gnu.org> + +// PR c++/12495: ICE looking up class template in local class. + +template <typename> struct A {}; + +template <typename T> void foo() +{ + struct B + { + B (const A<T>&); + }; +} diff --git a/gcc/testsuite/g++.dg/template/friend25.C b/gcc/testsuite/g++.dg/template/friend25.C new file mode 100644 index 00000000000..fa11defc21a --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend25.C @@ -0,0 +1,14 @@ +// { dg-do compile } + +// Origin: Jiangbin Zhao <zhaojiangbin@yahoo.com> + +// PR c++/12369: ICE for specialization of member function template +// as friend in ordinary class. + +struct A { + template<class T> T* make() { return new T(); } +}; + +struct B { + friend B* A::make< B >(); // (1) +}; diff --git a/gcc/testsuite/g++.dg/template/typename5.C b/gcc/testsuite/g++.dg/template/typename5.C new file mode 100644 index 00000000000..2f72b5f8601 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/typename5.C @@ -0,0 +1,19 @@ +// { dg-do compile } + +// Origin: ariels@compugen.co.il + +// PR c++/2513: typename handling when scope is dependent as +// described in DR108. + +template <bool flag> struct Select { + typedef int Result; +}; + +template <template<class> class Pred> struct FindType { + typedef typename Select<true>::Result Result; +}; + +template <int bits> struct Int { + template<typename T> struct RightSize {}; + typedef typename FindType<RightSize>::Result type; +}; |