On 04/16/2014 02:25 PM, Åke Sandgren wrote:
Hi!
Found this problem when building r31409 with Pathscale 5.0
pshmem_barrier.c:81:6: error: redeclaration of 'pshmem_barrier_all' must
have the 'overloadable' attribute
void shmem_barrier_all(void)
^
../../../../oshmem/shmem/c/profile/defines.h:193:37: note: expanded from
macro 'shmem_barrier_all'
#define shmem_barrier_all pshmem_barrier_all
^
pshmem_barrier.c:78:14: note: previous overload of function is here
#pragma weak shmem_barrier_all = pshmem_barrier_all
^
../../../../oshmem/shmem/c/profile/defines.h:193:37: note: expanded from
macro 'shmem_barrier_all'
#define shmem_barrier_all pshmem_barrier_all
^
pragma weak and define clashing...
Suggested patch attached (actually there where two similar cases...)
--
Ake Sandgren, HPC2N, Umea University, S-90187 Umea, Sweden
Internet: a...@hpc2n.umu.se Phone: +46 90 7866134 Fax: +46 90-580 14
Mobile: +46 70 7716134 WWW: http://www.hpc2n.umu.se
diff -ru site/oshmem/shmem/c/shmem_barrier.c
amd64/oshmem/shmem/c/shmem_barrier.c
--- site/oshmem/shmem/c/shmem_barrier.c 2014-04-16 03:05:05.000000002 +0200
+++ amd64/oshmem/shmem/c/shmem_barrier.c 2014-04-16 15:33:35.000000002
+0200
@@ -24,6 +24,7 @@
#if OSHMEM_PROFILING
#include "oshmem/include/pshmem.h"
#pragma weak shmem_barrier = pshmem_barrier
+#pragma weak shmem_barrier_all = pshmem_barrier_all
#include "oshmem/shmem/c/profile/defines.h"
#endif
@@ -74,10 +75,6 @@
RUNTIME_CHECK_RC(rc);
}
-#if OSHMEM_PROFILING
-#pragma weak shmem_barrier_all = pshmem_barrier_all
-#endif
-
void shmem_barrier_all(void)
{
int rc = OSHMEM_SUCCESS;
diff -ru site/oshmem/shmem/c/shmem_get.c amd64/oshmem/shmem/c/shmem_get.c
--- site/oshmem/shmem/c/shmem_get.c 2014-04-16 03:05:05.000000002 +0200
+++ amd64/oshmem/shmem/c/shmem_get.c 2014-04-16 15:09:48.000000002 +0200
@@ -52,7 +52,6 @@
#pragma weak shmem_float_get = pshmem_float_get
#pragma weak shmem_double_get = pshmem_double_get
#pragma weak shmem_longdouble_get = pshmem_longdouble_get
-#include "oshmem/shmem/c/profile/defines.h"
#endif
SHMEM_TYPE_GET(_char, char)
@@ -90,6 +89,7 @@
#pragma weak shmem_get32 = pshmem_get32
#pragma weak shmem_get64 = pshmem_get64
#pragma weak shmem_get128 = pshmem_get128
+#include "oshmem/shmem/c/profile/defines.h"
#endif
SHMEM_TYPE_GETMEM(_getmem, 1)