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
Name | Value | Comment |
---|---|---|
APK_CanPassInRegs | 0 | The argument of this type can be passed directly in registers. |
APK_CannotPassInRegs | 1 | The 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_CanNeverPassInRegs | 2 | The argument of this type cannot be passed directly in registers. Records containing this type as a subobject are forced to be passed indirectly. |