1
1

Cast to the uint64_t before playing with the << operator in order to make sure we keep

all usefull informations.

This commit was SVN r11986.
Этот коммит содержится в:
George Bosilca 2006-10-04 23:58:59 +00:00
родитель 9e4b64ce81
Коммит bf1d4ee259
3 изменённых файлов: 8 добавлений и 8 удалений

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

@ -167,7 +167,7 @@ ompi_convertor_find_or_create_master( uint32_t remote_arch )
if( remote_sizes[i] > 2 )
hetero_mask |= (((uint64_t)1) << i);
}
hetero_mask &= ~((1 << DT_LOGIC) | (1 << DT_CXX_BOOL));
hetero_mask &= ~((((uint64_t)1) << DT_LOGIC) | (((uint64_t)1) << DT_CXX_BOOL));
master->hetero_mask |= hetero_mask;
}
master->pFunctions = malloc( sizeof(ompi_ddt_heterogeneous_copy_functions) );

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

@ -90,7 +90,7 @@ int32_t ompi_ddt_add( ompi_datatype_t* pdtBase, const ompi_datatype_t* pdtAdd,
if( pdtAdd->flags & DT_FLAG_PREDEFINED ) { /* add a basic datatype */
/* handle special cases for DT_LB and DT_UB */
if( pdtAdd == ompi_ddt_basicDatatypes[DT_LB] ) {
pdtBase->bdt_used |= (1<< DT_LB);
pdtBase->bdt_used |= (((uint64_t)1) << DT_LB);
if( pdtBase->flags & DT_FLAG_USER_LB ) {
pdtBase->lb = LMIN( pdtBase->lb, disp );
} else {
@ -102,7 +102,7 @@ int32_t ompi_ddt_add( ompi_datatype_t* pdtBase, const ompi_datatype_t* pdtAdd,
}
return OMPI_SUCCESS;
} else if( pdtAdd == ompi_ddt_basicDatatypes[DT_UB] ) {
pdtBase->bdt_used |= (1<< DT_UB);
pdtBase->bdt_used |= (((uint64_t)1) << DT_UB);
if( pdtBase->flags & DT_FLAG_USER_UB ) {
pdtBase->ub = LMAX( pdtBase->ub, disp );
} else {

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

@ -50,17 +50,17 @@ int ompi_ddt_dfd = -1;
#define INIT_BASIC_TYPE( TYPE, NAME ) \
{ BASEOBJ_DATA, 0/*size*/, 0 /*align*/, 0/*true_lb*/, 0/*true_ub*/, \
0/*lb*/, 0/*ub*/, DT_FLAG_PREDEFINED, TYPE, 1, \
(((unsigned long long)1)<<(TYPE)), EMPTY_DATA(NAME) }
(((uint64_t)1)<<(TYPE)), EMPTY_DATA(NAME) }
#define INIT_BASIC_DATA( TYPE, ALIGN, NAME, FLAGS ) \
{ BASEOBJ_DATA, sizeof(TYPE), ALIGN, 0, sizeof(TYPE), \
0, sizeof(TYPE), DT_FLAG_BASIC | (FLAGS), \
DT_##NAME, 1, (((unsigned long long)1)<<(DT_##NAME)), EMPTY_DATA(NAME) }
DT_##NAME, 1, (((uint64_t)1)<<(DT_##NAME)), EMPTY_DATA(NAME) }
#define INIT_BASIC_DATA_WITH_NAME( TYPE, ALIGN, INTERNAL_NAME, NAME, FLAGS ) \
{ BASEOBJ_DATA, sizeof(TYPE), ALIGN, 0, sizeof(TYPE), \
0, sizeof(TYPE), DT_FLAG_BASIC | (FLAGS), \
DT_##INTERNAL_NAME, 1, (((unsigned long long)1)<<(DT_##INTERNAL_NAME)),\
DT_##INTERNAL_NAME, 1, (((uint64_t)1)<<(DT_##INTERNAL_NAME)), \
EMPTY_DATA(NAME) }
#define INIT_UNAVAILABLE_DATA( NAME ) \
@ -76,7 +76,7 @@ int ompi_ddt_dfd = -1;
{ BASEOBJ_DATA, SIZE, ALIGN, 0/*true_lb*/, SIZE/*true_ub*/, \
0/*lb*/, SIZE/*ub*/, \
DT_FLAG_BASIC | DT_FLAG_DATA_FORTRAN | (FLAGS), \
(TYPE), 1, (((unsigned long long)1)<<(TYPE)), EMPTY_DATA(NAME) }
(TYPE), 1, (((uint64_t)1)<<(TYPE)), EMPTY_DATA(NAME) }
#else
#define INIT_BASIC_FORTRAN_TYPE( TYPE, NAME, SIZE, ALIGN, FLAGS ) \
INIT_BASIC_TYPE( TYPE, NAME )
@ -731,7 +731,7 @@ static inline int __dt_contain_basic_datatypes( const ompi_datatype_t* pData, ch
{
int i;
size_t index = 0;
unsigned long long mask = 1;
uint64_t mask = 1;
if( pData->flags & DT_FLAG_USER_LB ) index += snprintf( ptr, length - index, "lb " );
if( pData->flags & DT_FLAG_USER_UB ) index += snprintf( ptr + index, length - index, "ub " );