https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79937
--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The CONSTRUCTORS in TARGET_EXPR in the pr79937-{1,2,3}.C testcases have all CONSTRUCTOR_IS_DIRECT_INIT and TREE_HAS_CONSTRUCTOR set, while nsdmi13.C doesn't. Does any of those matter? In the nsdmi13.C case, there is just a single replace_placeholders call on the whole testcase, so if we don't replace everything, we die during gimplification, but in pr79937-{1,2,3}.C the gimplification of the CONSTRUCTOR results in cp_gimplify_init_expr and calls it there and handles the replacements that aren't otherwise done.