https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120273
Iain Sandoe <iains at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2025-05-20 00:00:00 |2025-5-21 --- Comment #9 from Iain Sandoe <iains at gcc dot gnu.org> --- nope - nothing has become corrupted. One of the objectives of the changes: cp_coroutine_transform::wrap_original_function_body () { /* Avoid the code here attaching a location that makes the debugger jump. */ iloc_sentinel stable_input_loc (fn_start); location_t loc = UNKNOWN_LOCATION; input_location = loc; but...deep in the lookup code (called for the co_await operator) ... frame #5: 0x000000010022c6b0 cc1plus`cxx_make_type(code=RECORD_TYPE) at lex.cc:1139:15 1136 { 1137 /* Set up some flags that give proper default behavior. */ 1138 struct c_fileinfo *finfo = -> 1139 get_fileinfo (LOCATION_FILE (input_location)); this is an unfortunate feature of the GCC code, there are lots of places where it goes straight to input_location which is not helpful when synthesising code that does not relate to the current input_location. This part of the infrastructure does not seem to be prepared to deal with "UNKNOWN_LOCATION" as the current input_location. We can "fix" this by backing out of the intended improvements in debug locations .. or, I guess, figure out how get_fileinfo should behave for an UNKOWN_LOCATION.