HomePhabricator

[CodeView] Emit function options for subprogram and member functions

Authored by asmith on Oct 2 2018, 1:21 PM.

Description

[CodeView] Emit function options for subprogram and member functions

Summary:
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 a 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.

Reviewers: zturner, rnk, llvm-commits, aleksandr.urakov

Reviewed By: rnk

Subscribers: Hui, JDevlieghere

Differential Revision: https://reviews.llvm.org/D45123

llvm-svn: 343626

Details

Committed
asmithOct 2 2018, 1:21 PM
Reviewer
rnk
Differential Revision
D45123: [CodeView] Emit function options for subprogram and member functions
Parents
rGbe50052a2b54: Remove unnecessary field
Branches
Unknown
Tags
Unknown