|
FLANG
|
#include <flang/Lower/CallInterface.h>
Public Member Functions | |
| bool | isOptional () const |
| Is the dummy argument optional? | |
| bool | mayBeModifiedByCall () const |
| Can the argument be modified by the callee? | |
| bool | mayBeReadByCall () const |
| Can the argument be read by the callee? | |
| bool | testTKR (Fortran::common::IgnoreTKR flag) const |
| Does the argument have the specified IgnoreTKR flag? | |
| bool | isIntentOut () const |
| Is the argument INTENT(OUT) | |
| bool | mustBeMadeContiguous () const |
| Does the argument have the CONTIGUOUS attribute or have explicit shape? | |
| bool | hasValueAttribute () const |
| Does the dummy argument have the VALUE attribute? | |
| bool | hasAllocatableAttribute () const |
| Does the dummy argument have the ALLOCATABLE attribute? | |
| bool | mayRequireIntentoutFinalization () const |
| bool | isSequenceAssociatedDescriptor () const |
Public Attributes | |
| PassEntityBy | passBy |
| How entity is passed by. | |
| FortranEntity | entity |
| FirValue | firArgument |
| FirValue | firLength |
| const Fortran::evaluate::characteristics::DummyArgument * | characteristics |
| Pointer to the argument characteristics. Nullptr for results. | |
PassedEntity is what is provided back to the CallInterface user. It describe how the entity is plugged in the interface
| bool Fortran::lower::CallInterface< T >::PassedEntity::isSequenceAssociatedDescriptor | ( | ) | const |
Is the dummy argument an explicit-shape or assumed-size array that must be passed by descriptor? Sequence association imply the actual argument shape/rank may differ with the dummy shape/rank (see F'2023 section 15.5.2.12), so care is needed when creating the descriptor for the dummy argument.
| bool Fortran::lower::CallInterface< T >::PassedEntity::mayRequireIntentoutFinalization | ( | ) | const |
May the dummy argument require INTENT(OUT) finalization on entry to the invoked procedure? Provides conservative answer.
| const Fortran::evaluate::characteristics::DummyArgument* Fortran::lower::CallInterface< T >::PassedEntity::characteristics |
Pointer to the argument characteristics. Nullptr for results.
| FortranEntity Fortran::lower::CallInterface< T >::PassedEntity::entity |
What is the entity (SymbolRef for callee/ActualArgument* for caller) What is the related mlir::func::FuncOp argument(s) (mlir::Value for callee / index for the caller).