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?

Reply via email to