summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/wrap1.C
blob: 72f687efd14dfc13378bf1e32fee09626b0a0f1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);
}