1
1

fortran: Fix MPI_ARGV(S)_NULL compilation error

Fortran constants `MPI_ARGV_NULL` and `MPI_ARGVS_NULL` are defined
in MPI-3.1 p.680 as below.

> `MPI_ARGVS_NULL`
>   2-dim. array of `CHARACTER*(*)`
> `MPI_ARGV_NULL`
>   array of `CHARACTER*(*)`

`MPI_ARGV_NULL` and `MPI_ARGVS_NULL` are used as an argument of
`MPI_COMM_SPAWN` and `MPI_COMM_SPAWN_MULTIPLE` respectively and
their argument `argv` and `array_of_argv` are defined as below
for `USE mpi_f08` binding in MPI-3.1.

```
CHARACTER(LEN=*), INTENT(IN) :: argv(*)
CHARACTER(LEN=*), INTENT(IN) :: array_of_argv(count, *)
```

Defining them as `INTEGER` in `mpi_f08` module will cause
a compilation error of user programs like
"There is no specific subroutine for the generic 'mpi_comm_spawn'".

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
Этот коммит содержится в:
KAWASHIMA Takahiro 2017-04-21 22:18:41 +09:00
родитель 2d75962726
Коммит 0fcd96486a

Просмотреть файл

@ -77,13 +77,13 @@ $fortran->{weights_empty} = {
$fortran->{argv_null} = {
c_type => "char *",
c_name => "mpi_fortran_argv_null",
f_type => "integer",
f_type => "character, dimension(1)",
f_name => "MPI_ARGV_NULL",
};
$fortran->{argvs_null} = {
c_type => "char *",
c_name => "mpi_fortran_argvs_null",
f_type => "integer",
f_type => "character, dimension(1, 1)",
f_name => "MPI_ARGVS_NULL",
};