Rob Latham <[email protected]> writes:
On Sun, Jan 05, 2014 at 04:34:45PM -0600, Jed Brown wrote:
Why can't that code use ADIOI_AINT_CAST_TO_VOID_PTR, which is equivalent to MPI_AINT_CAST_TO_VOID_PTR?
Absolutely no reason why not. Thanks for the suggestion. It's a one line change; master builds and links on blue gene and my laptop.
Great, I didn't know if the dependencies would be right for Blue Gene, but I tested locally before suggesting it on the list.
Jed, can I have your Signed-off (as MPICH process defines it) on this?
Signed-off-by: Jed Brown <[email protected]>
commit 029b65d59368b671977bee661c84eb98c0d1128f Author: Rob Latham <[email protected]> Date: Tue Jan 7 10:06:17 2014 -0600
Use ROMIO pointer-casting routines
the code in glue_romio replicates a bit of pointer-size assertion logic. it's only used by ROMIO, though. if mpitypedefs.h is not included (see recent standalone-romio cleanups) we will get an undefined symbol at link time (MPI_AINT_CAST_TO_VOID_PTR). Use equivalent ADIOI_AINT_CAST_TO_VOID_PTR instead for this ROMIO-related code.
diff --git a/src/include/glue_romio.h.in b/src/include/glue_romio.h.in index 4d60ed2f..f0743538 100644 --- a/src/include/glue_romio.h.in +++ b/src/include/glue_romio.h.in @@ -42,9 +42,10 @@ extern int MPIR_Ext_dbg_romio_terse_enabled; extern int MPIR_Ext_dbg_romio_typical_enabled; extern int MPIR_Ext_dbg_romio_verbose_enabled;
-/* a copy of MPID_Ensure_Aint_fits_in_pointer for external use */ +/* a copy of MPID_Ensure_Aint_fits_in_pointer for external use, slightly + * modified to use ROMIO's version of the pointer-casting macro */ #define MPIR_Ext_ensure_Aint_fits_in_pointer(aint) \ - MPIR_Ext_assert((aint) == (MPI_Aint)(MPIR_Upint) MPI_AINT_CAST_TO_VOID_PTR(aint)); + MPIR_Ext_assert((aint) == (MPI_Aint)(MPIR_Upint) ADIOI_AINT_CAST_TO_VOID_PTR(aint));
/* to be called early by ROMIO's initialization process in order to setup init-time * glue code that cannot be initialized statically */