blob: 8b4e76745f1cf6e553466a5f9d5061d539564beb [file] [log] [blame]
// { dg-do assemble }
//
// Copyright (C) 2000 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 19 Jan 2001 <nathan@codesourcery.com>
// Bug 1656. We failed to make sure that a template-id was built
// from a primary template.
template <int dim> struct Outer
{
struct Inner {};
void f()
{
Inner<dim> i; // { dg-error "" } non-template
Inner<> j; // { dg-error "" } non-template
}
};
struct O {};
void foo ()
{
Outer<1> x;
x.f ();
Outer<1>::Inner<2> z; // { dg-error "" } non-template
O<1> w; // { dg-error "" } non-template
}
template <typename T, template <typename C> class TPL>
struct X
{
TPL<T> t;
T<int> s; // { dg-error "" } non-template
};
template <typename T> struct Y
{
};
void bar ()
{
X<int, Y> a;
X<int, O> b; // { dg-error "" } non-template
}