[PATCH] D45123: [CodeView] Emit function options for subprogram and member functions

Aaron Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 31 08:24:16 PDT 2018


asmith created this revision.
asmith added reviewers: zturner, rnk, llvm-commits.
Herald added a subscriber: JDevlieghere.

Use the newly added DebugInfo (DI) Trivial flag, which indicates if a C++ record is trivial or not, to determine Codeview::FunctionOptions.

Clang and MSVC generate slightly different Codeview for C++ records. For example, here is the C++ code for a class with defaulted ctor,

  class C {
  public:
    C() = default;
  };

Clang will produce a LF for the defaulted ctor while MSVC does not. For more details, refer to FIXMEs in the test cases in "function-options.ll" included with this set of changes.


Repository:
  rL LLVM

https://reviews.llvm.org/D45123

Files:
  CodeGen/AsmPrinter/CodeViewDebug.cpp
  CodeGen/AsmPrinter/CodeViewDebug.h
  DebugInfo/COFF/function-options.ll
  DebugInfo/COFF/global-type-hashes.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45123.140543.patch
Type: text/x-patch
Size: 73322 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180331/7181fcdf/attachment-0001.bin>


More information about the llvm-commits mailing list