enum RecordDecl::ArgPassingKind

Description

Enum that represents the different ways arguments are passed to and returned from function calls. This takes into account the target-specific and version-specific rules along with the rules determined by the language.

Declared at: clang/include/clang/AST/Decl.h:3928

Enumerators

NameValueComment
APK_CanPassInRegs0The argument of this type can be passed directly in registers.
APK_CannotPassInRegs1The argument of this type cannot be passed directly in registers. Records containing this type as a subobject are not forced to be passed indirectly. This value is used only in C++. This value is required by C++ because, in uncommon situations, it is possible for a class to have only trivial copy/move constructors even when one of its subobjects has a non-trivial copy/move constructor (if e.g. the corresponding copy/move constructor in the derived class is deleted).
APK_CanNeverPassInRegs2The argument of this type cannot be passed directly in registers. Records containing this type as a subobject are forced to be passed indirectly.