[CodeView] Allow empty types in member functions
CodeViewDebug::lowerTypeMemberFunction used to default to a Void
return type if the function's type array was empty. After D54667, it
started blindly indexing the 0th item for the return type, which fails
in getOperand for empty arrays if assertions are enabled.
This patch restores the Void return type for empty type arrays, and
adds a test generated by Rust in line-only debuginfo mode.
Reviewers: zturner, rnk
Reviewed By: rnk
Subscribers: hiraditya, JDevlieghere, llvm-commits
Differential Revision: https://reviews.llvm.org/D57070