[svn-r9395] Purpose:

Bug fix

Description:
    Correct a couple of array bounds issues exposed by the PGI compiler

Platforms tested:
    Linux 2.4 (verbena) w/PGI compilers
    Too minor too requie h5committest
This commit is contained in:
Quincey Koziol 2004-10-10 14:22:03 -05:00
parent 166580844b
commit e1c1f5cc15
3 changed files with 19 additions and 10 deletions

View File

@ -2695,7 +2695,7 @@ test_named (hid_t fapl)
hid_t file=-1, type=-1, space=-1, dset=-1, t2=-1, attr1=-1;
herr_t status;
static hsize_t ds_size[2] = {10, 20};
hsize_t i;
hsize_t i,j;
unsigned attr_data[10][20];
char filename[1024];
@ -2751,7 +2751,9 @@ test_named (hid_t fapl)
/* It should be possible to define an attribute for the named type */
if ((attr1=H5Acreate (type, "attr1", H5T_NATIVE_UCHAR, space,
H5P_DEFAULT))<0) goto error;
for (i=0; i<ds_size[0]*ds_size[1]; i++) attr_data[0][i] = (int)i;/*tricky*/
for (i=0; i<ds_size[0]; i++)
for (j=0; j<ds_size[1]; j++)
attr_data[i][j] = (int)(i*ds_size[1]+j);
if (H5Awrite(attr1, H5T_NATIVE_UINT, attr_data)<0) goto error;
if (H5Aclose (attr1)<0) goto error;

View File

@ -434,9 +434,9 @@ test_array_array_atomic(void)
/* Compare data read in */
for(i=0; i<SPACE1_DIM1; i++) {
for(j=0; j<ARRAY2_DIM1; j++) {
for(k=0; k<ARRAY2_DIM2; k++) {
for(l=0; l<ARRAY2_DIM3; l++) {
for(j=0; j<ARRAY1_DIM1; j++) {
for(k=0; k<ARRAY3_DIM1; k++) {
for(l=0; l<ARRAY3_DIM2; l++) {
if(wdata[i][j][k][l]!=rdata[i][j][k][l]) {
TestErrPrintf("Array data information doesn't match!, wdata[%d][%d][%d][%d]=%d, rdata[%d][%d][%d][%d]=%d\n",(int)i,(int)j,(int)k,(int)l,(int)wdata[i][j][k][l],(int)i,(int)j,(int)k,(int)l,(int)rdata[i][j][k][l]);
continue;

View File

@ -903,14 +903,17 @@ h5tools_dump_simple_dset(FILE *stream, const h5dump_t *info, hid_t dset,
ctx.p_min_idx[i] = 0;
H5Sget_simple_extent_dims(f_space, total_size, NULL);
ctx.size_last_dim = (total_size[ctx.ndims - 1]);
/* calculate the number of elements we're going to print */
p_nelmts = 1;
if (ctx.ndims > 0)
for (i = 0, p_nelmts = 1; i < ctx.ndims; i++)
if (ctx.ndims > 0) {
for (i = 0; i < ctx.ndims; i++)
p_nelmts *= total_size[i];
ctx.size_last_dim = (total_size[ctx.ndims - 1]);
} /* end if */
else
ctx.size_last_dim = 0;
if (p_nelmts == 0) {
/* nothing to print */
@ -1062,8 +1065,12 @@ h5tools_dump_simple_mem(FILE *stream, const h5dump_t *info, hid_t obj_id,
if (nelmts == 0)
return SUCCEED; /*nothing to print*/
assert(ctx.p_max_idx[ctx.ndims - 1]==(hsize_t)((int)ctx.p_max_idx[ctx.ndims - 1]));
ctx.size_last_dim = (int)(ctx.p_max_idx[ctx.ndims - 1]);
if(ctx.ndims>0) {
assert(ctx.p_max_idx[ctx.ndims - 1]==(hsize_t)((int)ctx.p_max_idx[ctx.ndims - 1]));
ctx.size_last_dim = (int)(ctx.p_max_idx[ctx.ndims - 1]);
} /* end if */
else
ctx.size_last_dim = 0;
/* Print it */
h5tools_dump_simple_data(stream, info, obj_id, &ctx,