1*67e74705SXin Li // Suppress 'no run line' failure. 2*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify %s 3*67e74705SXin Li 4*67e74705SXin Li template<template<> class C> class D; // expected-error{{template template parameter must have its own template parameters}} 5*67e74705SXin Li 6*67e74705SXin Li 7*67e74705SXin Li struct A {}; 8*67e74705SXin Li template<class M, 9*67e74705SXin Li class T = A, // expected-note{{previous default template argument defined here}} 10*67e74705SXin Li class C> // expected-error{{template parameter missing a default argument}} 11*67e74705SXin Li class X0 {}; // expected-note{{template is declared here}} 12*67e74705SXin Li X0<int> x0; // expected-error{{too few template arguments for class template 'X0'}} 13