int g = me.g(ifn, kfn);
}
-template<template<typename> ...Foo, // expected-error {{template template parameters require 'class' after the parameter list}}
- template<template<template<typename>>>> // expected-error 3 {{template template parameters require 'class' after the parameter list}}
+template<template<typename> ...Foo, // expected-error {{template template parameter requires 'class' after the parameter list}}
+ template<template<template<typename>>>> // expected-error 3 {{template template parameter requires 'class' after the parameter list}}
void func();
return Mystery<T>::get();
}
-template<template<typename> Foo, // expected-error {{template template parameters require 'class' after the parameter list}}
- template<typename> typename Bar, // expected-error {{template template parameters require 'class' after the parameter list}}
- template<typename> struct Baz> // expected-error {{template template parameters require 'class' after the parameter list}}
+template<template<typename> Foo, // expected-error {{template template parameter requires 'class' after the parameter list}}
+ template<typename> typename Bar, // expected-error {{template template parameter requires 'class' after the parameter list}}
+ template<typename> struct Baz> // expected-error {{template template parameter requires 'class' after the parameter list}}
void func();
// expected-warning {{declaration does not declare anything}}
template <template X> struct Err1; // expected-error {{expected '<' after 'template'}} \
// expected-error{{extraneous}}
-template <template <typename> > struct Err2; // expected-error {{template template parameters require 'class' after the parameter list}}
-template <template <typename> Foo> struct Err3; // expected-error {{template template parameters require 'class' after the parameter list}}
+template <template <typename> > struct Err2; // expected-error {{template template parameter requires 'class' after the parameter list}}
+template <template <typename> Foo> struct Err3; // expected-error {{template template parameter requires 'class' after the parameter list}}
// Template function declarations
template <typename T> void foo();