https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86212

            Bug ID: 86212
           Summary: ICE in tsubst_copy, at cp/pt.c:15935
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: h2+bugs at fsfe dot org
  Target Milestone: ---

Created attachment 44293
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44293&action=edit
rename to .gz and gunzip

% uname -a
FreeBSD <SNIP> 11.1-RELEASE-p4 FreeBSD 11.1-RELEASE-p4 #0: Tue Nov 14 06:12:40
UTC 2017     r...@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC 
amd64

% g++9 --version
g++9 (FreeBSD Ports Collection) 9.0.0 20180603 (experimental)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

The ICE does not occur on GCC7 and GCC8. I have attached intermediate files. 

This is the build error log:
/home/mi/h4nn3s/devel/seqan3/submodules/range-v3/include/range/v3/view_adaptor.hpp:
In instantiation of 'constexpr
ranges::v3::adaptor_cursor<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >,
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >::adaptor<true>
>::adaptor_cursor(Args&& ...) [with Args =
{__gnu_cxx::__normal_iterator<seqan3::dna4*, std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> > >,
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >::adaptor<true>};
typename
meta::v1::detail::_if_<meta::v1::list<std::is_same<std::integer_sequence<bool,
std::is_constructible<Ts, Args>::type::value ...>, std::integer_sequence<bool,
(std::is_constructible<Ts, Args>::type::value) || true ...> >, int>,
std::integral_constant<bool, true> >::type <anonymous> = 0][inherited from
ranges::v3::compressed_tuple_detail::compressed_tuple_<meta::v1::list<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4, std::allocator<seqan3::dna4> > >,
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >::adaptor<true> >,
std::integer_sequence<long unsigned int, 0, 1> >]':
/home/mi/h4nn3s/devel/seqan3/submodules/range-v3/include/range/v3/view_adaptor.hpp:405:50:
  required from 'static constexpr ranges::v3::adaptor_cursor_t<D>
ranges::v3::view_adaptor<Derived, BaseRng, C>::begin_cursor_(D&) [with D =
const
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >; Derived =
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >; BaseRng =
ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >; ranges::v3::cardinality Cardinality =
(ranges::v3::cardinality)-1; ranges::v3::adaptor_cursor_t<D> =
ranges::v3::adaptor_cursor<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >,
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >::adaptor<true> >;
typename std::decay<decltype
(ranges::v3::range_access::begin_adaptor(declval<D&>(), 42))>::type =
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >::adaptor<true>;
typename std::decay<decltype (declval<typename std::decay<decltype
(ranges::v3::range_access::begin_adaptor(declval<D&>(),
42))>::type>().begin(declval<D&>()))>::type =
__gnu_cxx::__normal_iterator<seqan3::dna4*, std::vector<seqan3::dna4> >]'
/home/mi/h4nn3s/devel/seqan3/submodules/range-v3/include/range/v3/view_adaptor.hpp:423:193:
  required by substitution of 'template<class D, int _concept_requires_421,
typename std::enable_if<((_concept_requires_421 == 43) || (typename
ranges::v3::concepts::Same::same<C,
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4, std::allocator<seqan3::dna4> > >,
__gnu_cxx::__normal_iterator<seqan3::dna4*, std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> > > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > > >::type() &&
ranges::v3::concepts::models<ranges::v3::concepts::Range, const
ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4, std::allocator<seqan3::dna4> > >,
__gnu_cxx::__normal_iterator<seqan3::dna4*, std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> > > > >())), int>::type <anonymous> > constexpr
decltype
(ranges::v3::view_adaptor<ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >,
ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
(ranges::v3::cardinality)-1>::begin_cursor_<D>(declval<const D&>()))
ranges::v3::view_adaptor<ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >,
ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >, (ranges::v3::cardinality)-1>::begin_cursor<D,
_concept_requires_421, <enumerator> >() const [with D =
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >; int
_concept_requires_421 = 42; typename std::enable_if<((_concept_requires_421 ==
43) || (typename ranges::v3::concepts::Same::same<C,
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4, std::allocator<seqan3::dna4> > >,
__gnu_cxx::__normal_iterator<seqan3::dna4*, std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> > > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > > >::type() &&
ranges::v3::concepts::models<ranges::v3::concepts::Range, const
ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4, std::allocator<seqan3::dna4> > >,
__gnu_cxx::__normal_iterator<seqan3::dna4*, std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> > > > >())), int>::type <anonymous> = 0]'
/home/mi/h4nn3s/devel/seqan3/submodules/range-v3/include/range/v3/range_access.hpp:175:35:
  required by substitution of 'template<class Rng> static constexpr decltype
