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.

Reply via email to