https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121506
--- Comment #10 from Martin Uecker <uecker at tugraz dot at> --- Yes, I know, I added these function (moving previously existing logic there), because the C FE sometimes did not look up the tag correctly (and maybe there are still some places where it should call c_type_tag but doesn't). But my assumption was that after following the DECL_ORIGINAL_TYPE chain you end up with the original struct where the tag is then an IDENTIFIER_NODE. You are saying this is not necessarily true. But then I do not understand are two things: - Why do the build_va_arg functions create a TYPE_DECL in the first place and not directly an IDENTIFIER_NODE for the tag? Is this something the C++ FE can not handle? - Why do the c(xx)_simulate_record call set_underlying_type?
