Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/debug/verify1.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line source
// PR c++/92601 // { dg-additional-options "-g -fchecking -std=c++17" } typedef int size_t; template <typename, int __v> struct integral_constant { static constexpr int value = __v; }; template <typename> struct A; template <typename _Tp> using __remove_cv_t = typename A<_Tp>::type; template <typename _Tp, typename _Up> struct B : integral_constant<bool, __is_same_as(_Tp, _Up)> {}; template <typename...> class tuple; template <typename> struct A { using type = tuple<const char *, const char *>; }; template <typename> struct C { typedef __remove_cv_t<int> __type; }; template <typename _Tp> class D { public: typedef typename C<_Tp>::__type type; }; template <bool> struct enable_if; template <int> struct F {}; template <typename, typename> class G { public: int operator*(); void operator++(); }; template <typename _Iterator, typename _Container> bool operator!=(G<_Iterator, _Container>, G<_Iterator, _Container>); template <typename> class H; template <typename = H<tuple<const char *, const char *>>> class vector { public: typedef G<int, vector> iterator; iterator begin(); iterator end(); }; template <typename> struct pack_c { typedef pack_c type; }; template <typename, typename> struct make_index_pack_join; template <size_t... Left, size_t... Right> struct make_index_pack_join<pack_c<size_t, Left...>, pack_c<size_t, Right...>> : pack_c<size_t> {}; template <int N> struct I : make_index_pack_join<typename I<N / 2>::type, typename I<N / 2>::type> {}; template <> struct I<1> : pack_c<size_t> {}; template <typename TTuple, typename> struct are_tuples_compatible_not_same : F<B<typename D<TTuple>::type, int>::value> {}; template <typename...> struct tuple_impl; template <size_t... Is, typename... Ts> struct tuple_impl<pack_c<size_t, Is...>, Ts...> { template <typename UTuple, typename enable_if<are_tuples_compatible_not_same< tuple<>, UTuple>::value>::type> tuple_impl(UTuple &&); }; template <typename... Ts> class tuple { tuple_impl<typename I<sizeof...(Ts)>::type> _impl; tuple(tuple &) = default; }; vector message_handler_registrations; void fn1() { for (auto t : message_handler_registrations) ; }