https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122774
Nathaniel Shead <nshead at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |nshead at gcc dot gnu.org
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=99000,
| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=122053
--- Comment #2 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
Supporting includes after imports without errors is PR99000, I don't expect to
be able to solve this anytime soon unfortunately.
The crash for GCC 15 was PR122053, which now errors instead of crashing. But
we still crash further on even with that change, when handling typedefs:
<many other multiple-definition errors>
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:14:3: error: conflicting
imported declaration ‘typedef struct _G_fpos_t __fpos_t’
14 | } __fpos_t;
| ^~~~~~~~
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:14:3: note: existing
declaration ‘typedef int __fpos_t’
14 | } __fpos_t;
| ^~~~~~~~
/usr/include/stdio.h:820:3: note: during load of binding ‘::fgetpos@std’
820 | __nonnull ((1));
| ^~~~~~~~~
/home/wreien/.local/include/c++/16.0.0/cstdio:136:11: internal compiler error:
in lookup_mark, at cp/tree.cc:2544
136 | using ::scanf;
| ^~~~~
0x3e7fa4e internal_error(char const*, ...)
../../gcc/gcc/diagnostic-global-context.cc:787
0x3e8f760 fancy_abort(char const*, int, char const*)
../../gcc/gcc/diagnostics/context.cc:1805
0x14347fc lookup_mark(tree_node*, bool)
../../gcc/gcc/cp/tree.cc:2544
0x125e65c name_lookup::dedup(bool)
../../gcc/gcc/cp/name-lookup.cc:488
0x1238a11 name_lookup::search_namespace_only(tree_node*)
../../gcc/gcc/cp/name-lookup.cc:960
0x1238e00 name_lookup::search_namespace(tree_node*)
../../gcc/gcc/cp/name-lookup.cc:1024
0x1239118 name_lookup::search_qualified(tree_node*, bool)
../../gcc/gcc/cp/name-lookup.cc:1085
0x1255004 qualified_namespace_lookup
../../gcc/gcc/cp/name-lookup.cc:7540
0x12503ba lookup_using_decl
../../gcc/gcc/cp/name-lookup.cc:6155
0x1252f3e finish_nonmember_using_decl(tree_node*, tree_node*)
../../gcc/gcc/cp/name-lookup.cc:6794
0x12a061f finish_using_decl
../../gcc/gcc/cp/parser.cc:23546
0x12a0bcb cp_parser_using_declaration
../../gcc/gcc/cp/parser.cc:23710
0x1292499 cp_parser_block_declaration
../../gcc/gcc/cp/parser.cc:16968
0x1292045 cp_parser_declaration
../../gcc/gcc/cp/parser.cc:16815
0x1292116 cp_parser_toplevel_declaration
../../gcc/gcc/cp/parser.cc:16836
0x12913f5 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.cc:16547
0x12a0346 cp_parser_namespace_body
../../gcc/gcc/cp/parser.cc:23454
0x12a02d3 cp_parser_namespace_definition
../../gcc/gcc/cp/parser.cc:23432
0x1291f1b cp_parser_declaration
../../gcc/gcc/cp/parser.cc:16795
0x1292116 cp_parser_toplevel_declaration
../../gcc/gcc/cp/parser.cc:16836
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.
I do think at least the ICE is valuable to fix for GCC16, so maybe next week
I'll try to find some time to make a reduced testcase.