#include "libcoarraynative.h"
#include "allocator.h"
#include "hashmap.h"
-#include "util.h"
#include "lock.h"
#include "collective_subroutine.h"
#include <unistd.h>
#include <sys/mman.h>
-// #include <stdlib.h>
#include <sys/wait.h>
#define GFORTRAN_ENV_NUM_IMAGES "GFORTRAN_NUM_IMAGES"
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#include <string.h>
#include "libgfortran.h"
#include "libcoarraynative.h"
#include "collective_subroutine.h"
#include "allocator.h"
+#include <string.h>
+
void *
get_collsub_buf (collsub_iface *ci, size_t size)
{
<http://www.gnu.org/licenses/>. */
#include "libgfortran.h"
+#include "shared_memory.h"
+#include "allocator.h"
#include "hashmap.h"
#include <string.h>
#ifndef HASHMAP_H
-#include "shared_memory.h"
-#include "allocator.h"
-
-#include <stdint.h>
-#include <stddef.h>
-
-
/* Data structures and variables:
memid is a unique identifier for the coarray, the address of its
#ifndef COARRAY_NATIVE_HDR
#define COARRAY_NATIVE_HDR
-#include "libgfortran.h"
-
-#include <sys/types.h>
-#include <stdint.h>
-#include <stdio.h>
-
#define DEBUG_NATIVE_COARRAY 0
#if defined(DEBUG_NATIVE_COARRAY) && DEBUG_NATIVE_COARRAY
#define DEBUG_PRINTF(...) do {} while(0)
#endif
-#include "allocator.h"
-#include "hashmap.h"
+#include "shared_memory.h"
+#include "alloc.h"
#include "sync.h"
-#include "lock.h"
+#include "util.h"
#include "collective_subroutine.h"
typedef struct {
#include "libgfortran.h"
#include "libcoarraynative.h"
-#include "util.h"
+
#include <sys/mman.h>
#include <unistd.h>
#include <string.h>
-#include "shared_memory.h"
-
/* This implements shared memory based on POSIX mmap. We start with
memory block of the size of the global shared memory data, rounded
up to one pagesize, and enlarge as needed.
#ifndef SHARED_MEMORY_H
#define SHARED_MEMORY_H
-#include <stdbool.h>
-#include <stdint.h>
-#include <stddef.h>
-#include <sys/types.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <limits.h>
-
/* A struct to serve as an opaque shared memory object. */
struct shared_memory_act;
<http://www.gnu.org/licenses/>. */
-#include <string.h>
-
#include "libgfortran.h"
#include "libcoarraynative.h"
-#include "sync.h"
-#include "util.h"
+
+#include <string.h>
static void
sync_all_init (pthread_barrier_t *b)
#ifndef IPSYNC_HDR
#define IPSYNC_HDR
-#include "shared_memory.h"
-#include "alloc.h"
#include <pthread.h>
typedef struct {
#ifndef UTIL_HDR
#define UTIL_HDR
-#include <stdint.h>
-#include <stddef.h>
#include <pthread.h>
+#include <limits.h>
+#include <assert.h>
#define PTR_BITS (CHAR_BIT*sizeof(void *))
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#include <string.h>
#include "libgfortran.h"
#include "libcoarraynative.h"
-#include "sync.h"
#include "lock.h"
-#include "util.h"
-#include "collective_subroutine.h"
+
+#include <string.h>
static inline int
div_ru (int divident, int divisor)