diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-04-01 15:42:43 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-04-01 15:42:43 (GMT) |
commit | 72e8017eadf211257caceb43095b2aed76e81632 (patch) | |
tree | 0fae8d91bc2587a7b3b44129c5afaf37d4842098 /src/H5trace.c | |
parent | d4c2e51d1e255fde2c0b2e359078cfd0de82720a (diff) | |
parent | c86aedeba1f683daaf0289435450fd4e518fecc4 (diff) | |
download | hdf5-72e8017eadf211257caceb43095b2aed76e81632.zip hdf5-72e8017eadf211257caceb43095b2aed76e81632.tar.gz hdf5-72e8017eadf211257caceb43095b2aed76e81632.tar.bz2 |
[svn-r24940] merge from trunk.
Diffstat (limited to 'src/H5trace.c')
-rw-r--r-- | src/H5trace.c | 77 |
1 files changed, 37 insertions, 40 deletions
diff --git a/src/H5trace.c b/src/H5trace.c index 6dcabd0..a293c4d 100644 --- a/src/H5trace.c +++ b/src/H5trace.c @@ -544,48 +544,45 @@ H5_trace(const double *returning, const char *func, const char *type, ...) } /* end if */ else { H5D_mpio_no_collective_cause_t nocol_cause_mode = (H5D_mpio_no_collective_cause_t)va_arg(ap, int); + hbool_t flag_already_displayed = FALSE; - switch(nocol_cause_mode) { - case H5D_MPIO_COLLECTIVE: - fprintf(out, "H5D_MPIO_COLLECTIVE"); - break; - - case H5D_MPIO_SET_INDEPENDENT: - fprintf(out, "H5D_MPIO_SET_INDEPENDENT"); - break; - - case H5D_MPIO_DATATYPE_CONVERSION: - fprintf(out, "H5D_MPIO_DATATYPE_CONVERSION"); - break; - - case H5D_MPIO_DATA_TRANSFORMS: - fprintf(out, "H5D_MPIO_DATA_TRANSFORMS"); - break; - - case H5D_MPIO_SET_MPIPOSIX: - fprintf(out, "H5D_MPIO_SET_MPIPOSIX"); - break; - - case H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES: - fprintf(out, "H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES"); - break; - - case H5D_MPIO_POINT_SELECTIONS: - fprintf(out, "H5D_MPIO_POINT_SELECTIONS"); - break; - - case H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET: - fprintf(out, "H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET"); - break; - - case H5D_MPIO_FILTERS: - fprintf(out, "H5D_MPIO_FILTERS"); - break; + /* Check for all bit-flags which might be set */ + if(nocol_cause_mode & H5D_MPIO_COLLECTIVE) { + fprintf(out, "H5D_MPIO_COLLECTIVE"); + flag_already_displayed = TRUE; + } /* end if */ + if(nocol_cause_mode & H5D_MPIO_SET_INDEPENDENT) { + fprintf(out, "%sH5D_MPIO_SET_INDEPENDENT", flag_already_displayed ? " | " : ""); + flag_already_displayed = TRUE; + } /* end if */ + if(nocol_cause_mode & H5D_MPIO_DATATYPE_CONVERSION) { + fprintf(out, "%sH5D_MPIO_DATATYPE_CONVERSION", flag_already_displayed ? " | " : ""); + flag_already_displayed = TRUE; + } /* end if */ + if(nocol_cause_mode & H5D_MPIO_DATA_TRANSFORMS) { + fprintf(out, "%sH5D_MPIO_DATA_TRANSFORMS", flag_already_displayed ? " | " : ""); + flag_already_displayed = TRUE; + } /* end if */ + if(nocol_cause_mode & H5D_MPIO_MPI_OPT_TYPES_ENV_VAR_DISABLED) { + fprintf(out, "%sH5D_MPIO_MPI_OPT_TYPES_ENV_VAR_DISABLED", flag_already_displayed ? " | " : ""); + flag_already_displayed = TRUE; + } /* end if */ + if(nocol_cause_mode & H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES) { + fprintf(out, "%sH5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES", flag_already_displayed ? " | " : ""); + flag_already_displayed = TRUE; + } /* end if */ + if(nocol_cause_mode & H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET) { + fprintf(out, "%sH5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET", flag_already_displayed ? " | " : ""); + flag_already_displayed = TRUE; + } /* end if */ + if(nocol_cause_mode & H5D_MPIO_FILTERS) { + fprintf(out, "%sH5D_MPIO_FILTERS", flag_already_displayed ? " | " : ""); + flag_already_displayed = TRUE; + } /* end if */ - default: - fprintf(out, "%ld", (long)nocol_cause_mode); - break; - } /* end switch */ + /* Display '<none>' if there's no flags set */ + if(!flag_already_displayed) + fprintf(out, "<none>"); } /* end else */ break; |