14 if (
const CXXRecordDecl *cxxrd = dyn_cast<CXXRecordDecl>(rd)) {
15 if (cxxrd->isDynamicClass())
18 for (
const auto &i : cxxrd->bases())
23 for (
const auto *i : rd->fields())
43class X8664ABIInfo :
public ABIInfo {
50 X8664TargetCIRGenInfo(CIRGenTypes &cgt)
51 : TargetCIRGenInfo(std::make_unique<X8664ABIInfo>(cgt)) {}
56std::unique_ptr<TargetCIRGenInfo>
58 return std::make_unique<X8664TargetCIRGenInfo>(cgt);
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
This class organizes the cross-module state that is used while lowering AST types to CIR types.
TargetCIRGenInfo(std::unique_ptr< ABIInfo > info)
virtual bool isNoProtoCallVariadic(const FunctionNoProtoType *fnType) const
Determine whether a call to an unprototyped functions under the given calling convention should use t...
Represents a C++ struct/union/class.
Represents a member of a struct/union/class.
bool isUnnamedBitField() const
Determines whether this is an unnamed bitfield.
bool isZeroLengthBitField() const
Is this a zero-length bit-field?
Represents a K&R-style 'int foo()' function, which has no information available about its arguments.
A (possibly-)qualified type.
RecordDecl * getAsRecordDecl() const
Retrieves the RecordDecl this type refers to.
std::unique_ptr< TargetCIRGenInfo > createX8664TargetCIRGenInfo(CIRGenTypes &cgt)
bool isEmptyFieldForLayout(const ASTContext &context, const FieldDecl *fd)
isEmptyFieldForLayout - Return true if the field is "empty", that is, either a zero-width bit-field o...
bool isEmptyRecordForLayout(const ASTContext &context, QualType t)
isEmptyRecordForLayout - Return true if a structure contains only empty base classes (per isEmptyReco...
The JSON file list parser is used to communicate input to InstallAPI.