[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 --- Comment #13 from CVS Commits --- The releases/gcc-11 branch has been updated by Jason Merrill : https://gcc.gnu.org/g:3bf2e1bfc9858516e028137b313e4c689b0c8cd4 commit r11-9707-g3bf2e1bfc9858516e028137b313e4c689b0c8cd4 Author: Jason Merrill Date: Fri Mar 25 11:26:06 2022 -0400 c++: ICE with alias in pack expansion [PR103769] This was breaking because when we stripped the 't' typedef in s...> to be s, the TYPE_MAIN_VARIANT of "Args..." was still "t...", because type pack expansions are treated as types. Fixed by using the right function to copy a "type". PR c++/99445 PR c++/103769 gcc/cp/ChangeLog: * tree.c (strip_typedefs): Use build_distinct_type_copy. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/variadic-alias5.C: New test.
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 --- Comment #12 from CVS Commits --- The master branch has been updated by Jason Merrill : https://gcc.gnu.org/g:07be8f8da4c6840a1fd6b2229b147e50cc6f03dc commit r12-7848-g07be8f8da4c6840a1fd6b2229b147e50cc6f03dc Author: Jason Merrill Date: Fri Mar 25 11:26:06 2022 -0400 c++: ICE with alias in pack expansion [PR103769] This was breaking because when we stripped the 't' typedef in s...> to be s, the TYPE_MAIN_VARIANT of "Args..." was still "t...", because type pack expansions are treated as types. Fixed by using the right function to copy a "type". PR c++/99445 PR c++/103769 gcc/cp/ChangeLog: * tree.cc (strip_typedefs): Use build_distinct_type_copy. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/variadic-alias5.C: New test.
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 Jonathan Wakely changed: What|Removed |Added See Also||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=104008 --- Comment #11 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #10) > There's a report of a regression caused by this: > https://gcc.gnu.org/pipermail/gcc-help/2022-January/141127.html > I'll ask for it to be reported to bugzilla. That's now PR 104008
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 --- Comment #10 from Jonathan Wakely --- There's a report of a regression caused by this: https://gcc.gnu.org/pipermail/gcc-help/2022-January/141127.html I'll ask for it to be reported to bugzilla.
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 Jason Merrill changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED|RESOLVED --- Comment #9 from Jason Merrill --- Fixed.
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 --- Comment #8 from CVS Commits --- The master branch has been updated by Jason Merrill : https://gcc.gnu.org/g:a2531859bf5bf6cf1f29c0dca85fd26e80904a5d commit r11-7931-ga2531859bf5bf6cf1f29c0dca85fd26e80904a5d Author: Jason Merrill Date: Tue Mar 30 20:31:18 2021 -0400 c++: Alias template in pack expansion [PR99445] In this testcase, iterative_hash_template_arg checks alias_template_specialization_p to determine whether to treat a type as a dependent alias, and structural_comptypes checks dependent_alias_template_spec_p. Normally that difference isn't a problem because canonicalizing template arguments strips non-dependent aliases, but that wasn't happening for the pack expansion. Fixed thus. gcc/cp/ChangeLog: PR c++/99445 * tree.c (strip_typedefs): Handle TYPE_PACK_EXPANSION. gcc/testsuite/ChangeLog: PR c++/99445 * g++.dg/cpp0x/alias-decl-variadic1.C: New test.
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 Jason Merrill changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org Status|NEW |ASSIGNED
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 --- Comment #7 from Martin Liška --- @Jason: Can you please take a look?
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #6 from Jakub Jelinek --- (gdb) p debug_tree ($15->args) > VOID align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7fffea1b4e70>> $23 = void (gdb) p debug_tree ($16->args) > VOID align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7fffea1b4930>> $24 = void (gdb) p iterative_hash_template_arg ($15->args, 0) $25 = 1060540270 (gdb) p iterative_hash_template_arg ($16->args, 0) $26 = 2053511766 (gdb) p comp_template_args ($15->args, $16->args, 0, 0, false) $27 = 1 (gdb) p debug_tree (0x7fffea1b4dc8) fullname > chain > VOID align:8 warn_if_not_align:0 symtab:0 alias-set -1 structural-equality> $28 = void (gdb) p debug_tree (0x7fffea1b4888) fullname > chain > type_0 type_6 VOID align:8 warn_if_not_align:0 symtab:0 alias-set -1 structural-equality> $29 = void and flag_concepts is false. So the template args hash differently but compare equal.
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 Martin Liška changed: What|Removed |Added Status|WAITING |NEW
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 --- Comment #5 from Patrick Palka --- Reduced valid testcase: template struct implicit_conversions; template using implicit_conversions_t = typename implicit_conversions::type; template struct response_type; template using type1 = response_type...>; template using type2 = response_type::type...>;
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 --- Comment #4 from Martin Liška --- (In reply to Matthias Klose from comment #3) > > Can you please reduce it to a valid test-case? > > the run took 40 hours. I'll see when I can repeat it. I can imagine. Or you can try to somehow "fix" the reduced test-case so that it's valid again :)
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 --- Comment #3 from Matthias Klose --- > Can you please reduce it to a valid test-case? the run took 40 hours. I'll see when I can repeat it.
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 Richard Biener changed: What|Removed |Added Priority|P3 |P1 Target Milestone|--- |11.0
[Bug c++/99445] [11 Regression] ICE in hashtab_chk_error, at hash-table.c:137 since r11-7011-g6e0a231a4aa2407b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99445 Martin Liška changed: What|Removed |Added Summary|[11 Regression] ICE in |[11 Regression] ICE in |hashtab_chk_error, at |hashtab_chk_error, at |hash-table.c:137|hash-table.c:137 since ||r11-7011-g6e0a231a4aa2407b --- Comment #2 from Martin Liška --- Likely started with r11-7011-g6e0a231a4aa2407b.