1
1
also replase the OMPI_CAST_RTE_NAME macro with
an inline function if OPAL_ENABLE_DEBUG, so we can
get warnings from the compiler if ampersand is missing.

Thanks to Paul Hargrove for reporting the bugs

This commit was SVN r32408.
Этот коммит содержится в:
Gilles Gouaillardet 2014-08-04 02:52:56 +00:00
родитель 61bf7af9d2
Коммит f7b13d1126
3 изменённых файлов: 18 добавлений и 3 удалений

Просмотреть файл

@ -3,6 +3,8 @@
* Copyright (c) 2011-2012 Los Alamos National Security, LLC.
* All rights reserved.
* Copyright (c) 2013 Intel, Inc. All rights reserved
* Copyright (c) 2014 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -1414,7 +1416,7 @@ void mca_pml_bfo_map_out_btl(struct mca_btl_base_module_t* btl,
"to rank=%d on node=%s \n",
btl->btl_component->btl_version.mca_component_name,
OMPI_PROC_MY_NAME->vpid,
btlname, OMPI_CAST_RTE_NAME(errproc->super.proc_name)->vpid,
btlname, OMPI_CAST_RTE_NAME(&errproc->super.proc_name)->vpid,
(NULL == errproc->super.proc_hostname) ? "unknown" : errproc->super.proc_hostname);
/* Need to search for any pending packets associated

Просмотреть файл

@ -3,6 +3,8 @@
* All rights reserved.
* Copyright (c) 2013-2014 Intel, Inc. All rights reserved
* Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -65,7 +67,11 @@ typedef orte_ns_cmp_bitmask_t ompi_rte_cmp_bitmask_t;
/* database keys */
#define OMPI_RTE_NODE_ID ORTE_DB_DAEMON_VPID
#define OMPI_RTE_HOST_ID ORTE_DB_HOSTID
#if OPAL_ENABLE_DEBUG
static inline orte_process_name_t * OMPI_CAST_RTE_NAME(opal_process_name_t * name);
#else
#define OMPI_CAST_RTE_NAME(a) ((orte_process_name_t*)(a))
#endif
/* Collective objects and operations */
#define ompi_rte_collective_t orte_grpcomm_collective_t
@ -140,6 +146,11 @@ typedef struct {
} ompi_orte_tracker_t;
OBJ_CLASS_DECLARATION(ompi_orte_tracker_t);
#if OPAL_ENABLE_DEBUG
static inline orte_process_name_t * OMPI_CAST_RTE_NAME(opal_process_name_t * name) {
return (orte_process_name_t *)name;
}
#endif
END_C_DECLS
#endif /* MCA_OMPI_RTE_ORTE_H */

Просмотреть файл

@ -11,6 +11,8 @@
* All rights reserved.
* Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -86,7 +88,7 @@ static void try_kill_peers(ompi_communicator_t *comm,
} else {
assert(count <= nprocs);
procs[count++] =
*OMPI_CAST_RTE_NAME(ompi_group_get_proc_ptr(comm->c_remote_group, i)->super.proc_name);
*OMPI_CAST_RTE_NAME(&ompi_group_get_proc_ptr(comm->c_remote_group, i)->super.proc_name);
}
}
@ -94,7 +96,7 @@ static void try_kill_peers(ompi_communicator_t *comm,
for (i = 0; i < ompi_comm_remote_size(comm); ++i) {
assert(count <= nprocs);
procs[count++] =
*OMPI_CAST_RTE_NAME(ompi_group_get_proc_ptr(comm->c_remote_group, i)->super.proc_name);
*OMPI_CAST_RTE_NAME(&ompi_group_get_proc_ptr(comm->c_remote_group, i)->super.proc_name);
}
if (nprocs > 0) {