-
Notifications
You must be signed in to change notification settings - Fork 66
Description
Recently, some C++ parts have been added to IMB which introduces name mangling to the link step. The linker now complains that IMB_Barrier is listed “Extern C”in IMB_prototypes.h, but not in IMB_declare.h. The declaration in IMB_declare.h, however, is not really needed, as only the string IMB_Barrier is used in a subsequent CPP macro definition.Commenting this declaration out fixes the problem.The fix in git diff format is attached below. Please consider adopting this patch in future versions.
diff --git a/src_c/IMB_declare.h b/src_c/IMB_declare.h
index 8425545..49f749d 100644
--- a/src_c/IMB_declare.h
+++ b/src_c/IMB_declare.h
@@ -249,7 +249,7 @@ extern int IMB_internal_barrier;
(B) = (type*) IMB_v_alloc(sizeof(type)*(Len), where);
}-void IMB_Barrier(MPI_Comm comm);
+// void IMB_Barrier(MPI_Comm comm);
#define IMB_do_n_barriers(comm, iter)
{
int _ii; \