https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87125
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-08-28 CC| |jason at gcc dot gnu.org Target Milestone|--- |9.0 Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The ICE is: /usr/src/gcc/obj/gcc/rh1622598.ii: In instantiation of ‘constexpr x::ce<ch<bc<ck::cl>, am<long unsigned int, 0> >, ch<bc<ck::cm>, am<long unsigned int, 0> > >::ce(by) [with by = int (*)()][inherited from ch<bc<ck::cl>, am<long unsigned int, 0> >]’: /usr/src/gcc/obj/gcc/rh1622598.ii:118:8: required from ‘void de< <template-parameter-1-1>, <template-parameter-1-2> >::begin_cursor_(bs) [with bs = int; <template-parameter-1-1> = int; <template-parameter-1-2> = int]’ /usr/src/gcc/obj/gcc/rh1622598.ii:120:8: required by substitution of ‘template<class bs, int <anonymous> > decltype (((de<int, int>*)this)->de<int, int>::begin_cursor_<bs>(bs())) de<int, int>::cw<bs, <enumerator> >() [with bs = int; int <anonymous> = 0]’ /usr/src/gcc/obj/gcc/rh1622598.ii:106:31: required by substitution of ‘template<class cv> decltype (cx.cw()) cu::cw(cv, long int) [with cv = iter_transform_view]’ /usr/src/gcc/obj/gcc/rh1622598.ii:108:52: required by substitution of ‘template<class cy> using cz = u<decltype (cu::cw(cy(), 2))> [with cy = iter_transform_view]’ /usr/src/gcc/obj/gcc/rh1622598.ii:109:45: required by substitution of ‘template<class cy> using da = z::bz<cz<cy> > [with cy = iter_transform_view]’ /usr/src/gcc/obj/gcc/rh1622598.ii:113:10: required by substitution of ‘template<class bs, int <anonymous> > da<bs> db<int>::begin<bs, <enumerator> >() [with bs = iter_transform_view; int <anonymous> = 0]’ /usr/src/gcc/obj/gcc/rh1622598.ii:149:16: required from here /usr/src/gcc/obj/gcc/rh1622598.ii:84:13: internal compiler error: in tsubst_copy, at cp/pt.c:15962 84 | using cf::f; | ^ 0xa78ebc tsubst_copy ../../gcc/cp/pt.c:15962 0xa8ad08 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:19038 0xa70a2a tsubst_exception_specification ../../gcc/cp/pt.c:14121 0xa9c93c regenerate_decl_from_template ../../gcc/cp/pt.c:23454 0xa9fe45 instantiate_decl(tree_node*, bool, bool) ../../gcc/cp/pt.c:24024 0x8aa7c3 instantiate_cx_fn_r ../../gcc/cp/constexpr.c:4902 0x1633540 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) ../../gcc/tree.c:11502 0x1634b8b walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) ../../gcc/tree.c:11820 0x1634c98 walk_tree_without_duplicates_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*)) ../../gcc/tree.c:11846 0x8aa9eb instantiate_constexpr_fns ../../gcc/cp/constexpr.c:4921 0x8aad66 cxx_eval_outermost_constant_expr ../../gcc/cp/constexpr.c:4977 0x8ab9b1 maybe_constant_value(tree_node*, tree_node*) ../../gcc/cp/constexpr.c:5205 0x8abe08 fold_non_dependent_expr(tree_node*, int) ../../gcc/cp/constexpr.c:5297 0xb473b1 massage_init_elt ../../gcc/cp/typeck2.c:1264 0xb48429 process_init_constructor_record ../../gcc/cp/typeck2.c:1482 0xb4964e process_init_constructor ../../gcc/cp/typeck2.c:1744 0xb46d43 digest_init_r ../../gcc/cp/typeck2.c:1158 0xb46f4d digest_init_flags(tree_node*, tree_node*, int, int) ../../gcc/cp/typeck2.c:1203 0xad3e26 finish_compound_literal(tree_node*, tree_node*, int, fcl_t) ../../gcc/cp/semantics.c:2831 0xa89fe7 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) ../../gcc/cp/pt.c:18877 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. where tsubst_copy doesn't handle DEFERRED_NOEXCEPT tree.