summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/ttp3.C
blob: a7f231a7fb0acb01c1b84e3365be8adfca63921d (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
// { dg-do compile }

// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 29 Dec 2001 <nathan@codesourcery.com>

// PR 5213. We failed to spot that class List was a template, rather
// than a non-template or specialization


template <class T> class vector { };

class OUTER {
  public:
  template <class T>
  class List { };
  
  vector<class List> data; // { dg-error "invalid|required|ISO C" "" }
};

template <class T>
class List { };

// This next line should just do a lookup of 'class List', and then
// get a type/value mismatch. Instead we try and push 'class List'
// into the global namespace and get a redeclaration error.
vector<class List > data;	// { dg-error "invalid|required|declaration" "" }