xref: /aosp_15_r20/external/clang/test/CXX/temp/temp.param/p1.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
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