Reduced testcase of a 252.eon (SPEC2000) problem.
authorMichael Matz <matz@gcc.gnu.org>
Fri, 1 Mar 2002 19:27:05 +0000 (19:27 +0000)
committerMichael Matz <matz@gcc.gnu.org>
Fri, 1 Mar 2002 19:27:05 +0000 (19:27 +0000)
From-SVN: r50204

gcc/testsuite/g++.dg/template/wrap1.C [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.dg/template/wrap1.C b/gcc/testsuite/g++.dg/template/wrap1.C
new file mode 100644 (file)
index 0000000..72f687e
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+
+// Copyright (C) 2002 Free Software Foundation, Inc.
+// Contributed by Michael Matz 03 Mar 2002 <matz@suse.de>
+// instance of an actual pattern in 252.eon from SPEC2000
+
+// The last Wrapper<char> once wasn't completed when applying '='.
+
+template <class T>
+class Wrapper {
+  public:
+    Wrapper (T& a);
+    Wrapper (const Wrapper<char>& ref);
+};
+
+template <class T>
+class Element {
+public:
+  T * operator[](int x);
+};
+
+void test()
+{
+  char bla = 42;
+  Element< Wrapper <unsigned char> > elem;
+  elem[1][1] = Wrapper<char> (bla);
+}