https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99547
Bug ID: 99547 Summary: [11 regression] g++.dg/modules/xtreme-header-5_c.C -std=c++2a ICE Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: clyon at gcc dot gnu.org Target Milestone: --- Between r11-7602 and r11-7616, I've noticed a regression: FAIL: g++.dg/modules/xtreme-header-5_c.C -std=c++2a (internal compiler error) on arm-eabi targets, and aarch64-elf (that is, configs using newlib vs glibc for *linux* targets) When using -mfloat-abi=hard on arm-eabi, I can see: /aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/gcc/testsuite/g++1/../../xg++ -B/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3 /gcc/testsuite/g++1/../../ /gcc/testsuite/g++.dg/modules/xtreme-header-5_c.C -mcpu=cortex-a7 -mfloat-abi=hard -march=armv7ve+simd -fdiagnostics-plain-output -nostdinc++ -I/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v7ve+simd/hard/libstdc++-v3/include/arm-none-eabi -I/aci-gcc-fsf/builds/gcc-fsf-gccsrc/ obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v7ve+simd/hard/libstdc++-v3/include -I/libstdc++-v3/libsupc++ -I/libstdc++-v3/include/backward -I/libstdc++-v3/testsuite/util -fmessage-length=0 -std=c++2a -pedantic-errors -Wno-long-long -fmodules-ts -fno-module-lazy -S -o xtreme-header-5_c.s /gcc/testsuite/g++.dg/modules/xtreme-header-5_c.C:3:30: internal compiler error: same canonical type node for different types 'void' and 'std::__void_t<decltype ((false ? declval<typename std::__match_cv_qualifiers<_From, _To, std::is_const<_Tp>::value, std::is_volatile<_Tp>::value>::__type& (&)()>()() : declval<typename std::__match_cv_qualifiers<_Yp, _Xp, std::is_const<_Yp>::value, std::is_volatile<_Yp>::value>::__type& (&)()>()()))>' 0x97390f comptypes(tree_node*, tree_node*, int) /gcc/cp/typeck.c:1555 0x899d4c template_args_equal(tree_node*, tree_node*, bool) /gcc/cp/pt.c:9207 0x8998ed comp_template_args(tree_node*, tree_node*, tree_node**, tree_node**, bool) /gcc/cp/pt.c:9254 0x8a6243 spec_hasher::equal(spec_entry*, spec_entry*) /gcc/cp/pt.c:1725 0x90e5ae hash_table<spec_hasher, false, xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int, insert_option) /gcc/hash-table.h:981 0x8ad6bb add_mergeable_specialization(bool, spec_entry*, tree_node*, unsigned int) /gcc/cp/pt.c:30018 0x80bfb1 trees_in::decl_value() /gcc/cp/module.cc:8068 0x80dc47 trees_in::tree_node(bool) /gcc/cp/module.cc:9174 0x816a3b module_state::read_cluster(unsigned int) /gcc/cp/module.cc:14858 0x816dd4 module_state::load_section(unsigned int, binding_slot*) /gcc/cp/module.cc:18129 0x817d37 module_state::read_language(bool) /gcc/cp/module.cc:18058 0x81800a direct_import /gcc/cp/module.cc:18920 0x88c2b4 cp_parser_translation_unit /gcc/cp/parser.c:4905 0x88c2b4 c_parse_file() /gcc/cp/parser.c:45241 0xa0a37c c_common_parse_file() /gcc/c-family/c-opts.c:1218