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)

Reply via email to