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

Jan Schultke <janschultke at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |janschultke at googlemail dot 
com

--- Comment #6 from Jan Schultke <janschultke at googlemail dot com> ---
This seemingly did not ICE for a long time (up to GCC 14.2) but gave
nonsensical output:

> <source>: In function 'int main()':
> <source>:8:18: error: no matching function for call to 'S<int>::f<0>()'
>      S<int>::f<0>();
>                   ^
> <source>:4:17: note: candidate: 'template<T ...n> static void S<T>::f() [with 
> T ...n = {n ...}; T = {int}]'
>      static void f() { }
>                  ^
> <source>:4:17: note:   template argument deduction/substitution failed:
> Compiler returned: 1

However, the ICE is back on trunk (https://godbolt.org/z/EcafeGvh8):

> <source>: In function 'int main()':
> <source>:8:17: internal compiler error: tree check: accessed elt 1 of 
> 'tree_vec' with 0 elts in tsubst_pack_expansion, at cp/pt.cc:13854
>     8 |     S<int>::f<0>();
>       |     ~~~~~~~~~~~~^~
> 0x2907a05 diagnostic_context::diagnostic_impl(rich_location*, 
> diagnostic_metadata const*, diagnostic_option_id, char const*, __va_list_tag 
> (*) [1], diagnostic_t)
>       ???:0
> 0x291e806 internal_error(char const*, ...)
>       ???:0
> 0x9d973b tree_vec_elt_check_failed(int, int, char const*, int, char const*)
>       ???:0
> 0xd0b59e coerce_template_parms(tree_node*, tree_node*, tree_node*, int, bool)
>       ???:0
> 0xd47413 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node* 
> const*, unsigned int, tree_node*, unification_kind_t, int, conversion**, 
> bool, bool)
>       ???:0
> 0xaec0bb build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, 
> vl_embed>**, tree_node*, int, tree_node**, int)
>       ???:0
> 0xd67d33 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, 
> bool, bool, int)
>       ???:0
> 0xce86aa c_parse_file()
>       ???:0
> 0xe49579 c_common_parse_file()
>       ???:0

Reply via email to