diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-07-22 03:31:14 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-07-22 03:31:14 +0000 |
commit | 35828f1db6a9a48da8abb83439200d37c91d6d90 (patch) | |
tree | 9e3b8d79f78232b7c4b94606a001e7c7838634f4 /clang/test/SemaTemplate/default-arguments.cpp | |
parent | bc46e4341e954a47dbb86e272847ab65fcdcc44f (diff) | |
download | bcm5719-llvm-35828f1db6a9a48da8abb83439200d37c91d6d90.tar.gz bcm5719-llvm-35828f1db6a9a48da8abb83439200d37c91d6d90.zip |
PR16288: A template is only missing a default template argument if it provides
any default template arguments, not if it inherits some.
llvm-svn: 186804
Diffstat (limited to 'clang/test/SemaTemplate/default-arguments.cpp')
-rw-r--r-- | clang/test/SemaTemplate/default-arguments.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/default-arguments.cpp b/clang/test/SemaTemplate/default-arguments.cpp index 6391369aa5c..aca5c972adb 100644 --- a/clang/test/SemaTemplate/default-arguments.cpp +++ b/clang/test/SemaTemplate/default-arguments.cpp @@ -136,3 +136,14 @@ namespace PR9643 { vector<int, allocator<int> > v = initializer<vector>(5); } } + +namespace PR16288 { + template<typename X> + struct S { + template<typename T = int, typename U> // expected-warning {{C++11}} + void f(); + }; + template<typename X> + template<typename T, typename U> + void S<X>::f() {} +} |