aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn/implicit-typename1.C
blob: ab5587ef72ee22ebfecaeb681c3e5e87915c2399 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// The -pedantic option must be omitted to trigger the crash.
// { dg-do compile }
// { dg-options "" }

// PR c++/7982: Crash warning about implicit typename.
// The base class refers to another typename, while the
// name lookup finds a template.

template <typename T> struct X {};

template <typename T> struct C {
  typedef typename T::X X;
};

template <typename T> struct A : public C<T> {
  typedef X<int> X; // { dg-warning "lookup|dependent base|typename" }
};