diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-11-12 00:46:20 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-11-12 00:46:20 +0000 |
commit | 8b13c08b1a181b290600814c765f9f199a74f414 (patch) | |
tree | 59f604da0d01f6e82c7db0d96eb6c17c07937f12 /test/SemaTemplate/class-template-spec.cpp | |
parent | 1144c218f5d74f2270ebcd5ddd82dc472790eaef (diff) |
Improve recovery in a wonky case where one tries to specialize a
template template parameter.
When building a template-id type, check whether the template-name
itself is dependent (even if the template arguments are not!) and
handle it as a template-id type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86913 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaTemplate/class-template-spec.cpp')
-rw-r--r-- | test/SemaTemplate/class-template-spec.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test/SemaTemplate/class-template-spec.cpp b/test/SemaTemplate/class-template-spec.cpp index 4cd43b469a..5bc9a6cd67 100644 --- a/test/SemaTemplate/class-template-spec.cpp +++ b/test/SemaTemplate/class-template-spec.cpp @@ -104,3 +104,8 @@ Foo<int>* v; Foo<int>& F() { return *v; } template <typename T> class Foo {}; Foo<int> x; + + +// Template template parameters +template<template<class T> class Wibble> +class Wibble<int> { }; // expected-error{{cannot specialize a template template parameter}} |