Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp1z/decomp35.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
line wrap: on
line source
// PR c++/83958 // { dg-do compile { target c++11 } } // { dg-options "" } template <typename = void> struct A; class B; template <typename, typename, typename = A<>> class C; template <typename, typename> struct D; template <typename T, typename U, typename V, typename, typename, typename W> struct E { using X = W; X operator* (); T operator++ (); template <typename P, typename R, typename S, typename Q> bool operator!= (E<P, U, V, R, S, Q>); }; template <typename T, typename U, typename> struct F { class G; using H = D<T, U>; using I = E<G, T, U, G, H, H &>; class G : public I {}; G begin (); G end (); }; template <typename T, typename U, typename V> struct C : F<T, U, V> { using J = F<T, U, V>; using J::begin; using J::end; }; using K = class L; struct M { void foo () { for (auto & [ a ] : m) {} } // { dg-error "incomplete type" } C<K, B> m; // { dg-warning "only available with" "" { target c++14_down } .-1 } };