diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/FixIt/fixit.cpp | 2 | ||||
-rw-r--r-- | clang/test/Parser/cxx-template-decl.cpp | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/clang/test/FixIt/fixit.cpp b/clang/test/FixIt/fixit.cpp index 6a8e7d1e849..f2649385656 100644 --- a/clang/test/FixIt/fixit.cpp +++ b/clang/test/FixIt/fixit.cpp @@ -204,7 +204,7 @@ template<class T> typedef Mystery<T>::type getMysteriousThing() { // \ } 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> typename Bar, // expected-warning {{template template parameter using 'typename' is a C++1z extension}} template<typename> struct Baz> // expected-error {{template template parameter requires 'class' after the parameter list}} void func(); diff --git a/clang/test/Parser/cxx-template-decl.cpp b/clang/test/Parser/cxx-template-decl.cpp index 87429001223..8b2b12037b3 100644 --- a/clang/test/Parser/cxx-template-decl.cpp +++ b/clang/test/Parser/cxx-template-decl.cpp @@ -1,5 +1,6 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s // RUN: %clang_cc1 -fsyntax-only -verify %s -fdelayed-template-parsing -DDELAYED_TEMPLATE_PARSING +// RUN: %clang_cc1 -fsyntax-only -verify -std=gnu++1z %s @@ -24,6 +25,11 @@ template <template X> struct Err1; // expected-error {{expected '<' after 'templ 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 <template <typename> typename Foo> struct Cxx1z; +#if __cplusplus <= 201402L +// expected-warning@-2 {{extension}} +#endif + // Template function declarations template <typename T> void foo(); template <typename T, typename U> void foo(); |