// This is the last-resort version of this file.  It will be used only
// if the comm layer implementation does not supply one.

#ifndef _chpl_comm_task_decls_h
#define _chpl_comm_task_decls_h

// Define the type of a n.b. communications handle.
typedef void* chpl_comm_nb_handle_t;

typedef struct {
} chpl_comm_taskPrvData_t;

#undef HAS_CHPL_CACHE_FNS

#endif

// This is the last-resort version of this file.  It will be used only
// if the comm layer implementation does not supply one.

#ifndef _chpl_comm_task_decls_h
#define _chpl_comm_task_decls_h

// Define the type of a n.b. communications handle.
typedef void* chpl_comm_nb_handle_t;

typedef struct {
  int dummy;    // structs must be nonempty
} chpl_comm_taskPrvData_t;

#undef HAS_CHPL_CACHE_FNS

#endif

Make an empty struct nonempty.
Make an empty struct nonempty.

In r23405 we added a component of the task private data to hold comm
layer information.  This is chpl_comm_taskPrvData_t, a struct typt.  For
comm=none we don't need any comm layer info, so we made the struct type
empty.  Unfortunately empty struct types aren't legal C (c99 standard,
6.2.5 (20)).  The gcc compiler lets this pass, but the PGI and Cray
compilers bark at it.  To fix this, add a dummy element to the struct
for the comm=none case.  (I tried making it a 0-length array, but the
PGI compiler barked at that, too.)


git-svn-id: 88467cb1fb04b8a755be7e1ee1026be4190196ef@23411 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
