From eedf95c74854ac83bf596068e0e448c41629a622 Mon Sep 17 00:00:00 2001 From: idubinov Date: Tue, 6 Aug 2019 14:30:31 +0300 Subject: [PATCH] [SYCL] Add template template parameter support Signed-off-by: idubinov --- clang/lib/Sema/SemaSYCL.cpp | 24 ++++++- .../template-template-parameter.cpp | 72 +++++++++++++++++++ 2 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 clang/test/CodeGenSYCL/template-template-parameter.cpp diff --git a/clang/lib/Sema/SemaSYCL.cpp b/clang/lib/Sema/SemaSYCL.cpp index f2c22a52ef574..c82a2beb1e1c9 100755 --- a/clang/lib/Sema/SemaSYCL.cpp +++ b/clang/lib/Sema/SemaSYCL.cpp @@ -1382,8 +1382,28 @@ void SYCLIntegrationHeader::emitForwardClassDecls( } break; } - case TemplateArgument::ArgKind::Template: - llvm_unreachable("template template arguments not supported"); + case TemplateArgument::ArgKind::Template: { + // recursion is not required, since the maximum possible nesting level + // equals two for template argument + // + // for example: + // template class Bar; + // template