diff options
Diffstat (limited to 'clang/test/ASTMerge/class-template/Inputs')
-rw-r--r-- | clang/test/ASTMerge/class-template/Inputs/class-template1.cpp | 37 | ||||
-rw-r--r-- | clang/test/ASTMerge/class-template/Inputs/class-template2.cpp | 37 |
2 files changed, 74 insertions, 0 deletions
diff --git a/clang/test/ASTMerge/class-template/Inputs/class-template1.cpp b/clang/test/ASTMerge/class-template/Inputs/class-template1.cpp new file mode 100644 index 00000000000..fb5b229e0ac --- /dev/null +++ b/clang/test/ASTMerge/class-template/Inputs/class-template1.cpp @@ -0,0 +1,37 @@ +template<typename T> +struct X0 { + T getValue(T arg) { return arg; } +}; + +template<int I> +struct X1; + +template<int I> +struct X2; + +template<int I> +struct X3; + +template<template<int I> class> +struct X4; + +template<template<long> class> +struct X5; + +template<typename> +struct X6; + +extern X0<int> *x0i; +extern X0<long> *x0l; +extern X0<float> *x0r; + +template<> +struct X0<char> { + int member; + char getValue(char ch) { return static_cast<char>(member); } +}; + +template<> +struct X0<wchar_t> { + int member; +}; diff --git a/clang/test/ASTMerge/class-template/Inputs/class-template2.cpp b/clang/test/ASTMerge/class-template/Inputs/class-template2.cpp new file mode 100644 index 00000000000..b5d0add13f1 --- /dev/null +++ b/clang/test/ASTMerge/class-template/Inputs/class-template2.cpp @@ -0,0 +1,37 @@ +template<class T> +struct X0 { + T getValue(T arg); +}; + +template<int I> +struct X1; + +template<long I> +struct X2; + +template<typename> +struct X3; + +template<template<int I> class> +struct X4; + +template<template<int I> class> +struct X5; + +template<template<int I> class> +struct X6; + +typedef int Integer; +extern X0<Integer> *x0i; +extern X0<float> *x0f; +extern X0<double> *x0r; + +template<> +struct X0<char> { + int member; +}; + +template<> +struct X0<wchar_t> { + float member; +}; |