https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96391
--- Comment #15 from David Malcolm <dmalcolm at gcc dot gnu.org> --- #0 fancy_abort (file=0x95b0ab6 "../../libcpp/line-map.c", line=1359, function=0x95b0ace "linemap_compare_locations") at ../../gcc/diagnostic.c:1778 #1 0x08fcbecf in linemap_compare_locations (set=0xf7ffb000, pre=2146782942, post=<optimized out>) at ../../libcpp/line-map.c:1359 #2 0x080f4378 in linemap_location_before_p (loc_b=2146782943, loc_a=2146782942, set=<optimized out>) at ../../gcc/../libcpp/include/line-map.h:1247 #3 min_location (locb=2146782942, loca=2146782943) at ../../gcc/cp/decl.c:10641 #4 smallest_type_location (type_quals=type_quals@entry=1, locations=locations@entry=0xffffc778) at ../../gcc/cp/decl.c:10673 #5 0x081024bb in grokdeclarator (declarator=0xa03c950, declspecs=0xffffc778, decl_context=NORMAL, initialized=0, attrlist=0xffffc62c) at ../../gcc/cp/decl.c:11008 #6 0x0810a109 in start_decl (declarator=0xa03c950, declspecs=0xffffc778, initialized=0, attributes=<optimized out>, prefix_attributes=0x0, pushed_scope_p=0xffffc68c) at ../../gcc/cp/decl.c:5226 #7 0x0818face in cp_parser_init_declarator (parser=0xec83dae0, flags=<optimized out>, decl_specifiers=0xffffc778, checks=0x0, function_definition_allowed_p=true, member_p=false, declares_class_or_enum=0, function_definition_p=0xffffc71c, maybe_range_for_decl=0x0, init_loc=0xffffc710, auto_result=0xffffc7fc) at ../../gcc/cp/parser.c:20776 #8 0x08172e04 in cp_parser_simple_declaration (parser=0xec83dae0, function_definition_allowed_p=<optimized out>, maybe_range_for_decl=0x0) at ../../gcc/cp/parser.c:13739 #9 0x08198e6a in cp_parser_declaration (parser=0xec83dae0) at ../../gcc/cp/parser.c:13438 #10 0x081998cb in cp_parser_declaration_seq_opt (parser=<optimized out>) at ../../gcc/cp/parser.c:13314 #11 cp_parser_linkage_specification (parser=0xec83dae0) at ../../gcc/cp/parser.c:14632 #12 0x08198ed2 in cp_parser_declaration (parser=0xec83dae0) at ../../gcc/cp/parser.c:13375 #13 0x081995b6 in cp_parser_translation_unit (parser=0xec83dae0) at ../../gcc/cp/parser.c:4734 #14 c_parse_file () at ../../gcc/cp/parser.c:44001 #15 0x0825a13c in c_common_parse_file () at ../../gcc/c-family/c-opts.c:1190 #16 0x086be8ce in compile_file () at ../../gcc/toplev.c:458 #17 0x0809227d in do_compile () at ../../gcc/toplev.c:2298 #18 toplev::main (this=0xffffca4e, argc=120, argv=0xffffcb24) at ../../gcc/toplev.c:2437 #19 0x08096231 in main (argc=120, argv=0xffffcb24) at ../../gcc/main.c:39 It's hitting the abort at line 1359 within linemap_compare_locations: 1350 /* So pre and post represent two tokens that are present in a 1351 same macro expansion. Let's see if the token for pre was 1352 before the token for post in that expansion. */ 1353 unsigned i0, i1; 1354 const struct line_map *map = 1355 first_map_in_common (set, pre, post, &l0, &l1); 1356 1357 if (map == NULL) 1358 /* This should not be possible. */ 1359 abort (); where: (gdb) p /x loc_a $1 = 0x7ff54ede (gdb) p /x loc_b $2 = 0x7ff54edf (gdb) call inform (loc_a, "loc_a") In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/minwindef.h:163, from /usr/i686-w64-mingw32/sys-root/mingw/include/windef.h:8, from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:69, from /builddir/build/BUILD/wine-gecko-2.47.1/wine-gecko-2.47.1/widget/windows/AudioSession.cpp:7, from /builddir/build/BUILD/wine-gecko-2.47.1/wine-gecko-2.47.1-x86/widget/windows/Unified_cpp_widget_windows0.cpp:2: /usr/i686-w64-mingw32/sys-root/mingw/include/cfgmgr32.h: At global scope: /usr/i686-w64-mingw32/sys-root/mingw/include/cfgmgr32.h:19: note: loc_a 19 | typedef CONST VOID *PCVOID; | (gdb) call inform (loc_b, "loc_b") In file included from /usr/i686-w64-mingw32/sys-root/mingw/include/windef.h:8, from /usr/i686-w64-mingw32/sys-root/mingw/include/windows.h:69, from /builddir/build/BUILD/wine-gecko-2.47.1/wine-gecko-2.47.1/widget/windows/AudioSession.cpp:7, from /builddir/build/BUILD/wine-gecko-2.47.1/wine-gecko-2.47.1-x86/widget/windows/Unified_cpp_widget_windows0.cpp:2: /usr/i686-w64-mingw32/sys-root/mingw/include/cfgmgr32.h:19: note: loc_b 19 | typedef CONST VOID *PCVOID; |