diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 | 
| commit | bfef399519ca9b8a4b4c6b563253bad7e0eeffe0 (patch) | |
| tree | df8df0b0067b381eab470a3b8f28d14a552a6340 /test/SemaTemplate/default-arguments-cxx0x.cpp | |
| parent | 6a0372513edbc473b538d2f724efac50405d6fef (diff) | |
Diffstat (limited to 'test/SemaTemplate/default-arguments-cxx0x.cpp')
| -rw-r--r-- | test/SemaTemplate/default-arguments-cxx0x.cpp | 31 | 
1 files changed, 31 insertions, 0 deletions
| diff --git a/test/SemaTemplate/default-arguments-cxx0x.cpp b/test/SemaTemplate/default-arguments-cxx0x.cpp index 4c815f655875c..4cfd7a5843f01 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}; +} | 
