- This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
16 lines
447 B
C++
16 lines
447 B
C++
// RUN: %clang_cc1 -fsyntax-only -verify %s
|
|
|
|
// A non-type template-parameter shall not be declared to have
|
|
// floating point, class, or void type.
|
|
struct A;
|
|
|
|
template<double d> class X; // expected-error{{cannot have type}}
|
|
template<double* pd> class Y; //OK
|
|
template<double& rd> class Z; //OK
|
|
|
|
template<A a> class X0; // expected-error{{cannot have type}}
|
|
|
|
typedef void VOID;
|
|
template<VOID a> class X01; // expected-error{{cannot have type}}
|
|
|