When generating the DECL_PRE_FN/DECL_POST_FN we copy the guarded function decl since they share many properties. See if it's possible to shorten or delete the copy_fn_decl function with the older copy_fndecl_with_name used to generate copies for ctdtors and operators.