1 /*
2  * Copyright (c) 2013      Mellanox Technologies, Inc.
3  *                         All rights reserved.
4  * Copyright (c) 2013 Cisco Systems, Inc.  All rights reserved.
5  * $COPYRIGHT$
6  *
7  * Additional copyrights may follow
8  *
9  * $HEADER$
10  */
11 
12 #include "oshmem_config.h"
13 #include "oshmem/shmem/fortran/bindings.h"
14 #include "oshmem/include/shmem.h"
15 
16 #if OSHMEM_PROFILING
17 #include "oshmem/shmem/fortran/profile/pbindings.h"
SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_BARRIER,shmem_barrier)18 SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_BARRIER, shmem_barrier)
19 #include "oshmem/shmem/fortran/profile/defines.h"
20 #endif
21 
22 SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void,
23         SHMEM_BARRIER,
24         shmem_barrier_,
25         shmem_barrier__,
26         shmem_barrier_f,
27         (MPI_Fint *PE_start, MPI_Fint *logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync),
28         (PE_start,logPE_stride,PE_size,pSync))
29 
30 void shmem_barrier_f(MPI_Fint *PE_start, MPI_Fint *logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)
31 {
32     shmem_barrier(OMPI_FINT_2_INT(*PE_start),
33          OMPI_FINT_2_INT(*logPE_stride),
34          OMPI_FINT_2_INT(*PE_size),
35          (long *)FPTR_2_VOID_PTR(pSync));
36 }
37 
38