diff --git a/src/Infrastructure/Base/src/ESMC_InfoCDef.C b/src/Infrastructure/Base/src/ESMC_InfoCDef.C index ad91dd5de5..58c959fc25 100644 --- a/src/Infrastructure/Base/src/ESMC_InfoCDef.C +++ b/src/Infrastructure/Base/src/ESMC_InfoCDef.C @@ -270,7 +270,7 @@ void ESMC_InfoIsEqual(ESMCI::Info *lhs, ESMCI::Info *rhs, int &res, int &esmc_rc esmc_rc = ESMF_FAILURE; try { -#if defined (__INTEL_COMPILER) || defined (__INTEL_LLVM_COMPILER) +#if (defined __INTEL_COMPILER) || (defined __INTEL_LLVM_COMPILER) || (defined __NVCOMPILER) // TODO: This is not efficient but required for a peculiar situation with // Intel and Intel MPI. I think it has something to do with unsigned integer // and integer comparison following deserialization. diff --git a/src/Infrastructure/LocalArray/src/ESMCI_LocalArray.C b/src/Infrastructure/LocalArray/src/ESMCI_LocalArray.C index 2ce61a201c..50a8906ef3 100644 --- a/src/Infrastructure/LocalArray/src/ESMCI_LocalArray.C +++ b/src/Infrastructure/LocalArray/src/ESMCI_LocalArray.C @@ -65,7 +65,7 @@ extern "C" { void FTN_X(f_esmf_localarraycopyf90ptr)(const ESMCI::LocalArray** laIn, ESMCI::LocalArray** laOut, ESMCI::DataCopyFlag *copyflag, int *rc); - void FTN_X(f_esmf_localarrayctof90)(ESMCI::LocalArray**, void *, int *, + void FTN_X(f_esmf_localarrayctof90)(ESMCI::LocalArray**, void **, int *, ESMC_TypeKind_Flag*, int *, int *, int *, int *); #ifndef ESMF_NO_INTEGER_1_BYTE @@ -211,7 +211,7 @@ int LocalArray::construct( }else if (docopy == DATACOPY_REFERENCE){ // call into Fortran to cast ibase_addr to Fortran pointer LocalArray *aptr = this; - FTN_X(f_esmf_localarrayctof90)(&aptr, ibase_addr, &rank, &typekind, counts, + FTN_X(f_esmf_localarrayctof90)(&aptr, &ibase_addr, &rank, &typekind, counts, lbound, ubound, &localrc); if (ESMC_LogDefault.MsgFoundError(localrc, ESMCI_ERR_PASSTHRU, ESMC_CONTEXT, &rc)) return rc; diff --git a/src/Superstructure/InfoAPI/tests/ESMF_InfoSyncUTest.F90 b/src/Superstructure/InfoAPI/tests/ESMF_InfoSyncUTest.F90 index ad277b71e0..78958f9d11 100644 --- a/src/Superstructure/InfoAPI/tests/ESMF_InfoSyncUTest.F90 +++ b/src/Superstructure/InfoAPI/tests/ESMF_InfoSyncUTest.F90 @@ -211,7 +211,7 @@ program ESMF_InfoSyncUTest if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT) end if - if (localPet == 0) then + if (localPet == rootPet) then call desired_eidesc%Initialize(addObjectInfo=.true., rc=rc) if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT) @@ -224,7 +224,7 @@ program ESMF_InfoSyncUTest if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT) end if - call ESMF_InfoBroadcast(desired_info, 0, rc=rc) + call ESMF_InfoBroadcast(desired_info, rootPet, rc=rc) if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT) call ESMF_InfoSync(state, rootPet, vm, rc=rc) @@ -325,7 +325,7 @@ program ESMF_InfoSyncUTest call eidesc%Destroy(rc=rc) if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT) - if (localPet == 0) then + if (localPet == rootPet) then call desired_eidesc%Destroy(rc=rc) if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT) else