1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
3 
4 // The scope of atemplate-parameterextends from its point of
5 // declaration until the end of its template. In particular, a
6 // template-parameter can be used in the declaration of subsequent
7 // template-parameters and their default arguments.
8 
9 template<class T, T* p, class U = T> class X { /* ... */ };
10 // FIXME: template<class T> void f(T* p = new T);
11 
12 // Check for bogus template parameter shadow warning.
13 template<template<class T> class,
14          template<class T> class>
15   class B1noshadow;
16