[DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.
authorAmy Huang <akhuang@google.com>
Tue, 4 Feb 2020 21:20:13 +0000 (13:20 -0800)
committerAmy Huang <akhuang@google.com>
Tue, 3 Mar 2020 22:00:08 +0000 (14:00 -0800)
commit5b3b21f0258899d03f6299fba6b4c78d7e730353
treee84ddc2f2b8c5bd6221fd0a63ab3ae1d97a2ec81
parentab16ef17e838377e914a18fcec0fa78375833c36
[DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

Summary:
This change checks for the return type in the frontend and adds a flag
to the DISubroutineType to indicate that the option should be added in
CodeViewDebug.

Previously function types sometimes appeared twice in the PDB: once with
"returns cxx udt" and once without.
See https://bugs.llvm.org/show_bug.cgi?id=44785.

Reviewers: rnk, asmith

Subscribers: hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D75215
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
llvm/test/DebugInfo/COFF/function-options.ll