Lines Matching defs:parameters
3 Derived types can be parameterized with type parameters. A type parameter is
5 type parameters are of integer type.
15 - 7.2 Type parameters
31 compile-time and is folded in the type itself. Kind type parameters also play
53 Two PDTs with the same derived type and the same kind type parameters but
54 different length type parameters are not distinct types. Unlike the kind type
55 parameter, the length type parameters do not play a role in determining a
78 Components with length type parameters cannot be folded into the type at
79 compile-time like the one with kind type parameters since their size is not
80 known. There are multiple ways to implement length type parameters and here are
189 For a derived type with length type parameters inlined the expression
200 components with length type parameters while allocating the base object (in this
255 A PDT with length type parameters has a list of 1 or more type parameters that
257 specification of other type parameters, array bounds expressions, etc.
259 evaluated at any given point with the length type parameters value of the PDT
351 In the case where the length type parameters values `(i,j)` are compile-time
368 operation can take the length type parameters needed for size/offset
379 type parameters.
439 // The AllocatableSetDerivedLength functions is called for each length type parameters.
445 // The PointerSetDerivedLength functions is called for each length type parameters.
545 Default initializers for components with length type parameters need to be
547 The length parameters block must also be created and attached to the addendum.
577 copied or reallocated. The length type parameters values are retrieved when
582 descriptors. The length type parameters are available in the descriptors.
584 For allocatable PDTs, if the rhs side has different length type parameters than
586 parameters information (F'2018 10.2.1.3(3)). There is code in the runtime to
592 parameters and rank as the entity to be finalized. The final subroutine is
595 type parameters as the entity to be finalized, or a final subroutine whose dummy
596 argument is assumed-rank with the same kind type parameters as the entity to be
677 The length type parameters are indexed in declaration order; i.e., 0 is the
683 type parameters from a descriptor to another. With the current design this is
685 allocated with a fixed number of length type parameters.
690 ! parameters are different and need to be copied to an existing descriptor
717 ! The new length type parameters need to be propagated at this point.
724 length type parameters in a separate block instead of directly in the addendum.
725 At the moment the storage for the length type parameters is allocated once as
737 - For allocatables, the space for the LEN parameters can be allocated as part of
740 - For monomorphic local variables, the LEN parameters would be in a little array
741 on the stack. Or we could treat any variable or component with LEN parameters
758 Because of the length type parameters store in the addendum, it is required in
760 parameters information. The example below illustrates such a case.
786 ! type parameters of `x(n)%pdt_component` are not propagated from the caller.
803 ! This type parameters of x(1:60:3) in foo must still live here
819 ### FIR operations with length type parameters
821 Couple of operations have length type parameters as operands already in their
822 design. For some operations, length type parameters are likely needed with
825 parameters are in it.
833 allocating a PDT, the length type parameters are passed to the
846 value of the given type. When creating a PDT, the length type parameters are
860 the length type parameters can be passed as well to the operation.
877 // parameters in the descriptor addendum so they are available to the runtime
922 a memory location given the shape and LEN parameters of the result. Length type
923 parameters is passed if the PDT is not boxed.
939 parameters operands. This is designed to use PDT without descriptor directly in
944 // Operation used with a boxed PDT does not need the length type parameters as
948 // In case the PDT would not be boxed, the length type parameters are needed to
974 - `flang/lib/Lower/Allocatable.cpp:461` not yet implement: derived type length parameters in allocate
975 - `flang/lib/Lower/Allocatable.cpp:645` not yet implement: deferred length type parameters
976 - `flang/lib/Lower/Bridge.cpp:454` not yet implemented: get length parameters from derived type BoxValue
977 - `flang/lib/Lower/ConvertExpr.cpp:341` not yet implemented: copy derived type with length parameters
978 - `flang/lib/Lower/ConvertExpr.cpp:993` not yet implemented: component with length parameters in structure constructor
979 - `flang/lib/Lower/ConvertExpr.cpp:1063` not yet implemented: component with length parameters in structure constructor
981 - `flang/lib/Lower/ConvertExpr.cpp:2424` not yet implemented: creating temporary for derived type with length parameters
982 - `flang/lib/Lower/ConvertExpr.cpp:3742` not yet implemented: gather rhs LEN parameters in assignment to allocatable
983 - `flang/lib/Lower/ConvertExpr.cpp:4725` not yet implemented: derived type array expression temp with LEN parameters
989 - `flang/lib/Lower/ConvertType.cpp:370` not yet implemented: derived type length parameters
990 - `flang/lib/Lower/ConvertVariable.cpp:169` not yet implemented: initial-data-target with derived type length parameters
991 - `flang/lib/Lower/ConvertVariable.cpp:197` not yet implemented: initial-data-target with derived type length parameters
992 - `flang/lib/Lower/VectorSubscripts.cpp:121` not yet implemented: threading length parameters in field index op
993 - `flang/lib/Optimizer/Builder/BoxValue.cpp:60` not yet implemented: box value is missing type parameters
994 - `flang/lib/Optimizer/Builder/BoxValue.cpp:67` not yet implemented: mutable box value is missing type parameters
995 - `flang/lib/Optimizer/Builder/FIRBuilder.cpp:688` not yet implemented: read fir.box with length parameters
996 - `flang/lib/Optimizer/Builder/FIRBuilder.cpp:746` not yet implemented: generate code to get LEN type parameters
997 - `flang/lib/Optimizer/Builder/FIRBuilder.cpp:779` not yet implemented: derived type with type parameters
998 - `flang/lib/Optimizer/Builder/FIRBuilder.cpp:905` not yet implemented: allocatable and pointer components non deferred length parameters
999 - `flang/lib/Optimizer/Builder/FIRBuilder.cpp:917` not yet implemented: array component shape depending on length parameters
1000 - `flang/lib/Optimizer/Builder/FIRBuilder.cpp:924` not yet implemented: get character component length from length type parameters
1002 - `flang/lib/Optimizer/Builder/FIRBuilder.cpp:956` not yet implemented: get length parameters from derived type BoxValue
1003 - `flang/lib/Optimizer/Builder/MutableBox.cpp:70` not yet implemented: updating mutablebox of derived type with length parameters
1004 - `flang/lib/Optimizer/Builder/MutableBox.cpp:168` not yet implemented: read allocatable or pointer derived type LEN parameters
1005 - `flang/lib/Optimizer/Builder/MutableBox.cpp:310` not yet implemented: update allocatable derived type length parameters
1006 - `flang/lib/Optimizer/Builder/MutableBox.cpp:505` not yet implemented: pointer assignment to derived with length parameters
1007 - `flang/lib/Optimizer/Builder/MutableBox.cpp:597` not yet implemented: pointer assignment to derived with length parameters
1008 - `flang/lib/Optimizer/Builder/MutableBox.cpp:740` not yet implemented: reallocation of derived type entities with length parameters
1013 - `flang/lib/Optimizer/CodeGen/CodeGen.cpp:1034` not yet implemented: fir.allocmem codegen of derived type with length parameters
1015 - `flang/lib/Optimizer/CodeGen/CodeGen.cpp:1708` not yet implemented: fir.embox codegen of derived with length parameters
1016 - `flang/lib/Optimizer/CodeGen/CodeGen.cpp:1749` not yet implemented: reboxing descriptor of derived type with length parameters
1017 - `flang/lib/Optimizer/CodeGen/CodeGen.cpp:2229` not yet implemented: derived type with type parameters
1018 - `flang/lib/Optimizer/CodeGen/CodeGen.cpp:2256` not yet implemented: compute size of derived type with type parameters
1019 - `flang/lib/Optimizer/CodeGen/TypeConverter.h:257` not yet implemented: extended descriptor derived with length parameters
1023 - `flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp:1007` not yet implemented: unhandled dynamic type parameters