https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80812
Bug ID: 80812 Summary: internal compiler error: in build_value_init_noctor, at cp/init.c:483 Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jamrial at gmail dot com Target Milestone: --- Created attachment 41379 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41379&action=edit Preprocessed output created with -freport-bug [jamrial@ArchVM tmp]$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/lib/gcc/x86_64-pc-linux-gnu/8.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /home/jamrial/gcc-svn/configure --prefix=/usr/local --libdir=/usr/local/lib --libexecdir=/usr/local/lib --mandir=/usr/local/share/man --infodir=/usr/local/share/info --enable-languages=c,c++,lto --enable-shared --enable-threads=posix --disable-bootstrap --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror Thread model: posix gcc version 8.0.0 20170518 (experimental) (GCC) [jamrial@ArchVM tmp]$ c++ -std=c++17 -c cc6QFNbL.ii In file included from /usr/local/include/c++/8.0.0/bits/move.h:54:0, from /usr/local/include/c++/8.0.0/bits/stl_pair.h:59, from /usr/local/include/c++/8.0.0/utility:70, from /home/jamrial/range-v3/test/algorithm/replace.cpp:25: /usr/local/include/c++/8.0.0/type_traits: In instantiation of ‘struct std::is_constructible<std::pair<int, std::__cxx11::basic_string<char> > [5]>’: /home/jamrial/range-v3/include/range/v3/utility/concepts.hpp:504:42: required by substitution of ‘template<class T> T ranges::v3::detail::gcc_bugs_bugs_bugs(T) [with T = <missing>]’ /home/jamrial/range-v3/include/range/v3/utility/concepts.hpp:111:55: required by substitution of ‘template<class ... Ts, class Concept, class> meta::v1::apply<meta::v1::quote<meta::v1::lazy::strict_and>, typename meta::v1::detail::transform_<meta::v1::list<typename ranges::v3::detail::base_concepts_of<Concept, void>::type, meta::v1::bind_back<meta::v1::quote<ranges::v3::concepts::models>, Ts ...> >, void>::type> ranges::v3::detail::models_(Concept*) [with Ts = {std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > [5]}; Concept = ranges::v3::concepts::Constructible; <template-parameter-1-3> = <missing>]’ /home/jamrial/range-v3/include/range/v3/utility/concepts.hpp:187:69: required from ‘struct ranges::v3::concepts::models<ranges::v3::concepts::Constructible, std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > [5]>’ /home/jamrial/range-v3/include/meta/meta.hpp:1183:56: required by substitution of ‘template<class ... Bools> using strict_and = meta::v1::and_c<Bools::type::value ...> [with Bools = {ranges::v3::concepts::models<ranges::v3::concepts::Constructible, std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > [5]>}]’ /home/jamrial/range-v3/include/meta/meta.hpp:651:26: required by substitution of ‘template<template<class ...> class C, class ... Ts, template<class ...> class D> meta::v1::id<D<Ts ...> > meta::v1::detail::try_defer_(int) [with C = meta::v1::strict_and; Ts = {ranges::v3::concepts::models<ranges::v3::concepts::Constructible, std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > [5]>}; D = meta::v1::strict_and]’ /home/jamrial/range-v3/include/meta/meta.hpp:656:65: [ skipping 9 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /home/jamrial/range-v3/include/range/v3/range_concepts.hpp:212:59: required by substitution of ‘template<class T> T ranges::v3::detail::gcc_bugs_bugs_bugs(T) [with T = <missing>]’ /home/jamrial/range-v3/include/range/v3/utility/concepts.hpp:111:55: required by substitution of ‘template<class ... Ts, class Concept, class> meta::v1::apply<meta::v1::quote<meta::v1::lazy::strict_and>, typename meta::v1::detail::transform_<meta::v1::list<typename ranges::v3::detail::base_concepts_of<Concept, void>::type, meta::v1::bind_back<meta::v1::quote<ranges::v3::concepts::models>, Ts ...> >, void>::type> ranges::v3::detail::models_(Concept*) [with Ts = {std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > [5]}; Concept = ranges::v3::concepts::View; <template-parameter-1-3> = <missing>]’ /home/jamrial/range-v3/include/range/v3/utility/concepts.hpp:187:69: required from ‘struct ranges::v3::concepts::models<ranges::v3::concepts::View, std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > [5]>’ /home/jamrial/range-v3/include/range/v3/view/all.hpp:70:111: required by substitution of ‘template<class T, int _concept_requires_70, typename std::enable_if<((_concept_requires_70 == 43) || (! ranges::v3::concepts::models<ranges::v3::concepts::View, typename std::remove_cv<typename std::remove_reference<_Tp>::type>::type>())), int>::type <anonymous>, class I, class S, class SIC, class SIRC> static decltype (ranges::v3::view::all_fn::from_container(t, SIC(), SIRC())) ranges::v3::view::all_fn::from_range(T&&) [with T = std::pair<int, std::__cxx11::basic_string<char> > (&)[5]; int _concept_requires_70 = 42; typename std::enable_if<((_concept_requires_70 == 43) || (! ranges::v3::concepts::models<ranges::v3::concepts::View, typename std::remove_cv<typename std::remove_reference<_Tp>::type>::type>())), int>::type <anonymous> = <missing>; I = std::pair<int, std::__cxx11::basic_string<char> >*; S = std::pair<int, std::__cxx11::basic_string<char> >*; SIC = ranges::v3::concepts::most_refined<meta::v1::list<ranges::v3::concepts::SizedRange, ranges::v3::concepts::Range>, std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (&)[5]>; SIRC = ranges::v3::concepts::most_refined<meta::v1::list<ranges::v3::concepts::SizedSentinel, ranges::v3::concepts::Sentinel>, std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >*, std::pair<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >*>]’ /home/jamrial/range-v3/include/range/v3/view/all.hpp:88:48: required by substitution of ‘template<class T, int _concept_requires_86, typename std::enable_if<((_concept_requires_135 == 43) || ranges::v3::concepts::models<ranges::v3::concepts::Range, T>()), int>::type <anonymous> > decltype (ranges::v3::view::all_fn::from_range(static_cast<T&&>(t))) ranges::v3::view::all_fn::operator()(T&&) const [with T = std::pair<int, std::__cxx11::basic_string<char> > (&)[5]; int _concept_requires_86 = 42; typename std::enable_if<((_concept_requires_135 == 43) || ranges::v3::concepts::models<ranges::v3::concepts::Range, T>()), int>::type <anonymous> = 0]’ /home/jamrial/range-v3/test/algorithm/replace.cpp:98:54: required from here /usr/local/include/c++/8.0.0/type_traits:929:12: internal compiler error: in build_value_init_noctor, at cp/init.c:483 struct is_constructible ^~~~~~~~~~~~~~~~ 0x7e3598 build_value_init_noctor(tree_node*, int) /home/jamrial/gcc-svn/gcc/cp/init.c:482 0x7e376d build_value_init(tree_node*, int) /home/jamrial/gcc-svn/gcc/cp/init.c:370 0x7ed5d3 constructible_expr /home/jamrial/gcc-svn/gcc/cp/method.c:1191 0x7ed5d3 is_xible_helper /home/jamrial/gcc-svn/gcc/cp/method.c:1219 0x7f261a is_xible(tree_code, tree_node*, tree_node*) /home/jamrial/gcc-svn/gcc/cp/method.c:1246 0x81144c finish_trait_expr(cp_trait_kind, tree_node*, tree_node*) /home/jamrial/gcc-svn/gcc/cp/semantics.c:9322 0x6dfb07 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/jamrial/gcc-svn/gcc/cp/pt.c:17745 0x6d436e tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/jamrial/gcc-svn/gcc/cp/pt.c:16400 0x6e5afc tsubst_template_arg /home/jamrial/gcc-svn/gcc/cp/pt.c:10778 0x6fa702 tsubst_template_args /home/jamrial/gcc-svn/gcc/cp/pt.c:11637 0x6e3521 tsubst(tree_node*, tree_node*, int, tree_node*) /home/jamrial/gcc-svn/gcc/cp/pt.c:13687 0x6e3830 tsubst(tree_node*, tree_node*, int, tree_node*) /home/jamrial/gcc-svn/gcc/cp/pt.c:13285 0x705f88 instantiate_class_template_1 /home/jamrial/gcc-svn/gcc/cp/pt.c:10326 0x705f88 instantiate_class_template(tree_node*) /home/jamrial/gcc-svn/gcc/cp/pt.c:10759 0x7b22bb complete_type(tree_node*) /home/jamrial/gcc-svn/gcc/cp/typeck.c:133 0x808849 finish_compound_literal(tree_node*, tree_node*, int, fcl_t) /home/jamrial/gcc-svn/gcc/cp/semantics.c:2689 0x6dec0a tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/jamrial/gcc-svn/gcc/cp/pt.c:17648 0x6dfe4b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/jamrial/gcc-svn/gcc/cp/pt.c:17098 0x6dfe4b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/jamrial/gcc-svn/gcc/cp/pt.c:17098 0x6e2da3 tsubst(tree_node*, tree_node*, int, tree_node*) /home/jamrial/gcc-svn/gcc/cp/pt.c:13998 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.