16 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s 2// expected-no-diagnostics3 4// The scope of atemplate-parameterextends from its point of5// declaration until the end of its template. In particular, a6// template-parameter can be used in the declaration of subsequent7// template-parameters and their default arguments.8 9template<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.13template<template<class T> class,14 template<class T> class>15 class B1noshadow;16