diff options
author | Felix Morgner | 2018-07-20 11:17:53 +0000 |
---|---|---|
committer | Nathan Ridge | 2018-07-24 06:10:59 +0000 |
commit | 2dd5e7193de176ac044edbb1126c6d6ed9735478 (patch) | |
tree | 0f4e5ee19e844658e00f56f328950d330e21163a /core/org.eclipse.cdt.core.tests/resources | |
parent | 1f89361032478066095609e729ac87bee9df4824 (diff) | |
download | org.eclipse.cdt-2dd5e7193de176ac044edbb1126c6d6ed9735478.tar.gz org.eclipse.cdt-2dd5e7193de176ac044edbb1126c6d6ed9735478.tar.xz org.eclipse.cdt-2dd5e7193de176ac044edbb1126c6d6ed9735478.zip |
537217: [C++17] Add support for typename keyword for template template parameters
This patch allows for the 'typename' keyword to be used in
template-template template parameter declarations. Additionally, this
patch also fixes an issue in the writer, which caused the ellipsis in
variadic template-template template parameter declaration to be dropped.
Change-Id: I8f68e6053b2b8848b35d1cf6d25d7f4b5b9d396d
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=537217
Signed-off-by: Felix Morgner <fmorgner@hsr.ch>
Diffstat (limited to 'core/org.eclipse.cdt.core.tests/resources')
-rw-r--r-- | core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterTemplateTestSource.awts | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterTemplateTestSource.awts b/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterTemplateTestSource.awts index 494f57bf372..54c82cc9a21 100644 --- a/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterTemplateTestSource.awts +++ b/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterTemplateTestSource.awts @@ -64,4 +64,60 @@ template<typename T> struct S int f() { return S<int>::template c<100>; -}
\ No newline at end of file +} + +//!Type Template Parameter with class +//%CPP +template<class > +void f() +{ +} + +//!Type Template Parameter with typename +//%CPP +template<typename > +void f() +{ +} + +//!Variadic Type Template Parameter with class +//%CPP +template<class... > +void f() +{ +} + +//!Variadic Type Template Parameter with typename +//%CPP +template<typename... > +void f() +{ +} + +//!Template-template Template Parameter with class +//%CPP +template<template <typename > class > +void f() +{ +} + +//!Template-template Template Parameter with typename +//%CPP +template<template <typename > typename > +void f() +{ +} + +//!Variadic Template-template Template Parameter with class +//%CPP +template<template <typename > class... > +void f() +{ +} + +//!Variadic Template-template Template Parameter with typename +//%CPP +template<template <typename > typename... > +void f() +{ +} |