summaryrefslogtreecommitdiff
path: root/test/SemaTemplate/default-arguments-cxx0x.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2013-12-22 00:07:40 +0000
committerDimitry Andric <dim@FreeBSD.org>2013-12-22 00:07:40 +0000
commitbfef399519ca9b8a4b4c6b563253bad7e0eeffe0 (patch)
treedf8df0b0067b381eab470a3b8f28d14a552a6340 /test/SemaTemplate/default-arguments-cxx0x.cpp
parent6a0372513edbc473b538d2f724efac50405d6fef (diff)
Diffstat (limited to 'test/SemaTemplate/default-arguments-cxx0x.cpp')
-rw-r--r--test/SemaTemplate/default-arguments-cxx0x.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/SemaTemplate/default-arguments-cxx0x.cpp b/test/SemaTemplate/default-arguments-cxx0x.cpp
index 4c815f655875..4cfd7a5843f0 100644
--- a/test/SemaTemplate/default-arguments-cxx0x.cpp
+++ b/test/SemaTemplate/default-arguments-cxx0x.cpp
@@ -25,3 +25,34 @@ void g1() {
float &fr = f1(15);
int &ir = f1(HasValue());
}
+
+namespace PR16689 {
+ template <typename T1, typename T2> class tuple {
+ public:
+ template <typename = T2>
+ constexpr tuple() {}
+ };
+ template <class X, class... Y> struct a : public X {
+ using X::X;
+ };
+ auto x = a<tuple<int, int> >();
+}
+
+namespace PR16975 {
+ template <typename...> struct is {
+ constexpr operator bool() const { return false; }
+ };
+
+ template <typename... Types>
+ struct bar {
+ template <typename T,
+ bool = is<Types...>()>
+ bar(T);
+ };
+
+ struct baz : public bar<> {
+ using bar::bar;
+ };
+
+ baz data{0};
+}