This change modifies the logic for adding CxxReturnUdt so that the option is
added to all member functions that return a record type, whether or not the
record type is marked as nontrivial. This matches MSVC's behavior.
This is to fix an issue where function types sometimes appeared twice in the
PDB: once with "returns cxx udt" and once without
(https://bugs.llvm.org/show_bug.cgi?id=44785).
There can also be cases where non-member functions that reference forward
declared record types result in duplicated types, but this is apparently not very
common.
I think this code block needs a comment about the behavior we are trying to implement. It could be made CodeView-specific, but I don't see a strong reason not to set these flags when emitting DWARF.