public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "slyfox at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/103769] [11/12 Regression] checking ICE in hashtab_chk_error with alias template and pack expansion after r11-7931
Date: Fri, 07 Jan 2022 08:05:33 +0000	[thread overview]
Message-ID: <bug-103769-4-6RqirOazlB@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-103769-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #5 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
I think I found something similar on openttd-12.1. Seems to be a mostly gcc-12
regression:

$ cat bug.cpp
template <typename T> using t = T;
template <typename...> struct s;
template <typename... Args> s<t<Args>...> f() { f<void>(); }

$ g++-12.0.0 --param=hash-table-verification-limit=1000 -O1 -o a.o -c bug.cpp

hash table checking failed: equal operator returns true for a pair of values
with a different hash value
bug.cpp: In substitution of 'template<class ... Args> s<Args ...> f() [with
Args = {void}]':
bug.cpp:3:56:   required from here
bug.cpp:3:43: internal compiler error: in hashtab_chk_error, at
hash-table.c:137
    3 | template <typename... Args> s<t<Args>...> f() { f<void>(); }
      |                                           ^
0x9c316d hashtab_chk_error()
        ../../gcc-12-20220102/gcc/hash-table.c:137
0xbeca15 hash_table<spec_hasher, false, xcallocator>::verify(spec_entry*
const&, unsigned int)
        ../../gcc-12-20220102/gcc/hash-table.h:1036
0xbecb6f hash_table<spec_hasher, false,
xcallocator>::find_with_hash(spec_entry* const&, unsigned int)
        ../../gcc-12-20220102/gcc/hash-table.h:921
0xbd58bc lookup_template_class_1
        ../../gcc-12-20220102/gcc/cp/pt.c:9905
0xbd7e06 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
        ../../gcc-12-20220102/gcc/cp/pt.c:10260
0xbd7e06 tsubst_aggr_type
        ../../gcc-12-20220102/gcc/cp/pt.c:13642
0xbcdf6a tsubst_function_type
        ../../gcc-12-20220102/gcc/cp/pt.c:15154
0xbbffcd tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../gcc-12-20220102/gcc/cp/pt.c:15970
0xbe40f9 fn_type_unification(tree_node*, tree_node*, tree_node*, tree_node*
const*, unsigned int, tree_node*, unification_kind_t, int, conversion**, bool,
bool)
        ../../gcc-12-20220102/gcc/cp/pt.c:21857
0x9e1529 add_template_candidate_real
        ../../gcc-12-20220102/gcc/cp/call.c:3544
0x9e2473 add_template_candidate
        ../../gcc-12-20220102/gcc/cp/call.c:3632
0x9e2473 add_candidates
        ../../gcc-12-20220102/gcc/cp/call.c:6165
0x9e8849 add_candidates
        ../../gcc-12-20220102/gcc/cp/call.c:4692
0x9e8849 perform_overload_resolution
        ../../gcc-12-20220102/gcc/cp/call.c:4709
0x9ed682 build_new_function_call(tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
        ../../gcc-12-20220102/gcc/cp/call.c:4816
0xc03d31 finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool,
bool, int)
        ../../gcc-12-20220102/gcc/cp/semantics.c:2865
0xb64f91 cp_parser_postfix_expression
        ../../gcc-12-20220102/gcc/cp/parser.c:7821
0xb4d49a cp_parser_binary_expression
        ../../gcc-12-20220102/gcc/cp/parser.c:9984
0xb4dfbe cp_parser_assignment_expression
        ../../gcc-12-20220102/gcc/cp/parser.c:10288
0xb4fae9 cp_parser_expression
        ../../gcc-12-20220102/gcc/cp/parser.c:10458
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.

$ g++-12.0.0 -v
Using built-in specs.
COLLECT_GCC=/nix/store/9s988q1yj67hk7d2v7wxl961h2d34mgg-gcc-debug-12.0.0/bin/g++
COLLECT_LTO_WRAPPER=/nix/store/9s988q1yj67hk7d2v7wxl961h2d34mgg-gcc-debug-12.0.0/libexec/gcc/x86_64-unknown-linux-gnu/12.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with:
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.0.0 20220102 (experimental) (GCC)

  parent reply	other threads:[~2022-01-07  8:05 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-19 16:39 [Bug c++/103769] New: ICE in hashtab_chk_error alias template and pack expansion ppalka at gcc dot gnu.org
2021-12-19 16:42 ` [Bug c++/103769] [11/12 Regression] checking ICE in hashtab_chk_error with alias template and pack expansion after r11-7931 ppalka at gcc dot gnu.org
2021-12-30 16:13 ` pinskia at gcc dot gnu.org
2021-12-30 16:18 ` pinskia at gcc dot gnu.org
2022-01-01  4:19 ` pinskia at gcc dot gnu.org
2022-01-07  8:05 ` slyfox at gcc dot gnu.org [this message]
2022-01-07  9:09 ` slyfox at gcc dot gnu.org
2022-01-07  9:27 ` marxin at gcc dot gnu.org
2022-01-08 20:02 ` slyfox at gcc dot gnu.org
2022-01-17 12:37 ` rguenth at gcc dot gnu.org
2022-03-23 14:10 ` jason at gcc dot gnu.org
2022-03-28 13:37 ` cvs-commit at gcc dot gnu.org
2022-03-28 19:13 ` [Bug c++/103769] [11 " cvs-commit at gcc dot gnu.org
2022-03-28 19:14 ` jason at gcc dot gnu.org
2022-03-29 19:02 ` alexander.lelyakin at googlemail dot com
2022-11-30  5:27 ` pinskia at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-103769-4-6RqirOazlB@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).