I would recommend f18 to pass the hidden character length argument as a C size_t type (or in Fortran lingo, INTEGER(kind=C_SIZE_T) ). This enables very long character variables, including allocatable characters (extremely unlikely, but still), and is what Ifort and GFortran are doing.
By looking at https://github.com/flang-compiler/f18/blob/master/documentation/Calls.md I couldn't figure out how f18 passes the hidden character length argument which is needed to handle
CHARACTER(LEN=*)
dummy arguments. So maybe my worry is unnecessary.I would recommend f18 to pass the hidden character length argument as a C
size_t
type (or in Fortran lingo,INTEGER(kind=C_SIZE_T)
). This enables very long character variables, including allocatable characters (extremely unlikely, but still), and is what Ifort and GFortran are doing.