aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg
diff options
context:
space:
mode:
authorno-author <no-author@gcc.gnu.org>2003-10-19 00:02:23 +0000
committerno-author <no-author@gcc.gnu.org>2003-10-19 00:02:23 +0000
commit9a463ba2983fa033adf7ad58c969e7100fb69c24 (patch)
tree9bb4f073ce0c679af318a373cce2150710bdd6ff /gcc/testsuite/g++.dg
parent39c2a77efda76c5e2855bcccf20f7679ec74a211 (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.C16
-rw-r--r--gcc/testsuite/g++.dg/init/copy6.C13
-rw-r--r--gcc/testsuite/g++.dg/template/crash12.C16
-rw-r--r--gcc/testsuite/g++.dg/template/friend25.C14
-rw-r--r--gcc/testsuite/g++.dg/template/typename5.C19
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;
+};