(static_cast<const Rng&>(rng).begin_cursor())
ranges::v3::range_access::begin_cursor(Rng&, int) [with Rng = const
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >]'
/home/mi/h4nn3s/devel/seqan3/submodules/range-v3/include/range/v3/view_facade.hpp:35:68:
  required by substitution of 'template<class Derived> using facade_iterator_t
= ranges::v3::_basic_iterator_::basic_iterator<typename std::decay<decltype
(ranges::v3::range_access::begin_cursor(declval<Derived&>(), 42))>::type> [with
Derived = const
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >]'
/home/mi/h4nn3s/devel/seqan3/submodules/range-v3/include/range/v3/view_facade.hpp:91:48:
  required by substitution of 'template<class D, int _concept_requires_90,
typename std::enable_if<((_concept_requires_113 == 43) || typename
ranges::v3::concepts::Same::same<C,
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4, std::allocator<seqan3::dna4> > >,
__gnu_cxx::__normal_iterator<seqan3::dna4*, std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> > > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > > >::type()),
int>::type <anonymous> > ranges::v3::detail::facade_iterator_t<const D>
ranges::v3::view_facade<ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >,
(ranges::v3::cardinality)-1>::begin<D, _concept_requires_90, <enumerator> >()
const [with D =
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> >, __gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4> > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > >; int
_concept_requires_90 = 42; typename std::enable_if<((_concept_requires_113 ==
43) || typename ranges::v3::concepts::Same::same<C,
ranges::v3::iter_transform_view<ranges::v3::iterator_range<__gnu_cxx::__normal_iterator<seqan3::dna4*,
std::vector<seqan3::dna4, std::allocator<seqan3::dna4> > >,
__gnu_cxx::__normal_iterator<seqan3::dna4*, std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> > > >,
ranges::v3::indirected<seqan3::view::<lambda(auto:7)> > > >::type()),
int>::type <anonymous> = 0]'
/home/mi/h4nn3s/devel/seqan3/test/unit/io/detail/output_iterator_conversion_adaptor_test.cpp:69:50:
  required from 'auto oiter_conversion_adaptor<T>::get_output() [with T =
std::tuple<ranges::v3::back_insert_iterator<std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> > >, std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> >, seqan3::dna4>]'
/home/mi/h4nn3s/devel/seqan3/test/unit/io/detail/output_iterator_conversion_adaptor_test.cpp:104:160:
  required from 'void
oiter_conversion_adaptor_assign_Test<gtest_TypeParam_>::TestBody() [with
gtest_TypeParam_ =
std::tuple<ranges::v3::back_insert_iterator<std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> > >, std::vector<seqan3::dna4,
std::allocator<seqan3::dna4> >, seqan3::dna4>]'
/home/mi/h4nn3s/devel/seqan3/test/unit/io/detail/output_iterator_conversion_adaptor_test.cpp:97:1:
  required from here
/home/mi/h4nn3s/devel/seqan3/submodules/range-v3/include/range/v3/view_adaptor.hpp:365:27:
internal compiler error: in tsubst_copy, at cp/pt.c:15935
             using base_t::base_t;
                           ^~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
gmake[2]: ***
[io/detail/CMakeFiles/output_iterator_conversion_adaptor_test.dir/build.make:63:
io/detail/CMakeFiles/output_iterator_conversion_adaptor_test.dir/output_iterator_conversion_adaptor_test.cpp.o]
Fehler 1
gmake[1]: *** [CMakeFiles/Makefile2:1289:
io/detail/CMakeFiles/output_iterator_conversion_adaptor_test.dir/all] Fehler 2
gmake: *** [Makefile:95: all] Fehler 2

Reply via email to