https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107539
Bug ID: 107539 Summary: internal compiler error: same canonical type node for different types Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: franckbehaghel_gcc at protonmail dot com Target Milestone: --- Created attachment 53835 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53835&action=edit preprocessed source When compiling gimp 2.10 with a fresh gcc version : 3ad2167bbac8ae83b1e91305b105ab5287bdac55 , I get the following error : gimppaintcore-loops.cc: In lambda function: gimppaintcore-loops.cc:472:61: internal compiler error: same canonical type node for different types ‘AlgorithmTemplate<typename decltype (algorithm)::type>’ and ‘AlgorithmTemplate<typename decltype (algorithm)::type>’ 472 | visitor (identity<AlgorithmTemplate<NewAlgorithm>> ()); | ^~ 0xc4306c comptypes(tree_node*, tree_node*, int) /GIT_REPO/build/gcc/gcc/gcc/cp/typeck.cc:1717 0xb99717 template_args_equal(tree_node*, tree_node*, bool) /GIT_REPO/build/gcc/gcc/gcc/cp/pt.cc:9284 0xb993fc template_args_equal(tree_node*, tree_node*, bool) /GIT_REPO/build/gcc/gcc/gcc/cp/pt.cc:9247 0xb993fc comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**, bool) /GIT_REPO/build/gcc/gcc/gcc/cp/pt.cc:9329 0xba42c3 spec_hasher::equal(spec_entry*, spec_entry*) /GIT_REPO/build/gcc/gcc/gcc/cp/pt.cc:1668 0xbecf73 hash_table<spec_hasher, false, xcallocator>::find_with_hash(spec_entry* const&, unsigned int) /GIT_REPO/build/gcc/gcc/gcc/hash-table.h:926 0xbd4dac lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) /GIT_REPO/build/gcc/gcc/gcc/cp/pt.cc:9945 0xc044ed finish_template_type(tree_node*, tree_node*, int) /GIT_REPO/build/gcc/gcc/gcc/cp/semantics.cc:3755 0xb6a808 cp_parser_template_id /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:18368 0xb6aaab cp_parser_class_name /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:25826 0xb60f6e cp_parser_qualifying_entity /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:7183 0xb60f6e cp_parser_nested_name_specifier_opt /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:6865 0xb7a848 cp_parser_simple_type_specifier /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:19809 0xb5e98c cp_parser_postfix_expression /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:7640 0xb469bc cp_parser_binary_expression /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:10091 0xb47792 cp_parser_assignment_expression /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:10431 0xb4c9ee cp_parser_parenthesized_expression_list_elt /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:8054 0xb4cfb1 cp_parser_parenthesized_expression_list /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:8523 0xb5ef71 cp_parser_postfix_expression /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:7798 0xb469bc cp_parser_binary_expression /GIT_REPO/build/gcc/gcc/gcc/cp/parser.cc:10091 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. To reproduce : g++ -x c++ ccYvosm6.out1 Or copy&paste ccYvosm6.out1 in compiler explorer ( https://godbolt.org/ ). Similar output is generated. Regards, Franck