Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_read.c.gcov 18: -: 13: ADIO_Offset offset, ADIO_Status *status, int *error_code) 19: function ADIOI_NFS_ReadContig called 0 returned 0% blocks executed 0% 20: #####: 14:{ 21: #####: 15: int err=-1, datatype_size, len; 22: -: 16: static char myname[] = "ADIOI_NFS_READCONTIG"; 23: -: 17: 24: #####: 18: MPI_Type_size(datatype, &datatype_size); 25: call 0 never executed 26: #####: 19: len = datatype_size * count; 27: -: 20: 28: #####: 21: if (file_ptr_type == ADIO_EXPLICIT_OFFSET) { 29: branch 0 never executed 30: branch 1 never executed 31: #####: 22: if (fd->fp_sys_posn != offset) { 35: -: 24: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 36: -: 25:#endif 37: #####: 26: lseek(fd->fd_sys, offset, SEEK_SET); 41: -: 29:#endif 42: -: 30: } 43: #####: 31: if (fd->atomicity) 44: branch 0 never executed 45: branch 1 never executed 46: #####: 32: ADIOI_WRITE_LOCK(fd, offset, SEEK_SET, len); 47: call 0 never executed 48: #####: 33: else ADIOI_READ_LOCK(fd, offset, SEEK_SET, len); 51: -: 35: MPE_Log_event( ADIOI_MPE_read_a, 0, NULL ); 52: -: 36:#endif 53: #####: 37: err = read(fd->fd_sys, buf, len); 56: -: 39: MPE_Log_event( ADIOI_MPE_read_b, 0, NULL ); 57: -: 40:#endif 58: #####: 41: ADIOI_UNLOCK(fd, offset, SEEK_SET, len); 59: call 0 never executed 60: #####: 42: fd->fp_sys_posn = offset + err; 62: -: 44: } 63: -: 45: else { /* read from curr. location of ind. file pointer */ 64: #####: 46: offset = fd->fp_ind; 65: #####: 47: if (fd->fp_sys_posn != fd->fp_ind) { 69: -: 49: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 70: -: 50:#endif 71: #####: 51: lseek(fd->fd_sys, fd->fp_ind, SEEK_SET); 75: -: 54:#endif 76: -: 55: } 77: #####: 56: if (fd->atomicity) 78: branch 0 never executed 79: branch 1 never executed 80: #####: 57: ADIOI_WRITE_LOCK(fd, offset, SEEK_SET, len); 81: call 0 never executed 82: #####: 58: else ADIOI_READ_LOCK(fd, offset, SEEK_SET, len); 85: -: 60: MPE_Log_event( ADIOI_MPE_read_a, 0, NULL ); 86: -: 61:#endif 87: #####: 62: err = read(fd->fd_sys, buf, len); 90: -: 64: MPE_Log_event( ADIOI_MPE_read_b, 0, NULL ); 91: -: 65:#endif 92: #####: 66: ADIOI_UNLOCK(fd, offset, SEEK_SET, len); 93: call 0 never executed 94: #####: 67: fd->fp_ind += err; 95: #####: 68: fd->fp_sys_posn = fd->fp_ind; 111: -: 79: 112: -: 80:#ifdef HAVE_STATUS_SET_BYTES 113: #####: 81: MPIR_Status_set_bytes(status, datatype, err); 115: -: 82:#endif 116: -: 83: 117: #####: 84: *error_code = MPI_SUCCESS; 198: -: 165: *error_code) 199: function ADIOI_NFS_ReadStrided called 0 returned 0% blocks executed 0% 200: #####: 166:{ 202: -: 168: 203: -: 169: ADIOI_Flatlist_node *flat_buf, *flat_file; 204: #####: 170: int i, j, k, err=-1, brd_size, frd_size=0, st_index=0; 205: -: 171: int bufsize, num, size, sum, n_etypes_in_filetype, size_in_filetype; 206: -: 172: int n_filetypes, etype_in_filetype; 207: #####: 173: ADIO_Offset abs_off_in_filetype=0; 210: -: 176: int buf_count, buftype_is_contig, filetype_is_contig; 211: -: 177: ADIO_Offset userbuf_off; 212: #####: 178: ADIO_Offset off, req_off, disp, end_offset=0, readbuf_off, start_off; 213: -: 179: char *readbuf, *tmp_buf, *value; 214: -: 180: int flag, st_frd_size, st_n_filetypes, readbuf_len; 215: #####: 181: int new_brd_size, new_frd_size, err_flag=0, info_flag, max_bufsize; 217: -: 183: static char myname[] = "ADIOI_NFS_READSTRIDED"; 218: -: 184: 219: #####: 185: ADIOI_Datatype_iscontig(datatype, &buftype_is_contig); 220: call 0 never executed 221: #####: 186: ADIOI_Datatype_iscontig(fd->filetype, &filetype_is_contig); 222: call 0 never executed 223: -: 187: 224: #####: 188: MPI_Type_size(fd->filetype, &filetype_size); 225: call 0 never executed 226: #####: 189: if ( ! filetype_size ) { 227: branch 0 never executed 228: branch 1 never executed 229: #####: 190: *error_code = MPI_SUCCESS; 230: #####: 191: return; 231: -: 192: } 232: -: 193: 233: #####: 194: MPI_Type_extent(fd->filetype, &filetype_extent); 234: call 0 never executed 235: #####: 195: MPI_Type_size(datatype, &buftype_size); 236: call 0 never executed 237: #####: 196: MPI_Type_extent(datatype, &buftype_extent); 238: call 0 never executed 239: #####: 197: etype_size = fd->etype_size; 240: -: 198: 241: #####: 199: bufsize = buftype_size * count; 243: -: 201:/* get max_bufsize from the info object. */ 244: -: 202: 245: #####: 203: value = (char *) ADIOI_Malloc((MPI_MAX_INFO_VAL+1)*sizeof(char)); 246: call 0 never executed 247: #####: 204: MPI_Info_get(fd->info, "ind_rd_buffer_size", MPI_MAX_INFO_VAL, value, 248: call 0 never executed 249: -: 205: &info_flag); 250: #####: 206: max_bufsize = atoi(value); 251: call 0 never executed 252: #####: 207: ADIOI_Free(value); 253: call 0 never executed 254: -: 208: 255: #####: 209: if (!buftype_is_contig && filetype_is_contig) { 261: -: 211:/* noncontiguous in memory, contiguous in file. */ 262: -: 212: 263: #####: 213: ADIOI_Flatten_datatype(datatype); 264: call 0 never executed 265: #####: 214: flat_buf = ADIOI_Flatlist; 266: #####: 215: while (flat_buf->type != datatype) flat_buf = flat_buf->next; 268: branch 1 never executed 269: -: 216: 270: #####: 217: off = (file_ptr_type == ADIO_INDIVIDUAL) ? fd->fp_ind : 273: -: 218: fd->disp + etype_size * offset; 274: -: 219: 275: #####: 220: start_off = off; 276: #####: 221: end_offset = off + bufsize - 1; 277: #####: 222: readbuf_off = off; 278: #####: 223: readbuf = (char *) ADIOI_Malloc(max_bufsize); 279: call 0 never executed 280: #####: 224: readbuf_len = (int) (ADIOI_MIN(max_bufsize, end_offset-readbuf_off+1)); 281: -: 225: 282: -: 226:/* if atomicity is true, lock (exclusive) the region to be accessed */ 283: #####: 227: if (fd->atomicity) 284: branch 0 never executed 285: branch 1 never executed 286: #####: 228: ADIOI_WRITE_LOCK(fd, start_off, SEEK_SET, end_offset-start_off+1); 290: -: 231: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 291: -: 232:#endif 292: #####: 233: lseek(fd->fd_sys, readbuf_off, SEEK_SET); 295: -: 235: MPE_Log_event( ADIOI_MPE_lseek_b, 0, NULL ); 296: -: 236:#endif 297: #####: 237: if (!(fd->atomicity)) ADIOI_READ_LOCK(fd, readbuf_off, SEEK_SET, readbuf_len); 302: -: 239: MPE_Log_event( ADIOI_MPE_read_a, 0, NULL ); 303: -: 240:#endif 304: #####: 241: err = read(fd->fd_sys, readbuf, readbuf_len); 307: -: 243: MPE_Log_event( ADIOI_MPE_read_b, 0, NULL ); 308: -: 244:#endif 309: #####: 245: if (!(fd->atomicity)) ADIOI_UNLOCK(fd, readbuf_off, SEEK_SET, readbuf_len); 311: branch 1 never executed 312: call 2 never executed 313: #####: 246: if (err == -1) err_flag = 1; 315: branch 1 never executed 316: -: 247: 317: #####: 248: for (j=0; jcount; i++) { 321: branch 0 never executed 322: branch 1 never executed 323: #####: 250: userbuf_off = j*buftype_extent + flat_buf->indices[i]; 324: #####: 251: req_off = off; 325: #####: 252: req_len = flat_buf->blocklens[i]; 326: #####: 253: ADIOI_BUFFERED_READ 356: branch 29 never executed 357: call 30 never executed 358: #####: 254: off += flat_buf->blocklens[i]; 359: -: 255: } 360: -: 256: 361: #####: 257: if (fd->atomicity) 362: branch 0 never executed 363: branch 1 never executed 364: #####: 258: ADIOI_UNLOCK(fd, start_off, SEEK_SET, end_offset-start_off+1); 365: call 0 never executed 366: -: 259: 367: #####: 260: if (file_ptr_type == ADIO_INDIVIDUAL) fd->fp_ind = off; 369: branch 1 never executed 370: -: 261: 371: #####: 262: ADIOI_Free(readbuf); /* malloced in the buffered_read macro */ 372: call 0 never executed 373: -: 263: 374: #####: 264: if (err_flag) { 375: branch 0 never executed 376: branch 1 never executed 377: #####: 265: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 383: -: 268: "**io %s", strerror(errno)); 384: -: 269: } 385: #####: 270: else *error_code = MPI_SUCCESS; 389: -: 274: 390: -: 275:/* filetype already flattened in ADIO_Open */ 391: #####: 276: flat_file = ADIOI_Flatlist; 392: #####: 277: while (flat_file->type != fd->filetype) flat_file = flat_file->next; 393: branch 0 never executed 394: branch 1 never executed 395: #####: 278: disp = fd->disp; 396: -: 279: 397: #####: 280: if (file_ptr_type == ADIO_INDIVIDUAL) { 399: branch 1 never executed 400: -: 281: /* Wei-keng reworked type processing to be a bit more efficient */ 401: #####: 282: offset = fd->fp_ind - disp; 402: #####: 283: n_filetypes = (offset - flat_file->indices[0]) / filetype_extent; 403: #####: 284: offset -= (ADIO_Offset)n_filetypes * filetype_extent; 405: -: 286: 406: -: 287: /* find the block where offset is located, skip blocklens[i]==0 */ 407: #####: 288: for (i=0; icount; i++) { 409: branch 1 never executed 410: -: 289: ADIO_Offset dist; 411: #####: 290: if (flat_file->blocklens[i] == 0) continue; 412: branch 0 never executed 413: branch 1 never executed 414: #####: 291: dist = flat_file->indices[i] + flat_file->blocklens[i] - offset; 415: -: 292: /* frd_size is from offset to the end of block i */ 416: #####: 293: if (dist == 0) { 417: branch 0 never executed 418: branch 1 never executed 419: #####: 294: i++; 420: #####: 295: offset = flat_file->indices[i]; 421: #####: 296: frd_size = flat_file->blocklens[i]; 422: #####: 297: break; 423: -: 298: } 424: #####: 299: if (dist > 0 ) { 425: branch 0 never executed 426: branch 1 never executed 427: #####: 300: frd_size = dist; 428: #####: 301: break; 429: -: 302: } 430: -: 303: } 431: #####: 304: st_index = i; /* starting index in flat_file->indices[] */ 432: #####: 305: offset += disp + (ADIO_Offset)n_filetypes*filetype_extent; 433: -: 306: } 434: -: 307: else { 435: #####: 308: n_etypes_in_filetype = filetype_size/etype_size; 436: #####: 309: n_filetypes = (int) (offset / n_etypes_in_filetype); 437: #####: 310: etype_in_filetype = (int) (offset % n_etypes_in_filetype); 438: #####: 311: size_in_filetype = etype_in_filetype * etype_size; 439: -: 312: 440: #####: 313: sum = 0; 441: #####: 314: for (i=0; icount; i++) { 442: branch 0 never executed 443: branch 1 never executed 444: #####: 315: sum += flat_file->blocklens[i]; 445: #####: 316: if (sum > size_in_filetype) { 446: branch 0 never executed 447: branch 1 never executed 448: #####: 317: st_index = i; 449: #####: 318: frd_size = sum - size_in_filetype; 450: #####: 319: abs_off_in_filetype = flat_file->indices[i] + 451: -: 320: size_in_filetype - (sum - flat_file->blocklens[i]); 452: #####: 321: break; 455: -: 324: 456: -: 325: /* abs. offset in bytes in the file */ 457: #####: 326: offset = disp + (ADIO_Offset) n_filetypes*filetype_extent + 459: -: 328: } 460: -: 329: 461: #####: 330: start_off = offset; 464: -: 333: * block e.g. with subarray types that actually describe the whole 465: -: 334: * array */ 466: #####: 335: if (buftype_is_contig && bufsize <= frd_size) { 467: branch 0 never executed 468: branch 1 never executed 469: #####: 336: ADIO_ReadContig(fd, buf, bufsize, MPI_BYTE, ADIO_EXPLICIT_OFFSET, 471: -: 337: offset, status, error_code); 472: -: 338: 473: #####: 339: if (file_ptr_type == ADIO_INDIVIDUAL) { 476: -: 340: /* update MPI-IO file pointer to point to the first byte that 477: -: 341: * can be accessed in the fileview. */ 478: #####: 342: fd->fp_ind = offset + bufsize; 479: #####: 343: if (bufsize == frd_size) { 481: branch 1 never executed 482: -: 344: do { 483: #####: 345: st_index++; 484: #####: 346: if (st_index == flat_file->count) { 485: branch 0 never executed 486: branch 1 never executed 487: #####: 347: st_index = 0; 488: #####: 348: n_filetypes++; 489: -: 349: } 490: #####: 350: } while (flat_file->blocklens[st_index] == 0); 491: branch 0 never executed 492: branch 1 never executed 493: #####: 351: fd->fp_ind = disp + flat_file->indices[st_index] 495: -: 353: } 496: -: 354: } 497: #####: 355: fd->fp_sys_posn = -1; /* set it to null. */ 498: -: 356:#ifdef HAVE_STATUS_SET_BYTES 499: #####: 357: MPIR_Status_set_bytes(status, datatype, bufsize); 500: call 0 never executed 501: -: 358:#endif 502: #####: 359: return; 506: -: 363: e.g., if start_offset=0 and 100 bytes to be read, end_offset=99*/ 507: -: 364: 508: #####: 365: st_frd_size = frd_size; 509: #####: 366: st_n_filetypes = n_filetypes; 510: #####: 367: i = 0; 511: #####: 368: j = st_index; 512: #####: 369: off = offset; 513: #####: 370: frd_size = ADIOI_MIN(st_frd_size, bufsize); 514: #####: 371: while (i < bufsize) { 515: branch 0 never executed 516: branch 1 never executed 517: #####: 372: i += frd_size; 518: #####: 373: end_offset = off + frd_size - 1; 519: #####: 374: j = (j+1) % flat_file->count; 520: #####: 375: n_filetypes += (j == 0) ? 1 : 0; 521: #####: 376: while (flat_file->blocklens[j]==0) { 522: branch 0 never executed 523: branch 1 never executed 524: #####: 377: j = (j+1) % flat_file->count; 525: #####: 378: n_filetypes += (j == 0) ? 1 : 0; 526: -: 379: } 527: -: 380: 528: #####: 381: off = disp + flat_file->indices[j] + (ADIO_Offset) n_filetypes*filetype_extent; 529: #####: 382: frd_size = ADIOI_MIN(flat_file->blocklens[j], bufsize-i); 531: -: 384: 532: -: 385:/* if atomicity is true, lock (exclusive) the region to be accessed */ 533: #####: 386: if (fd->atomicity) 534: branch 0 never executed 535: branch 1 never executed 536: #####: 387: ADIOI_WRITE_LOCK(fd, start_off, SEEK_SET, end_offset-start_off+1); 538: -: 388: 539: -: 389: /* initial read into readbuf */ 540: #####: 390: readbuf_off = offset; 541: #####: 391: readbuf = (char *) ADIOI_Malloc(max_bufsize); 542: call 0 never executed 543: #####: 392: readbuf_len = (int) (ADIOI_MIN(max_bufsize, end_offset-readbuf_off+1)); 546: -: 395: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 547: -: 396:#endif 548: #####: 397: lseek(fd->fd_sys, offset, SEEK_SET); 551: -: 399: MPE_Log_event( ADIOI_MPE_lseek_b, 0, NULL ); 552: -: 400:#endif 553: #####: 401: if (!(fd->atomicity)) ADIOI_READ_LOCK(fd, offset, SEEK_SET, readbuf_len); 558: -: 403: MPE_Log_event( ADIOI_MPE_read_a, 0, NULL ); 559: -: 404:#endif 560: #####: 405: err = read(fd->fd_sys, readbuf, readbuf_len); 563: -: 407: MPE_Log_event( ADIOI_MPE_read_b, 0, NULL ); 564: -: 408:#endif 565: #####: 409: if (!(fd->atomicity)) ADIOI_UNLOCK(fd, offset, SEEK_SET, readbuf_len); 568: call 2 never executed 569: -: 410: 570: #####: 411: if (err == -1) err_flag = 1; 572: branch 1 never executed 573: -: 412: 574: #####: 413: if (buftype_is_contig && !filetype_is_contig) { 581: -: 416: common case. */ 582: -: 417: 583: #####: 418: i = 0; 584: #####: 419: j = st_index; 585: #####: 420: off = offset; 586: #####: 421: n_filetypes = st_n_filetypes; 587: #####: 422: frd_size = ADIOI_MIN(st_frd_size, bufsize); 588: #####: 423: while (i < bufsize) { 589: branch 0 never executed 590: branch 1 never executed 591: #####: 424: if (frd_size) { 597: -: 428: err = read(fd->fd_sys, ((char *) buf) + i, frd_size);*/ 598: -: 429: 599: #####: 430: req_off = off; 600: #####: 431: req_len = frd_size; 601: #####: 432: userbuf_off = i; 602: #####: 433: ADIOI_BUFFERED_READ 633: call 30 never executed 634: -: 434: } 635: #####: 435: i += frd_size; 636: -: 436: 637: #####: 437: if (off + frd_size < disp + flat_file->indices[j] + 639: branch 1 never executed 640: -: 438: flat_file->blocklens[j] + (ADIO_Offset) n_filetypes*filetype_extent) 641: #####: 439: off += frd_size; 643: -: 441: no more I/O needed. off is incremented by frd_size. */ 644: -: 442: else { 645: #####: 443: j = (j+1) % flat_file->count; 646: #####: 444: n_filetypes += (j == 0) ? 1 : 0; 647: #####: 445: while (flat_file->blocklens[j]==0) { 648: branch 0 never executed 649: branch 1 never executed 650: #####: 446: j = (j+1) % flat_file->count; 651: #####: 447: n_filetypes += (j == 0) ? 1 : 0; 652: -: 448: } 653: #####: 449: off = disp + flat_file->indices[j] + 654: -: 450: (ADIO_Offset) n_filetypes*filetype_extent; 655: #####: 451: frd_size = ADIOI_MIN(flat_file->blocklens[j], bufsize-i); 660: -: 456:/* noncontiguous in memory as well as in file */ 661: -: 457: 662: #####: 458: ADIOI_Flatten_datatype(datatype); 663: call 0 never executed 664: #####: 459: flat_buf = ADIOI_Flatlist; 665: #####: 460: while (flat_buf->type != datatype) flat_buf = flat_buf->next; 667: branch 1 never executed 668: -: 461: 669: #####: 462: k = num = buf_count = 0; 670: #####: 463: i = (int) (flat_buf->indices[0]); 671: #####: 464: j = st_index; 672: #####: 465: off = offset; 673: #####: 466: n_filetypes = st_n_filetypes; 674: #####: 467: frd_size = st_frd_size; 675: #####: 468: brd_size = flat_buf->blocklens[0]; 676: -: 469: 677: #####: 470: while (num < bufsize) { 678: branch 0 never executed 679: branch 1 never executed 680: #####: 471: size = ADIOI_MIN(frd_size, brd_size); 681: #####: 472: if (size) { 685: -: 474: err = read(fd->fd_sys, ((char *) buf) + i, size); */ 686: -: 475: 687: #####: 476: req_off = off; 688: #####: 477: req_len = size; 689: #####: 478: userbuf_off = i; 690: #####: 479: ADIOI_BUFFERED_READ 722: -: 480: } 723: -: 481: 724: #####: 482: new_frd_size = frd_size; 725: #####: 483: new_brd_size = brd_size; 726: -: 484: 727: #####: 485: if (size == frd_size) { 729: branch 1 never executed 730: -: 486:/* reached end of contiguous block in file */ 731: #####: 487: j = (j+1) % flat_file->count; 732: #####: 488: n_filetypes += (j == 0) ? 1 : 0; 733: #####: 489: while (flat_file->blocklens[j]==0) { 734: branch 0 never executed 735: branch 1 never executed 736: #####: 490: j = (j+1) % flat_file->count; 737: #####: 491: n_filetypes += (j == 0) ? 1 : 0; 738: -: 492: } 739: #####: 493: off = disp + flat_file->indices[j] + 740: -: 494: (ADIO_Offset) n_filetypes*filetype_extent; 741: -: 495: 742: #####: 496: new_frd_size = flat_file->blocklens[j]; 743: #####: 497: if (size != brd_size) { 744: branch 0 never executed 745: branch 1 never executed 746: #####: 498: i += size; 747: #####: 499: new_brd_size -= size; 749: -: 501: } 750: -: 502: 751: #####: 503: if (size == brd_size) { 754: -: 504:/* reached end of contiguous block in memory */ 755: -: 505: 756: #####: 506: k = (k + 1)%flat_buf->count; 757: #####: 507: buf_count++; 758: #####: 508: i = (int) (buftype_extent*(buf_count/flat_buf->count) + 759: -: 509: flat_buf->indices[k]); 760: #####: 510: new_brd_size = flat_buf->blocklens[k]; 761: #####: 511: if (size != frd_size) { 762: branch 0 never executed 763: branch 1 never executed 764: #####: 512: off += size; 765: #####: 513: new_frd_size -= size; 766: -: 514: } 767: -: 515: } 768: #####: 516: num += size; 769: #####: 517: frd_size = new_frd_size; 770: #####: 518: brd_size = new_brd_size; 772: -: 520: } 773: -: 521: 774: #####: 522: if (fd->atomicity) 775: branch 0 never executed 776: branch 1 never executed 777: #####: 523: ADIOI_UNLOCK(fd, start_off, SEEK_SET, end_offset-start_off+1); 778: call 0 never executed 779: -: 524: 780: #####: 525: if (file_ptr_type == ADIO_INDIVIDUAL) fd->fp_ind = off; 782: branch 1 never executed 783: -: 526: 784: #####: 527: ADIOI_Free(readbuf); /* malloced in the buffered_read macro */ 785: call 0 never executed 786: -: 528: 787: #####: 529: if (err_flag) { 788: branch 0 never executed 789: branch 1 never executed 790: #####: 530: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 796: -: 533: "**io %s", strerror(errno)); 797: -: 534: } 798: #####: 535: else *error_code = MPI_SUCCESS; 799: -: 536: } 800: -: 537: 801: #####: 538: fd->fp_sys_posn = -1; /* set it to null. */ 802: -: 539: 803: -: 540:#ifdef HAVE_STATUS_SET_BYTES 804: #####: 541: MPIR_Status_set_bytes(status, datatype, bufsize); 809: -: 545:#endif 810: -: 546: 811: #####: 547: if (!buftype_is_contig) ADIOI_Delete_flattened(datatype); 223 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_read.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_open.c.gcov 15: -: 10:void ADIOI_NFS_Open(ADIO_File fd, int *error_code) 16: function ADIOI_NFS_Open called 0 returned 0% blocks executed 0% 17: #####: 11:{ 20: -: 14: static char myname[] = "ADIOI_NFS_OPEN"; 21: -: 15: 22: #####: 16: if (fd->perm == ADIO_PERM_NULL) { 23: branch 0 never executed 24: branch 1 never executed 25: #####: 17: old_mask = umask(022); 26: call 0 never executed 27: #####: 18: umask(old_mask); 28: call 0 never executed 29: #####: 19: perm = old_mask ^ 0666; 30: -: 20: } 31: #####: 21: else perm = fd->perm; 32: -: 22: 33: #####: 23: amode = 0; 34: #####: 24: if (fd->access_mode & ADIO_CREATE) 35: branch 0 never executed 36: branch 1 never executed 37: #####: 25: amode = amode | O_CREAT; 38: #####: 26: if (fd->access_mode & ADIO_RDONLY) 39: branch 0 never executed 40: branch 1 never executed 41: #####: 27: amode = amode | O_RDONLY; 42: #####: 28: if (fd->access_mode & ADIO_WRONLY) 43: branch 0 never executed 44: branch 1 never executed 45: #####: 29: amode = amode | O_WRONLY; 46: #####: 30: if (fd->access_mode & ADIO_RDWR) 47: branch 0 never executed 48: branch 1 never executed 49: #####: 31: amode = amode | O_RDWR; 50: #####: 32: if (fd->access_mode & ADIO_EXCL) 51: branch 0 never executed 52: branch 1 never executed 53: #####: 33: amode = amode | O_EXCL; 56: -: 36: MPE_Log_event( ADIOI_MPE_open_a, 0, NULL ); 57: -: 37:#endif 58: #####: 38: fd->fd_sys = open(fd->filename, amode, perm); 61: -: 40: MPE_Log_event( ADIOI_MPE_open_b, 0, NULL ); 62: -: 41:#endif 63: #####: 42: fd->fd_direct = -1; 64: -: 43: 65: #####: 44: if ((fd->fd_sys != -1) && (fd->access_mode & ADIO_APPEND)) { 71: -: 46: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 72: -: 47:#endif 73: #####: 48: fd->fp_ind = fd->fp_sys_posn = lseek(fd->fd_sys, 0, SEEK_END); 78: -: 52: } 79: -: 53: 80: #####: 54: if (fd->fd_sys == -1) { 83: -: 55: /* Check for special error codes for those MPI error 84: -: 56: classes that relate to particular problems */ 85: #####: 57: if (errno == ENAMETOOLONG) 87: branch 1 never executed 88: branch 2 never executed 89: #####: 58: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 96: -: 63: fd->filename, 97: -: 64: strlen(fd->filename)); 98: #####: 65: else if (errno == ENOENT) 100: branch 1 never executed 101: branch 2 never executed 102: #####: 66: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 107: -: 70: "**filenoexist %s", 108: -: 71: fd->filename); 109: #####: 72: else if (errno == ENOTDIR || errno == ELOOP) 111: branch 1 never executed 112: branch 2 never executed 113: #####: 73: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 118: -: 77: "**filenamedir %s", 119: -: 78: fd->filename); 120: #####: 79: else if (errno == EACCES) { 122: branch 1 never executed 123: branch 2 never executed 124: #####: 80: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 130: -: 85: fd->filename); 131: -: 86: } 132: #####: 87: else if (errno == EROFS) { 135: branch 2 never executed 136: -: 88: /* Read only file or file system and write access requested */ 137: #####: 89: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 142: -: 93: } 143: -: 94: else { 144: #####: 95: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 151: -: 99: } 152: -: 100: } 153: #####: 101: else *error_code = MPI_SUCCESS; 34 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_open.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_done.c.gcov 15: -: 10: int *error_code) 16: function ADIOI_NFS_ReadDone called 0 returned 0% blocks executed 0% 17: #####: 11:{ 18: #####: 12: *error_code = MPI_SUCCESS; 19: #####: 13: return 1; 22: -: 16: int *error_code) 23: function ADIOI_NFS_WriteDone called 0 returned 0% blocks executed 0% 24: #####: 17:{ 25: #####: 18: return ADIOI_NFS_ReadDone(request, status, error_code); 5 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_done.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_fcntl.c.gcov 19: -: 14:void ADIOI_NFS_Fcntl(ADIO_File fd, int flag, ADIO_Fcntl_t *fcntl_struct, int *error_code) 20: function ADIOI_NFS_Fcntl called 0 returned 0% blocks executed 0% 21: #####: 15:{ 22: -: 16: static char myname[] = "ADIOI_NFS_FCNTL"; 23: -: 17: 24: #####: 18: switch(flag) { 28: branch 3 never executed 29: -: 19: case ADIO_FCNTL_GET_FSIZE: 30: #####: 20: ADIOI_READ_LOCK(fd, 0, SEEK_SET, 1); 33: -: 22: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 34: -: 23:#endif 35: #####: 24: fcntl_struct->fsize = lseek(fd->fd_sys, 0, SEEK_END); 38: -: 26: MPE_Log_event( ADIOI_MPE_lseek_b, 0, NULL ); 39: -: 27:#endif 40: #####: 28: ADIOI_UNLOCK(fd, 0, SEEK_SET, 1); 41: call 0 never executed 42: #####: 29: if (fd->fp_sys_posn != -1) { 46: -: 31: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 47: -: 32:#endif 48: #####: 33: lseek(fd->fd_sys, fd->fp_sys_posn, SEEK_SET); 52: -: 36:#endif 53: -: 37: } 54: #####: 38: if (fcntl_struct->fsize == -1) { 55: branch 0 never executed 56: branch 1 never executed 57: #####: 39: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 63: -: 42: "**io %s", strerror(errno)); 64: -: 43: } 65: #####: 44: else *error_code = MPI_SUCCESS; 67: -: 46: 68: -: 47: case ADIO_FCNTL_SET_DISKSPACE: 69: #####: 48: ADIOI_GEN_Prealloc(fd, fcntl_struct->diskspace, error_code); 70: call 0 never executed 71: #####: 49: break; 72: -: 50: 73: -: 51: case ADIO_FCNTL_SET_ATOMICITY: 74: #####: 52: fd->atomicity = (fcntl_struct->atomicity == 0) ? 0 : 1; 75: #####: 53: *error_code = MPI_SUCCESS; 76: #####: 54: break; 15 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_fcntl.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_iwrite.c.gcov 26: -: 21: ADIO_Offset offset, ADIO_Request *request, int *error_code) 27: function ADIOI_NFS_IwriteContig called 0 returned 0% blocks executed 0% 28: #####: 22:{ 29: -: 23: int len, typesize; 30: #####: 24: int aio_errno = 0; 31: -: 25: static char myname[] = "ADIOI_NFS_IWRITECONTIG"; 32: -: 26: 33: #####: 27: MPI_Type_size(datatype, &typesize); 34: call 0 never executed 35: #####: 28: len = count * typesize; 36: -: 29: 37: #####: 30: if (file_ptr_type == ADIO_INDIVIDUAL) offset = fd->fp_ind; 38: branch 0 never executed 39: branch 1 never executed 40: #####: 31: aio_errno = ADIOI_NFS_aio(fd, buf, len, offset, 1, request); 41: call 0 never executed 42: #####: 32: if (file_ptr_type == ADIO_INDIVIDUAL) fd->fp_ind += len; 44: branch 1 never executed 45: -: 33: 46: #####: 34: fd->fp_sys_posn = -1; 47: -: 35: 48: #####: 36: if (aio_errno != 0) { 56: branch 1 never executed 57: -: 41: } 58: #####: 42: else *error_code = MPI_SUCCESS; 59: #####: 43: return; 71: -: 55: int wr, MPI_Request *request) 72: function ADIOI_NFS_aio called 0 returned 0% blocks executed 0% 73: #####: 56:{ 74: #####: 57: int err=-1, fd_sys; 78: -: 61: ADIOI_AIO_Request *aio_req; 79: -: 62: 80: #####: 63: fd_sys = fd->fd_sys; 81: -: 64: 82: #####: 65: aio_req = (ADIOI_AIO_Request*)ADIOI_Calloc(sizeof(ADIOI_AIO_Request), 1); 83: call 0 never executed 84: #####: 66: aiocbp = (struct aiocb *) ADIOI_Calloc(sizeof(struct aiocb), 1); 85: call 0 never executed 86: #####: 67: aiocbp->aio_offset = offset; 87: #####: 68: aiocbp->aio_buf = buf; 88: #####: 69: aiocbp->aio_nbytes = len; 92: -: 73:#endif 93: -: 74:#ifdef ROMIO_HAVE_STRUCT_AIOCB_WITH_AIO_FILDES 94: #####: 75: aiocbp->aio_fildes = fd_sys; 98: -: 79: aiocbp->aio_sigevent.sigev_notify = SIGEV_NONE; 99: -: 80:# endif 100: #####: 81: aiocbp->aio_sigevent.sigev_signo = 0; 104: -: 85: aiocbp->aio_reqprio = AIO_PRIO_DFL; /* not needed in DEC Unix 4.0 */ 105: -: 86:# else 106: #####: 87: aiocbp->aio_reqprio = 0; 108: -: 89:#endif 109: -: 90: 110: #####: 91: if (wr) ADIOI_WRITE_LOCK(fd, offset, SEEK_SET, len); 112: branch 1 never executed 113: call 2 never executed 114: #####: 92: else ADIOI_READ_LOCK(fd, offset, SEEK_SET, len); 116: -: 93: 117: -: 94:#ifndef ROMIO_HAVE_AIO_CALLS_NEED_FILEDES 118: #####: 95: if (wr) err = aio_write(aiocbp); 120: branch 1 never executed 121: call 2 never executed 122: #####: 96: else err = aio_read(aiocbp); 128: -: 101:#endif 129: -: 102: 130: #####: 103: this_errno = errno; 131: call 0 never executed 132: #####: 104: ADIOI_UNLOCK(fd, offset, SEEK_SET, len); 133: call 0 never executed 134: -: 105: 135: #####: 106: if (err == -1) { 136: branch 0 never executed 137: branch 1 never executed 138: #####: 107: if (this_errno == EAGAIN) { 141: -: 108: /* exceeded the max. no. of outstanding requests. 142: -: 109: complete all previous async. requests and try again. */ 143: #####: 110: ADIO_WriteContig(fd, buf, len, MPI_BYTE, ADIO_EXPLICIT_OFFSET, 144: call 0 never executed 145: -: 111: offset, NULL, &error_code); 146: #####: 112: MPIO_Completed_request_create(&fd, len, &error_code, request); 147: call 0 never executed 148: #####: 113: return 0; 149: -: 114: } else { 150: #####: 115: return -this_errno; 151: -: 116: } 152: -: 117: } 153: #####: 118: aio_req->aiocbp = aiocbp; 154: #####: 119: if (ADIOI_GEN_greq_class == 0) { 155: branch 0 never executed 156: branch 1 never executed 157: #####: 120: MPIX_Grequest_class_create(ADIOI_GEN_aio_query_fn, 161: -: 123: &ADIOI_GEN_greq_class); 162: -: 124: } 163: #####: 125: MPIX_Grequest_class_allocate(ADIOI_GEN_greq_class, aio_req, request); 164: call 0 never executed 165: #####: 126: memcpy(&(aio_req->req), request, sizeof(MPI_Request)); 166: call 0 never executed 167: #####: 127: return 0; 40 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_iwrite.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_setsh.c.gcov 36: -: 31:void ADIOI_NFS_Set_shared_fp(ADIO_File fd, ADIO_Offset offset, int *error_code) 37: function ADIOI_NFS_Set_shared_fp called 0 returned 0% blocks executed 0% 38: #####: 32:{ 41: -: 35: static char myname[] = "ADIOI_NFS_SET_SHARED_FP"; 42: -: 36: 43: #####: 37: if (fd->shared_fp_fd == ADIO_FILE_NULL) { 44: branch 0 never executed 45: branch 1 never executed 46: #####: 38: MPI_Comm_dup(MPI_COMM_SELF, &dupcommself); 47: call 0 never executed 48: #####: 39: fd->shared_fp_fd = ADIO_Open(MPI_COMM_SELF, dupcommself, 55: -: 45: } 56: -: 46: 57: #####: 47: if (*error_code != MPI_SUCCESS) return; 59: branch 1 never executed 60: -: 48: 61: #####: 49: ADIOI_WRITE_LOCK(fd->shared_fp_fd, 0, SEEK_SET, sizeof(ADIO_Offset)); 64: -: 51: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 65: -: 52:#endif 66: #####: 53: lseek(fd->shared_fp_fd->fd_sys, 0, SEEK_SET); 72: -: 58: MPE_Log_event( ADIOI_MPE_write_a, 0, NULL ); 73: -: 59:#endif 74: #####: 60: err = write(fd->shared_fp_fd->fd_sys, &offset, sizeof(ADIO_Offset)); 77: -: 62: MPE_Log_event( ADIOI_MPE_write_b, 0, NULL ); 78: -: 63:#endif 79: #####: 64: ADIOI_UNLOCK(fd->shared_fp_fd, 0, SEEK_SET, sizeof(ADIO_Offset)); 80: call 0 never executed 81: -: 65: 82: #####: 66: if (err == -1) { 83: branch 0 never executed 84: branch 1 never executed 85: #####: 67: *error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE, 91: -: 70: "**io %s", strerror(errno)); 92: -: 71: } 93: #####: 72: else *error_code = MPI_SUCCESS; 12 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_setsh.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_getsh.c.gcov 21: -: 16: int *error_code) 22: function ADIOI_NFS_Get_shared_fp called 0 returned 0% blocks executed 0% 23: #####: 17:{ 27: -: 21: static char myname[] = "ADIOI_NFS_GET_SHARED_FP"; 28: -: 22: 29: #####: 23: if (fd->shared_fp_fd == ADIO_FILE_NULL) { 30: branch 0 never executed 31: branch 1 never executed 32: #####: 24: MPI_Comm_dup(MPI_COMM_SELF, &dupcommself); 33: call 0 never executed 34: #####: 25: fd->shared_fp_fd = ADIO_Open(MPI_COMM_SELF, dupcommself, 40: -: 30: 0, MPI_BYTE, MPI_BYTE, MPI_INFO_NULL, 41: -: 31: ADIO_PERM_NULL, error_code); 42: #####: 32: if (*error_code != MPI_SUCCESS) return; 43: branch 0 never executed 44: branch 1 never executed 45: #####: 33: *shared_fp = 0; 46: #####: 34: ADIOI_WRITE_LOCK(fd->shared_fp_fd, 0, SEEK_SET, sizeof(ADIO_Offset)); 49: -: 36: MPE_Log_event( ADIOI_MPE_read_a, 0, NULL ); 50: -: 37:#endif 51: #####: 38: err = read(fd->shared_fp_fd->fd_sys, shared_fp, sizeof(ADIO_Offset)); 59: -: 45: } 60: -: 46: else { 61: #####: 47: ADIOI_WRITE_LOCK(fd->shared_fp_fd, 0, SEEK_SET, sizeof(ADIO_Offset)); 65: -: 50: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 66: -: 51:#endif 67: #####: 52: err = lseek(fd->shared_fp_fd->fd_sys, 0, SEEK_SET); 70: -: 54: MPE_Log_event( ADIOI_MPE_lseek_b, 0, NULL ); 71: -: 55:#endif 72: #####: 56: if (err == 0) { 76: -: 58: MPE_Log_event( ADIOI_MPE_read_a, 0, NULL ); 77: -: 59:#endif 78: #####: 60: err = read(fd->shared_fp_fd->fd_sys, shared_fp, 83: -: 64:#endif 84: -: 65: } 85: #####: 66: if (err == -1) { 86: branch 0 never executed 87: branch 1 never executed 88: #####: 67: ADIOI_UNLOCK(fd->shared_fp_fd, 0, SEEK_SET, sizeof(ADIO_Offset)); 89: call 0 never executed 90: #####: 68: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 95: -: 70: __LINE__, MPI_ERR_IO, "**io", 96: -: 71: "**io %s", strerror(errno)); 97: #####: 72: return; 99: -: 74: } 100: -: 75: 101: #####: 76: new_fp = *shared_fp + incr; 104: -: 79: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 105: -: 80:#endif 106: #####: 81: err = lseek(fd->shared_fp_fd->fd_sys, 0, SEEK_SET); 109: -: 83: MPE_Log_event( ADIOI_MPE_lseek_b, 0, NULL ); 110: -: 84:#endif 111: #####: 85: if (err == 0) { 115: -: 87: MPE_Log_event( ADIOI_MPE_write_a, 0, NULL ); 116: -: 88:#endif 117: #####: 89: err = write(fd->shared_fp_fd->fd_sys, &new_fp, sizeof(ADIO_Offset)); 121: -: 92:#endif 122: -: 93: } 123: #####: 94: ADIOI_UNLOCK(fd->shared_fp_fd, 0, SEEK_SET, sizeof(ADIO_Offset)); 124: call 0 never executed 125: #####: 95: if (err == -1) { 126: branch 0 never executed 127: branch 1 never executed 128: #####: 96: *error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE, 134: -: 99: "**io %s", strerror(errno)); 135: -: 100: } 136: #####: 101: else *error_code = MPI_SUCCESS; 24 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_getsh.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_features.c.gcov 9: -: 4:int ADIOI_NFS_Feature(ADIO_File fd, int flag) 10: function ADIOI_NFS_Feature called 0 returned 0% blocks executed 0% 11: #####: 5:{ 12: #####: 6: switch(flag) { 17: -: 9: case ADIO_SEQUENTIAL: 18: -: 10: case ADIO_DATA_SIEVING_WRITES: 19: #####: 11: return 1; 20: -: 12: case ADIO_SCALABLE_OPEN: 21: -: 13: default: 22: #####: 14: return 0; 4 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_features.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/stdlib.h.gcov 289: -: 284:__NTH (atoi (__const char *__nptr)) 290: function atoi called 0 returned 0% blocks executed 0% 291: #####: 285:{ 292: #####: 286: return (int) strtol (__nptr, (char **) NULL, 10); 2 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/stdlib.h.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_write.c.gcov 18: -: 13: ADIO_Offset offset, ADIO_Status *status, int *error_code) 19: function ADIOI_NFS_WriteContig called 0 returned 0% blocks executed 0% 20: #####: 14:{ 21: #####: 15: int err=-1, datatype_size, len; 22: -: 16: static char myname[] = "ADIOI_NFS_WRITECONTIG"; 23: -: 17: 24: #####: 18: MPI_Type_size(datatype, &datatype_size); 25: call 0 never executed 26: #####: 19: len = datatype_size * count; 27: -: 20: 28: #####: 21: if (file_ptr_type == ADIO_EXPLICIT_OFFSET) { 29: branch 0 never executed 30: branch 1 never executed 31: #####: 22: if (fd->fp_sys_posn != offset) { 35: -: 24: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 36: -: 25:#endif 37: #####: 26: lseek(fd->fd_sys, offset, SEEK_SET); 41: -: 29:#endif 42: -: 30: } 43: #####: 31: ADIOI_WRITE_LOCK(fd, offset, SEEK_SET, len); 46: -: 33: MPE_Log_event( ADIOI_MPE_write_a, 0, NULL ); 47: -: 34:#endif 48: #####: 35: err = write(fd->fd_sys, buf, len); 51: -: 37: MPE_Log_event( ADIOI_MPE_write_b, 0, NULL ); 52: -: 38:#endif 53: #####: 39: ADIOI_UNLOCK(fd, offset, SEEK_SET, len); 54: call 0 never executed 55: #####: 40: fd->fp_sys_posn = offset + err; 57: -: 42: } 58: -: 43: else { /* write from curr. location of ind. file pointer */ 59: #####: 44: offset = fd->fp_ind; 60: #####: 45: if (fd->fp_sys_posn != fd->fp_ind) { 64: -: 47: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 65: -: 48:#endif 66: #####: 49: lseek(fd->fd_sys, fd->fp_ind, SEEK_SET); 70: -: 52:#endif 71: -: 53: } 72: #####: 54: ADIOI_WRITE_LOCK(fd, offset, SEEK_SET, len); 75: -: 56: MPE_Log_event( ADIOI_MPE_write_a, 0, NULL ); 76: -: 57:#endif 77: #####: 58: err = write(fd->fd_sys, buf, len); 80: -: 60: MPE_Log_event( ADIOI_MPE_write_b, 0, NULL ); 81: -: 61:#endif 82: #####: 62: ADIOI_UNLOCK(fd, offset, SEEK_SET, len); 83: call 0 never executed 84: #####: 63: fd->fp_ind += err; 85: #####: 64: fd->fp_sys_posn = fd->fp_ind; 102: -: 76: 103: -: 77:#ifdef HAVE_STATUS_SET_BYTES 104: #####: 78: MPIR_Status_set_bytes(status, datatype, err); 106: -: 79:#endif 107: -: 80: 108: #####: 81: *error_code = MPI_SUCCESS; 296: -: 269: *error_code) 297: function ADIOI_NFS_WriteStrided called 0 returned 0% blocks executed 0% 298: #####: 270:{ 300: -: 272: 301: -: 273: ADIOI_Flatlist_node *flat_buf, *flat_file; 302: #####: 274: int i, j, k, err=-1, bwr_size, fwr_size=0, st_index=0; 303: -: 275: int bufsize, num, size, sum, n_etypes_in_filetype, size_in_filetype; 304: -: 276: int n_filetypes, etype_in_filetype; 305: #####: 277: ADIO_Offset abs_off_in_filetype=0; 308: -: 280: int buf_count, buftype_is_contig, filetype_is_contig; 309: -: 281: ADIO_Offset userbuf_off; 310: #####: 282: ADIO_Offset off, req_off, disp, end_offset=0, writebuf_off, start_off; 311: -: 283: char *writebuf, *value; 312: -: 284: int flag, st_fwr_size, st_n_filetypes, writebuf_len, write_sz; 313: #####: 285: int new_bwr_size, new_fwr_size, err_flag=0, info_flag, max_bufsize; 314: -: 286: static char myname[] = "ADIOI_NFS_WRITESTRIDED"; 315: -: 287: 316: #####: 288: ADIOI_Datatype_iscontig(datatype, &buftype_is_contig); 317: call 0 never executed 318: #####: 289: ADIOI_Datatype_iscontig(fd->filetype, &filetype_is_contig); 319: call 0 never executed 320: -: 290: 321: #####: 291: MPI_Type_size(fd->filetype, &filetype_size); 322: call 0 never executed 323: #####: 292: if ( ! filetype_size ) { 324: branch 0 never executed 325: branch 1 never executed 326: #####: 293: *error_code = MPI_SUCCESS; 327: #####: 294: return; 328: -: 295: } 329: -: 296: 330: #####: 297: MPI_Type_extent(fd->filetype, &filetype_extent); 331: call 0 never executed 332: #####: 298: MPI_Type_size(datatype, &buftype_size); 333: call 0 never executed 334: #####: 299: MPI_Type_extent(datatype, &buftype_extent); 335: call 0 never executed 336: #####: 300: etype_size = fd->etype_size; 337: -: 301: 338: #####: 302: bufsize = buftype_size * count; 340: -: 304:/* get max_bufsize from the info object. */ 341: -: 305: 342: #####: 306: value = (char *) ADIOI_Malloc((MPI_MAX_INFO_VAL+1)*sizeof(char)); 343: call 0 never executed 344: #####: 307: MPI_Info_get(fd->info, "ind_wr_buffer_size", MPI_MAX_INFO_VAL, value, 345: call 0 never executed 346: -: 308: &info_flag); 347: #####: 309: max_bufsize = atoi(value); 348: call 0 never executed 349: #####: 310: ADIOI_Free(value); 350: call 0 never executed 351: -: 311: 352: #####: 312: if (!buftype_is_contig && filetype_is_contig) { 358: -: 314:/* noncontiguous in memory, contiguous in file. */ 359: -: 315: 360: #####: 316: ADIOI_Flatten_datatype(datatype); 361: call 0 never executed 362: #####: 317: flat_buf = ADIOI_Flatlist; 363: #####: 318: while (flat_buf->type != datatype) flat_buf = flat_buf->next; 365: branch 1 never executed 366: -: 319: 367: #####: 320: off = (file_ptr_type == ADIO_INDIVIDUAL) ? fd->fp_ind : 370: -: 321: fd->disp + etype_size * offset; 371: -: 322: 372: #####: 323: start_off = off; 373: #####: 324: end_offset = off + bufsize - 1; 374: #####: 325: writebuf_off = off; 375: #####: 326: writebuf = (char *) ADIOI_Malloc(max_bufsize); 376: call 0 never executed 377: #####: 327: writebuf_len = (int) (ADIOI_MIN(max_bufsize,end_offset-writebuf_off+1)); 378: -: 328: 379: -: 329:/* if atomicity is true, lock the region to be accessed */ 380: #####: 330: if (fd->atomicity) 381: branch 0 never executed 382: branch 1 never executed 383: #####: 331: ADIOI_WRITE_LOCK(fd, start_off, SEEK_SET, end_offset-start_off+1); 384: call 0 never executed 385: -: 332: 386: #####: 333: for (j=0; jcount; i++) { 390: branch 0 never executed 391: branch 1 never executed 392: #####: 335: userbuf_off = j*buftype_extent + flat_buf->indices[i]; 393: #####: 336: req_off = off; 394: #####: 337: req_len = flat_buf->blocklens[i]; 395: #####: 338: ADIOI_BUFFERED_WRITE_WITHOUT_READ 420: branch 24 never executed 421: branch 25 never executed 422: #####: 339: off += flat_buf->blocklens[i]; 427: -: 344: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 428: -: 345:#endif 429: #####: 346: lseek(fd->fd_sys, writebuf_off, SEEK_SET); 432: -: 348: MPE_Log_event( ADIOI_MPE_lseek_b, 0, NULL ); 433: -: 349:#endif 434: #####: 350: if (!(fd->atomicity)) ADIOI_WRITE_LOCK(fd, writebuf_off, SEEK_SET, writebuf_len); 439: -: 352: MPE_Log_event( ADIOI_MPE_write_a, 0, NULL ); 440: -: 353:#endif 441: #####: 354: err = write(fd->fd_sys, writebuf, writebuf_len); 444: -: 356: MPE_Log_event( ADIOI_MPE_write_b, 0, NULL ); 445: -: 357:#endif 446: #####: 358: if (!(fd->atomicity)) ADIOI_UNLOCK(fd, writebuf_off, SEEK_SET, writebuf_len); 448: branch 1 never executed 449: call 2 never executed 450: #####: 359: if (err == -1) err_flag = 1; 452: branch 1 never executed 453: -: 360: 454: #####: 361: if (fd->atomicity) 455: branch 0 never executed 456: branch 1 never executed 457: #####: 362: ADIOI_UNLOCK(fd, start_off, SEEK_SET, end_offset-start_off+1); 458: call 0 never executed 459: -: 363: 460: #####: 364: ADIOI_Free(writebuf); /* malloced in the buffered_write macro */ 461: call 0 never executed 462: -: 365: 463: #####: 366: if (file_ptr_type == ADIO_INDIVIDUAL) fd->fp_ind = off; 464: branch 0 never executed 465: branch 1 never executed 466: #####: 367: if (err_flag) { 467: branch 0 never executed 468: branch 1 never executed 469: #####: 368: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 475: -: 371: "**io %s", strerror(errno)); 476: -: 372: } 477: #####: 373: else *error_code = MPI_SUCCESS; 481: -: 377: 482: -: 378:/* filetype already flattened in ADIO_Open */ 483: #####: 379: flat_file = ADIOI_Flatlist; 484: #####: 380: while (flat_file->type != fd->filetype) flat_file = flat_file->next; 485: branch 0 never executed 486: branch 1 never executed 487: #####: 381: disp = fd->disp; 488: -: 382: 489: #####: 383: if (file_ptr_type == ADIO_INDIVIDUAL) { 491: branch 1 never executed 492: -: 384: /* Wei-keng reworked type processing to be a bit more efficient */ 493: #####: 385: offset = fd->fp_ind - disp; 494: #####: 386: n_filetypes = (offset - flat_file->indices[0]) / filetype_extent; 495: #####: 387: offset -= (ADIO_Offset)n_filetypes * filetype_extent; 497: -: 389: 498: -: 390: /* find the block where offset is located, skip blocklens[i]==0 */ 499: #####: 391: for (i=0; icount; i++) { 501: branch 1 never executed 502: -: 392: ADIO_Offset dist; 503: #####: 393: if (flat_file->blocklens[i] == 0) continue; 504: branch 0 never executed 505: branch 1 never executed 506: #####: 394: dist = flat_file->indices[i] + flat_file->blocklens[i] - offset; 507: -: 395: /* fwr_size is from offset to the end of block i */ 508: #####: 396: if (dist == 0) { 509: branch 0 never executed 510: branch 1 never executed 511: #####: 397: i++; 512: #####: 398: offset = flat_file->indices[i]; 513: #####: 399: fwr_size = flat_file->blocklens[i]; 514: #####: 400: break; 515: -: 401: } 516: #####: 402: if (dist > 0) { 517: branch 0 never executed 518: branch 1 never executed 519: #####: 403: fwr_size = dist; 520: #####: 404: break; 521: -: 405: } 522: -: 406: } 523: #####: 407: st_index = i; /* starting index in flat_file->indices[] */ 524: #####: 408: offset += disp + (ADIO_Offset)n_filetypes*filetype_extent; 525: -: 409: } 526: -: 410: else { 527: #####: 411: n_etypes_in_filetype = filetype_size/etype_size; 528: #####: 412: n_filetypes = (int) (offset / n_etypes_in_filetype); 529: #####: 413: etype_in_filetype = (int) (offset % n_etypes_in_filetype); 530: #####: 414: size_in_filetype = etype_in_filetype * etype_size; 531: -: 415: 532: #####: 416: sum = 0; 533: #####: 417: for (i=0; icount; i++) { 534: branch 0 never executed 535: branch 1 never executed 536: #####: 418: sum += flat_file->blocklens[i]; 537: #####: 419: if (sum > size_in_filetype) { 538: branch 0 never executed 539: branch 1 never executed 540: #####: 420: st_index = i; 541: #####: 421: fwr_size = sum - size_in_filetype; 542: #####: 422: abs_off_in_filetype = flat_file->indices[i] + 543: -: 423: size_in_filetype - (sum - flat_file->blocklens[i]); 544: #####: 424: break; 547: -: 427: 548: -: 428: /* abs. offset in bytes in the file */ 549: #####: 429: offset = disp + (ADIO_Offset) n_filetypes*filetype_extent + 551: -: 431: } 552: -: 432: 553: #####: 433: start_off = offset; 555: -: 435: /* this could happen, for example, with subarray types that are 556: -: 436: * actually fairly contiguous */ 557: #####: 437: if (buftype_is_contig && bufsize <= fwr_size) { 558: branch 0 never executed 559: branch 1 never executed 560: #####: 438: ADIO_WriteContig(fd, buf, bufsize, MPI_BYTE, ADIO_EXPLICIT_OFFSET, 562: -: 439: offset, status, error_code); 563: -: 440: 564: #####: 441: if (file_ptr_type == ADIO_INDIVIDUAL) { 567: -: 442: /* update MPI-IO file pointer to point to the first byte 568: -: 443: * that can be accessed in the fileview. */ 569: #####: 444: fd->fp_ind = offset + bufsize; 570: #####: 445: if (bufsize == fwr_size) { 572: branch 1 never executed 573: -: 446: do { 574: #####: 447: st_index++; 575: #####: 448: if (st_index == flat_file->count) { 576: branch 0 never executed 577: branch 1 never executed 578: #####: 449: st_index = 0; 579: #####: 450: n_filetypes++; 580: -: 451: } 581: #####: 452: } while (flat_file->blocklens[st_index] == 0); 582: branch 0 never executed 583: branch 1 never executed 584: #####: 453: fd->fp_ind = disp + flat_file->indices[st_index] 586: -: 455: } 587: -: 456: } 588: #####: 457: fd->fp_sys_posn = -1; /* set it to null. */ 589: -: 458:#ifdef HAVE_STATUS_SET_BYTES 590: #####: 459: MPIR_Status_set_bytes(status, datatype, bufsize); 591: call 0 never executed 592: -: 460:#endif 593: #####: 461: return; 597: -: 465: e.g., if start_offset=0 and 100 bytes to be write, end_offset=99*/ 598: -: 466: 599: #####: 467: st_fwr_size = fwr_size; 600: #####: 468: st_n_filetypes = n_filetypes; 601: #####: 469: i = 0; 602: #####: 470: j = st_index; 603: #####: 471: off = offset; 604: #####: 472: fwr_size = ADIOI_MIN(st_fwr_size, bufsize); 605: #####: 473: while (i < bufsize) { 606: branch 0 never executed 607: branch 1 never executed 608: #####: 474: i += fwr_size; 609: #####: 475: end_offset = off + fwr_size - 1; 610: #####: 476: j = (j+1) % flat_file->count; 611: #####: 477: n_filetypes += (j == 0) ? 1 : 0; 612: #####: 478: while (flat_file->blocklens[j]==0) { 613: branch 0 never executed 614: branch 1 never executed 615: #####: 479: j = (j+1) % flat_file->count; 616: #####: 480: n_filetypes += (j == 0) ? 1 : 0; 617: -: 481: } 618: -: 482: 619: #####: 483: off = disp + flat_file->indices[j] + 620: -: 484: (ADIO_Offset) n_filetypes*filetype_extent; 621: #####: 485: fwr_size = ADIOI_MIN(flat_file->blocklens[j], bufsize-i); 623: -: 487: 624: -: 488:/* if atomicity is true, lock the region to be accessed */ 625: #####: 489: if (fd->atomicity) 626: branch 0 never executed 627: branch 1 never executed 628: #####: 490: ADIOI_WRITE_LOCK(fd, start_off, SEEK_SET, end_offset-start_off+1); 630: -: 491: 631: -: 492: /* initial read for the read-modify-write */ 632: #####: 493: writebuf_off = offset; 633: #####: 494: writebuf = (char *) ADIOI_Malloc(max_bufsize); 634: call 0 never executed 635: #####: 495: writebuf_len = (int)(ADIOI_MIN(max_bufsize,end_offset-writebuf_off+1)); 636: #####: 496: if (!(fd->atomicity)) ADIOI_WRITE_LOCK(fd, writebuf_off, SEEK_SET, writebuf_len); 641: -: 498: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 642: -: 499:#endif 643: #####: 500: lseek(fd->fd_sys, writebuf_off, SEEK_SET); 649: -: 505: MPE_Log_event( ADIOI_MPE_read_a, 0, NULL ); 650: -: 506:#endif 651: #####: 507: err = read(fd->fd_sys, writebuf, writebuf_len); 654: -: 509: MPE_Log_event( ADIOI_MPE_read_b, 0, NULL ); 655: -: 510:#endif 656: #####: 511: if (err == -1) { 657: branch 0 never executed 658: branch 1 never executed 659: #####: 512: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 663: -: 515: MPI_ERR_IO, 664: -: 516: "ADIOI_NFS_WriteStrided: ROMIO tries to optimize this access by doing a read-modify-write, but is unable to read the file. Please give the file read permission and open it with MPI_MODE_RDWR.", 0); 665: #####: 517: return; 666: -: 518: } 667: -: 519: 668: #####: 520: if (buftype_is_contig && !filetype_is_contig) { 675: -: 523: common case. */ 676: -: 524: 677: #####: 525: i = 0; 678: #####: 526: j = st_index; 679: #####: 527: off = offset; 680: #####: 528: n_filetypes = st_n_filetypes; 681: #####: 529: fwr_size = ADIOI_MIN(st_fwr_size, bufsize); 682: #####: 530: while (i < bufsize) { 683: branch 0 never executed 684: branch 1 never executed 685: #####: 531: if (fwr_size) { 691: -: 535: err = write(fd->fd_sys, ((char *) buf) + i, fwr_size);*/ 692: -: 536: 693: #####: 537: req_off = off; 694: #####: 538: req_len = fwr_size; 695: #####: 539: userbuf_off = i; 696: #####: 540: ADIOI_BUFFERED_WRITE 732: branch 35 never executed 733: -: 541: } 734: #####: 542: i += fwr_size; 735: -: 543: 736: #####: 544: if (off + fwr_size < disp + flat_file->indices[j] + 738: branch 1 never executed 739: -: 545: flat_file->blocklens[j] + (ADIO_Offset) n_filetypes*filetype_extent) 740: #####: 546: off += fwr_size; 742: -: 548: no more I/O needed. off is incremented by fwr_size. */ 743: -: 549: else { 744: #####: 550: j = (j+1) % flat_file->count; 745: #####: 551: n_filetypes += (j == 0) ? 1 : 0; 746: #####: 552: while (flat_file->blocklens[j]==0) { 747: branch 0 never executed 748: branch 1 never executed 749: #####: 553: j = (j+1) % flat_file->count; 750: #####: 554: n_filetypes += (j == 0) ? 1 : 0; 751: -: 555: } 752: #####: 556: off = disp + flat_file->indices[j] + 753: -: 557: (ADIO_Offset) n_filetypes*filetype_extent; 754: #####: 558: fwr_size = ADIOI_MIN(flat_file->blocklens[j], bufsize-i); 759: -: 563:/* noncontiguous in memory as well as in file */ 760: -: 564: 761: #####: 565: ADIOI_Flatten_datatype(datatype); 762: call 0 never executed 763: #####: 566: flat_buf = ADIOI_Flatlist; 764: #####: 567: while (flat_buf->type != datatype) flat_buf = flat_buf->next; 766: branch 1 never executed 767: -: 568: 768: #####: 569: k = num = buf_count = 0; 769: #####: 570: i = (int) (flat_buf->indices[0]); 770: #####: 571: j = st_index; 771: #####: 572: off = offset; 772: #####: 573: n_filetypes = st_n_filetypes; 773: #####: 574: fwr_size = st_fwr_size; 774: #####: 575: bwr_size = flat_buf->blocklens[0]; 775: -: 576: 776: #####: 577: while (num < bufsize) { 777: branch 0 never executed 778: branch 1 never executed 779: #####: 578: size = ADIOI_MIN(fwr_size, bwr_size); 780: #####: 579: if (size) { 784: -: 581: err = write(fd->fd_sys, ((char *) buf) + i, size); */ 785: -: 582: 786: #####: 583: req_off = off; 787: #####: 584: req_len = size; 788: #####: 585: userbuf_off = i; 789: #####: 586: ADIOI_BUFFERED_WRITE 826: -: 587: } 827: -: 588: 828: #####: 589: new_fwr_size = fwr_size; 829: #####: 590: new_bwr_size = bwr_size; 830: -: 591: 831: #####: 592: if (size == fwr_size) { 833: branch 1 never executed 834: -: 593:/* reached end of contiguous block in file */ 835: #####: 594: j = (j+1) % flat_file->count; 836: #####: 595: n_filetypes += (j == 0) ? 1 : 0; 837: #####: 596: while (flat_file->blocklens[j]==0) { 838: branch 0 never executed 839: branch 1 never executed 840: #####: 597: j = (j+1) % flat_file->count; 841: #####: 598: n_filetypes += (j == 0) ? 1 : 0; 842: -: 599: } 843: -: 600: 844: #####: 601: off = disp + flat_file->indices[j] + 845: -: 602: (ADIO_Offset) n_filetypes*filetype_extent; 846: -: 603: 847: #####: 604: new_fwr_size = flat_file->blocklens[j]; 848: #####: 605: if (size != bwr_size) { 849: branch 0 never executed 850: branch 1 never executed 851: #####: 606: i += size; 852: #####: 607: new_bwr_size -= size; 854: -: 609: } 855: -: 610: 856: #####: 611: if (size == bwr_size) { 859: -: 612:/* reached end of contiguous block in memory */ 860: -: 613: 861: #####: 614: k = (k + 1)%flat_buf->count; 862: #####: 615: buf_count++; 863: #####: 616: i = (int) (buftype_extent*(buf_count/flat_buf->count) + 864: -: 617: flat_buf->indices[k]); 865: #####: 618: new_bwr_size = flat_buf->blocklens[k]; 866: #####: 619: if (size != fwr_size) { 867: branch 0 never executed 868: branch 1 never executed 869: #####: 620: off += size; 870: #####: 621: new_fwr_size -= size; 871: -: 622: } 872: -: 623: } 873: #####: 624: num += size; 874: #####: 625: fwr_size = new_fwr_size; 875: #####: 626: bwr_size = new_bwr_size; 881: -: 632: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 882: -: 633:#endif 883: #####: 634: lseek(fd->fd_sys, writebuf_off, SEEK_SET); 886: -: 636: MPE_Log_event( ADIOI_MPE_lseek_b, 0, NULL ); 887: -: 637:#endif 888: #####: 638: if (!(fd->atomicity)) ADIOI_WRITE_LOCK(fd, writebuf_off, SEEK_SET, writebuf_len); 893: -: 640: MPE_Log_event( ADIOI_MPE_write_a, 0, NULL ); 894: -: 641:#endif 895: #####: 642: err = write(fd->fd_sys, writebuf, writebuf_len); 899: -: 645:#endif 900: -: 646: 901: #####: 647: if (!(fd->atomicity)) 902: branch 0 never executed 903: branch 1 never executed 904: #####: 648: ADIOI_UNLOCK(fd, writebuf_off, SEEK_SET, writebuf_len); 905: call 0 never executed 906: #####: 649: else ADIOI_UNLOCK(fd, start_off, SEEK_SET, end_offset-start_off+1); 907: call 0 never executed 908: -: 650: 909: #####: 651: if (err == -1) err_flag = 1; 911: branch 1 never executed 912: -: 652: 913: #####: 653: ADIOI_Free(writebuf); /* malloced in the buffered_write macro */ 914: call 0 never executed 915: -: 654: 916: #####: 655: if (file_ptr_type == ADIO_INDIVIDUAL) fd->fp_ind = off; 917: branch 0 never executed 918: branch 1 never executed 919: #####: 656: if (err_flag) { 920: branch 0 never executed 921: branch 1 never executed 922: #####: 657: *error_code = MPIO_Err_create_code(MPI_SUCCESS, 928: -: 660: "**io %s", strerror(errno)); 929: -: 661: } 930: #####: 662: else *error_code = MPI_SUCCESS; 931: -: 663: } 932: -: 664: 933: #####: 665: fd->fp_sys_posn = -1; /* set it to null. */ 934: -: 666: 935: -: 667:#ifdef HAVE_STATUS_SET_BYTES 936: #####: 668: MPIR_Status_set_bytes(status, datatype, bufsize); 940: -: 671:#endif 941: -: 672: 942: #####: 673: if (!buftype_is_contig) ADIOI_Delete_flattened(datatype); 225 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_write.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_iread.c.gcov 19: -: 14: int *error_code) 20: function ADIOI_NFS_IreadContig called 0 returned 0% blocks executed 0% 21: #####: 15:{ 22: -: 16: int len, typesize; 23: #####: 17: int aio_errno = 0; 24: -: 18: static char myname[] = "ADIOI_NFS_IREADCONTIG"; 25: -: 19: 26: #####: 20: MPI_Type_size(datatype, &typesize); 27: call 0 never executed 28: #####: 21: len = count * typesize; 29: -: 22: 30: #####: 23: if (file_ptr_type == ADIO_INDIVIDUAL) offset = fd->fp_ind; 31: branch 0 never executed 32: branch 1 never executed 33: #####: 24: aio_errno = ADIOI_NFS_aio(fd, buf, len, offset, 0, request); 34: call 0 never executed 35: #####: 25: if (file_ptr_type == ADIO_INDIVIDUAL) fd->fp_ind += len; 37: branch 1 never executed 38: -: 26: 39: #####: 27: fd->fp_sys_posn = -1; 40: -: 28: 41: #####: 29: if (aio_errno != 0) { 49: branch 1 never executed 50: -: 34: } 51: #####: 35: else *error_code = MPI_SUCCESS; 10 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_iread.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_wait.c.gcov 15: -: 10: int *error_code) 16: function ADIOI_NFS_ReadComplete called 0 returned 0% blocks executed 0% 17: #####: 11:{ 133: -: 127: int *error_code) 134: function ADIOI_NFS_WriteComplete called 0 returned 0% blocks executed 0% 135: #####: 128:{ 136: #####: 129: ADIOI_NFS_ReadComplete(request, status, error_code); 3 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_wait.c.gcov Uncovered lines in src/mpi/romio/adio/ad_nfs/ad_nfs_resize.c.gcov 25: -: 20:void ADIOI_NFS_Resize(ADIO_File fd, ADIO_Offset size, int *error_code) 26: function ADIOI_NFS_Resize called 0 returned 0% blocks executed 0% 27: #####: 21:{ 29: -: 23: static char myname[] = "ADIOI_GEN_RESIZE"; 30: -: 24: 31: #####: 25: err = ftruncate(fd->fd_sys, size); 46: -: 26: 47: -: 35: 48: #####: 36: *error_code = MPI_SUCCESS; 3 line(s) not covered by tests in src/mpi/romio/adio/ad_nfs/ad_nfs_resize.c.gcov Uncovered lines in src/mpi/romio/adio/ad_ufs/ad_ufs_open.c.gcov 28: 5572: 18: perm = old_mask ^ 0666; 29: -: 19: } 30: #####: 20: else perm = fd->perm; 71: -: 46: MPE_Log_event( ADIOI_MPE_lseek_a, 0, NULL ); 72: -: 47:#endif 73: #####: 48: fd->fp_ind = fd->fp_sys_posn = lseek(fd->fd_sys, 0, SEEK_END); 2 line(s) not covered by tests in src/mpi/romio/adio/ad_ufs/ad_ufs_open.c.gcov All code covered by tests in src/mpi/romio/mpi-io/close.c.gcov All code covered by tests in src/mpi/romio/mpi-io/read.c.gcov Uncovered lines in src/mpi/romio/mpi-io/open.c.gcov 193: branch 0 taken 0% (fallthrough) 194: branch 1 taken 100% 195: #####: 146: filename = tmp + 1; 222: branch 4 never executed 223: -: 165: { 224: #####: 166: error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE, 227: -: 168: MPI_ERR_UNSUPPORTED_OPERATION, 228: -: 169: "**iosequnsupported", 0); 229: #####: 170: ADIO_Close(*fh, &error_code); 253: branch 0 taken 0% (fallthrough) 254: branch 1 taken 100% 255: #####: 186: if (rank == (*fh)->hints->ranklist[0]) /* only one person need set the sharedfp */ 256: branch 0 never executed 257: branch 1 never executed 258: #####: 187: ADIO_Set_shared_fp(*fh, (*fh)->fp_ind, &error_code); 259: call 0 never executed 260: #####: 188: MPI_Barrier(dupcomm); 6 line(s) not covered by tests in src/mpi/romio/mpi-io/open.c.gcov All code covered by tests in src/mpi/romio/mpi-io/write.c.gcov All code covered by tests in src/mpi/romio/mpi-io/set_view.c.gcov Uncovered lines in src/mpi/romio/mpi-io/iread.c.gcov 228: -: 138: /* to maintain strict atomicity semantics with other concurrent 229: -: 139: operations, lock (exclusive) and call blocking routine */ 230: #####: 140: if (ADIO_Feature(fh, ADIO_LOCKS)) 233: branch 2 never executed 234: -: 141: { 235: #####: 142: ADIOI_WRITE_LOCK(fh, off, SEEK_SET, bufsize); 237: -: 143: } 238: -: 144: 239: #####: 145: ADIO_ReadContig(fh, buf, count, datatype, file_ptr_type, 241: -: 146: off, &status, &error_code); 242: -: 147: 243: #####: 148: if (ADIO_Feature(fh, ADIO_LOCKS)) 246: branch 2 never executed 247: -: 149: { 248: #####: 150: ADIOI_UNLOCK(fh, off, SEEK_SET, bufsize); 249: call 0 never executed 250: -: 151: } 251: #####: 152: if (error_code == MPI_SUCCESS) { 252: branch 0 never executed 253: branch 1 never executed 254: #####: 153: nbytes = count*datatype_size; 255: -: 154: } 256: #####: 155: MPIO_Completed_request_create(&fh, nbytes, &error_code, request); 8 line(s) not covered by tests in src/mpi/romio/mpi-io/iread.c.gcov Uncovered lines in src/mpi/romio/mpi-io/iwrite.c.gcov 230: -: 140: /* to maintain strict atomicity semantics with other concurrent 231: -: 141: operations, lock (exclusive) and call blocking routine */ 232: #####: 142: if (ADIO_Feature(fh, ADIO_LOCKS) ) 235: branch 2 never executed 236: -: 143: { 237: #####: 144: ADIOI_WRITE_LOCK(fh, off, SEEK_SET, bufsize); 239: -: 145: } 240: -: 146: 241: #####: 147: ADIO_WriteContig(fh, buf, count, datatype, file_ptr_type, off, 243: -: 148: &status, &error_code); 244: -: 149: 245: #####: 150: if (ADIO_Feature(fh, ADIO_LOCKS) ) 248: branch 2 never executed 249: -: 151: { 250: #####: 152: ADIOI_UNLOCK(fh, off, SEEK_SET, bufsize); 251: call 0 never executed 252: -: 153: } 253: #####: 154: if (error_code == MPI_SUCCESS) { 254: branch 0 never executed 255: branch 1 never executed 256: #####: 155: nbytes = count * datatype_size; 257: -: 156: } 258: -: 157: 259: #####: 158: MPIO_Completed_request_create(&fh, nbytes, &error_code, request); 8 line(s) not covered by tests in src/mpi/romio/mpi-io/iwrite.c.gcov All code covered by tests in src/mpi/romio/mpi-io/seek.c.gcov All code covered by tests in src/mpi/romio/mpi-io/get_posn.c.gcov Uncovered lines in src/mpi/romio/mpi-io/delete.c.gcov 109: branch 0 taken 0% (fallthrough) 110: branch 1 taken 100% 111: #####: 80: filename = tmp + 1; 1 line(s) not covered by tests in src/mpi/romio/mpi-io/delete.c.gcov All code covered by tests in src/mpi/romio/mpi-io/read_all.c.gcov All code covered by tests in src/mpi/romio/mpi-io/read_at.c.gcov All code covered by tests in src/mpi/romio/mpi-io/read_atall.c.gcov All code covered by tests in src/mpi/romio/mpi-io/iread_at.c.gcov All code covered by tests in src/mpi/romio/mpi-io/iwrite_at.c.gcov All code covered by tests in src/mpi/romio/mpi-io/write_all.c.gcov All code covered by tests in src/mpi/romio/mpi-io/get_bytoff.c.gcov All code covered by tests in src/mpi/romio/mpi-io/write_at.c.gcov All code covered by tests in src/mpi/romio/mpi-io/write_atall.c.gcov Uncovered lines in src/mpi/romio/mpi-io/get_view.c.gcov 117: -: 81: re-implement MPI_Type_contiguous in an unexpected way. Either use 118: -: 82: NMPI_Barrier as in MPICH2 or PMPI_Type_contiguous */ 119: #####: 83: MPI_Type_contiguous(1, fh->etype, ©_etype); 121: -: 84: 122: -: 85: /* FIXME: Ditto for MPI_Type_commit - use NMPI or PMPI */ 123: #####: 86: MPI_Type_commit(©_etype); 124: call 0 never executed 125: #####: 87: *etype = copy_etype; 3 line(s) not covered by tests in src/mpi/romio/mpi-io/get_view.c.gcov All code covered by tests in src/mpi/romio/mpi-io/get_group.c.gcov All code covered by tests in src/mpi/romio/mpi-io/get_amode.c.gcov All code covered by tests in src/mpi/romio/mpi-io/get_extent.c.gcov All code covered by tests in src/mpi/romio/mpi-io/fsync.c.gcov All code covered by tests in src/mpi/romio/mpi-io/get_atom.c.gcov Uncovered lines in src/mpi/romio/mpi-io/set_atom.c.gcov 109: branch 0 taken 0% (fallthrough) 110: branch 1 taken 100% 111: #####: 71: error_code = MPI_SUCCESS; 112: #####: 72: goto fn_exit; 2 line(s) not covered by tests in src/mpi/romio/mpi-io/set_atom.c.gcov All code covered by tests in src/mpi/romio/mpi-io/set_size.c.gcov All code covered by tests in src/mpi/romio/mpi-io/get_size.c.gcov All code covered by tests in src/mpi/romio/mpi-io/prealloc.c.gcov All code covered by tests in src/mpi/romio/mpi-io/file_f2c.c.gcov All code covered by tests in src/mpi/romio/mpi-io/file_c2f.c.gcov All code covered by tests in src/mpi/romio/mpi-io/set_info.c.gcov All code covered by tests in src/mpi/romio/mpi-io/get_info.c.gcov All code covered by tests in src/mpi/romio/mpi-io/rd_atallb.c.gcov All code covered by tests in src/mpi/romio/mpi-io/rd_atalle.c.gcov All code covered by tests in src/mpi/romio/mpi-io/read_allb.c.gcov All code covered by tests in src/mpi/romio/mpi-io/read_alle.c.gcov All code covered by tests in src/mpi/romio/mpi-io/wr_atallb.c.gcov All code covered by tests in src/mpi/romio/mpi-io/wr_atalle.c.gcov All code covered by tests in src/mpi/romio/mpi-io/write_allb.c.gcov All code covered by tests in src/mpi/romio/mpi-io/write_alle.c.gcov All code covered by tests in src/mpi/romio/mpi-io/get_posn_sh.c.gcov Uncovered lines in src/mpi/romio/mpi-io/iread_sh.c.gcov 171: -: 104: operations, lock (exclusive) and call blocking routine */ 172: -: 105: 173: #####: 106: if (fh->file_system != ADIO_NFS) 175: branch 1 never executed 176: -: 107: { 177: #####: 108: ADIOI_WRITE_LOCK(fh, off, SEEK_SET, bufsize); 179: -: 109: } 180: -: 110: 181: #####: 111: ADIO_ReadContig(fh, buf, count, datatype, ADIO_EXPLICIT_OFFSET, 183: -: 112: off, &status, &error_code); 184: -: 113: 185: #####: 114: if (fh->file_system != ADIO_NFS) 187: branch 1 never executed 188: -: 115: { 189: #####: 116: ADIOI_UNLOCK(fh, off, SEEK_SET, bufsize); 190: call 0 never executed 191: -: 117: } 192: #####: 118: if (error_code == MPI_SUCCESS){ 193: branch 0 never executed 194: branch 1 never executed 195: #####: 119: nbytes = count * datatype_size; 196: -: 120: } 197: #####: 121: MPIO_Completed_request_create(&fh, nbytes, &error_code, request); 201: -: 124: else 202: -: 125: { 203: #####: 126: ADIO_IreadStrided(fh, buf, count, datatype, ADIO_EXPLICIT_OFFSET, 9 line(s) not covered by tests in src/mpi/romio/mpi-io/iread_sh.c.gcov Uncovered lines in src/mpi/romio/mpi-io/read_sh.c.gcov 185: branch 2 never executed 186: branch 3 never executed 187: #####: 112: ADIOI_WRITE_LOCK(fh, off, SEEK_SET, bufsize); 197: branch 2 never executed 198: branch 3 never executed 199: #####: 118: ADIOI_UNLOCK(fh, off, SEEK_SET, bufsize); 202: -: 120: else 203: -: 121: { 204: #####: 122: ADIO_ReadStrided(fh, buf, count, datatype, ADIO_EXPLICIT_OFFSET, 3 line(s) not covered by tests in src/mpi/romio/mpi-io/read_sh.c.gcov Uncovered lines in src/mpi/romio/mpi-io/write_sh.c.gcov 182: branch 2 never executed 183: branch 3 never executed 184: #####: 112: ADIOI_WRITE_LOCK(fh, off, SEEK_SET, bufsize); 194: branch 2 never executed 195: branch 3 never executed 196: #####: 118: ADIOI_UNLOCK(fh, off, SEEK_SET, bufsize); 199: -: 120: else 200: -: 121: { 201: #####: 122: ADIO_WriteStrided(fh, buf, count, datatype, ADIO_EXPLICIT_OFFSET, 3 line(s) not covered by tests in src/mpi/romio/mpi-io/write_sh.c.gcov Uncovered lines in src/mpi/romio/mpi-io/iwrite_sh.c.gcov 140: branch 1 taken 100% 141: -: 82: /* note: ADIO_Get_shared_fp should have set up error code already? */ 142: #####: 83: MPIO_Err_return_file(fh, error_code); 163: -: 96: operations, lock (exclusive) and call blocking routine */ 164: -: 97: 165: #####: 98: if (fh->file_system != ADIO_NFS) 166: branch 0 never executed 167: branch 1 never executed 168: #####: 99: ADIOI_WRITE_LOCK(fh, off, SEEK_SET, bufsize); 169: call 0 never executed 170: -: 100: 171: #####: 101: ADIO_WriteContig(fh, buf, count, datatype, ADIO_EXPLICIT_OFFSET, 173: -: 102: off, &status, &error_code); 174: -: 103: 175: #####: 104: if (fh->file_system != ADIO_NFS) 176: branch 0 never executed 177: branch 1 never executed 178: #####: 105: ADIOI_UNLOCK(fh, off, SEEK_SET, bufsize); 179: call 0 never executed 180: -: 106: 181: #####: 107: MPIO_Completed_request_create(&fh, bufsize, &error_code, request); 184: -: 109: } 185: -: 110: else 186: #####: 111: ADIO_IwriteStrided(fh, buf, count, datatype, ADIO_EXPLICIT_OFFSET, 8 line(s) not covered by tests in src/mpi/romio/mpi-io/iwrite_sh.c.gcov Uncovered lines in src/mpi/romio/mpi-io/seek_sh.c.gcov 164: -: 102: case MPI_SEEK_CUR: 165: -: 103: /* get current location of shared file pointer */ 166: #####: 104: ADIO_Get_shared_fp(fh, 0, &curr_offset, &error_code); 182: #####: 104: ADIO_Get_shared_fp(fh, 0, &curr_offset, &error_code); 183: call 0 never executed 184: #####: 117: offset += curr_offset; 202: -: 131: case MPI_SEEK_END: 203: -: 132: /* find offset corr. to end of file */ 204: #####: 133: ADIOI_Get_eof_offset(fh, &eof_offset); 205: call 0 never executed 206: #####: 134: offset += eof_offset; 4 line(s) not covered by tests in src/mpi/romio/mpi-io/seek_sh.c.gcov All code covered by tests in src/mpi/romio/mpi-io/read_ord.c.gcov All code covered by tests in src/mpi/romio/mpi-io/read_orde.c.gcov All code covered by tests in src/mpi/romio/mpi-io/write_ordb.c.gcov All code covered by tests in src/mpi/romio/mpi-io/read_ordb.c.gcov All code covered by tests in src/mpi/romio/mpi-io/write_ord.c.gcov All code covered by tests in src/mpi/romio/mpi-io/write_orde.c.gcov Uncovered lines in src/mpi/romio/mpi-io/mpiu_greq.c.gcov 56: -: 44:int MPIU_Greq_cancel_fn(void *extra_state, int complete) 57: function MPIU_Greq_cancel_fn called 0 returned 0% blocks executed 0% 58: #####: 45:{ 61: -: 48: 62: -: 49: /* can't cancel */ 63: #####: 50: return MPI_SUCCESS; 2 line(s) not covered by tests in src/mpi/romio/mpi-io/mpiu_greq.c.gcov All code covered by tests in src/mpi/romio/mpi-io/mpich2_fileutil.c.gcov Uncovered lines in src/mpi/romio/mpi-io/register_datarep.c.gcov 60: -: 55: void *state) 61: function PMPI_Register_datarep called 0 returned 0% blocks executed 0% 62: #####: 56:{ 64: -: 58: ADIOI_Datarep *datarep; 65: -: 59: static char myname[] = "MPI_REGISTER_DATAREP"; 66: #####: 60: MPIU_THREADPRIV_DECL; 67: -: 61: 68: #####: 62: MPIU_THREAD_CS_ENTER(ALLFUNC,); 108: -: 63: 109: -: 80: 110: #####: 81: MPIR_MPIOInit(&error_code); 111: call 0 never executed 112: #####: 82: if (error_code != MPI_SUCCESS) goto fn_exit; 154: -: 83: 155: -: 112: 156: #####: 113: datarep = ADIOI_Malloc(sizeof(ADIOI_Datarep)); 160: -: 116: ifdef MPICH2 */ 161: -: 117:#ifdef MPICH2 162: #####: 118: datarep->name = MPIU_Strdup(name); 165: -: 120: datarep->name = ADIOI_Strdup(name); 166: -: 121:#endif 167: #####: 122: datarep->state = state; 168: #####: 123: datarep->read_conv_fn = read_conv_fn; 169: #####: 124: datarep->write_conv_fn = write_conv_fn; 170: #####: 125: datarep->extent_fn = extent_fn; 171: #####: 126: datarep->next = ADIOI_Datarep_head; 172: -: 127: 173: #####: 128: ADIOI_Datarep_head = datarep; 174: -: 129: 175: #####: 130: error_code = MPI_SUCCESS; 176: -: 131: 177: #####: 132:fn_exit: 178: #####: 133: MPIU_THREAD_CS_EXIT(ALLFUNC,); 192: call 13 never executed 193: -: 134: 194: #####: 135: return error_code; 17 line(s) not covered by tests in src/mpi/romio/mpi-io/register_datarep.c.gcov All code covered by tests in src/mpi/romio/mpi-io/mpir-mpioinit.c.gcov All code covered by tests in src/mpi/attr/attr_get.c.gcov All code covered by tests in src/mpi/attr/attr_put.c.gcov All code covered by tests in src/mpi/attr/comm_delete_attr.c.gcov Uncovered lines in src/mpi/attr/comm_get_attr.c.gcov 222: branch 1 taken 100% 223: -: 148: { 224: #####: 149: *attr_val_p = &attr_copy.universe; 228: branch 1 taken 100% 229: -: 152: { 230: #####: 153: *flag = 0; 252: -: 170: else 253: -: 171: { 254: #####: 172: attr_copy.universe = MPIR_UNIVERSE_SIZE_NOT_AVAILABLE; 255: #####: 173: *flag = 0; 269: branch 0 taken 0% (fallthrough) 270: branch 1 taken 100% 271: #####: 187: *flag = 0; 317: -: 219: correct location in the word. */ 318: -: 220:#if defined(WORDS_LITTLEENDIAN) || (SIZEOF_VOID_P == SIZEOF_INT) 319: #####: 221: *(void**)attribute_val = &(p->value); 6 line(s) not covered by tests in src/mpi/attr/comm_get_attr.c.gcov All code covered by tests in src/mpi/attr/comm_set_attr.c.gcov All code covered by tests in src/mpi/attr/keyval_free.c.gcov All code covered by tests in src/mpi/attr/type_create_keyval.c.gcov All code covered by tests in src/mpi/attr/type_free_keyval.c.gcov All code covered by tests in src/mpi/attr/type_set_attr.c.gcov All code covered by tests in src/mpi/attr/win_create_keyval.c.gcov All code covered by tests in src/mpi/attr/win_free_keyval.c.gcov All code covered by tests in src/mpi/attr/win_set_attr.c.gcov Uncovered lines in src/mpi/attr/attrutil.c.gcov 383: branch 0 taken 0% (fallthrough) 384: branch 1 taken 100% 385: #####: 306: attrib_val = &attrib; 409: branch 0 taken 0% (fallthrough) 410: branch 1 taken 100% 411: #####: 328: attrib_val = &attrib; 435: branch 0 taken 0% (fallthrough) 436: branch 1 taken 100% 437: #####: 345: return; 3 line(s) not covered by tests in src/mpi/attr/attrutil.c.gcov All code covered by tests in src/mpi/attr/attr_delete.c.gcov All code covered by tests in src/mpi/attr/comm_create_keyval.c.gcov All code covered by tests in src/mpi/attr/comm_free_keyval.c.gcov All code covered by tests in src/mpi/attr/keyval_create.c.gcov All code covered by tests in src/mpi/attr/type_delete_attr.c.gcov Uncovered lines in src/mpi/attr/type_get_attr.c.gcov 159: -: 99: correct location in the word. */ 160: -: 100:#if defined(WORDS_LITTLEENDIAN) || (SIZEOF_VOID_P == SIZEOF_INT) 161: #####: 101: *(void**)attribute_val = &(p->value); 173: branch 0 taken 0% (fallthrough) 174: branch 1 taken 100% 175: #####: 113: *(void**)attribute_val = &(p->value); 2 line(s) not covered by tests in src/mpi/attr/type_get_attr.c.gcov All code covered by tests in src/mpi/attr/win_delete_attr.c.gcov Uncovered lines in src/mpi/attr/win_get_attr.c.gcov 227: -: 153: correct location in the word. */ 228: -: 154:#if defined(WORDS_LITTLEENDIAN) || (SIZEOF_VOID_P == SIZEOF_INT) 229: #####: 155: *(void**)attribute_val = &(p->value); 241: branch 0 taken 0% (fallthrough) 242: branch 1 taken 100% 243: #####: 167: *(void**)attribute_val = &(p->value); 2 line(s) not covered by tests in src/mpi/attr/win_get_attr.c.gcov All code covered by tests in src/mpi/attr/dup_fn.c.gcov Uncovered lines in src/mpi/coll/allreduce.c.gcov 211: 3451: 181: uop = (MPI_User_function *) op_ptr->function.c_function; 212: -: 182: else 213: #####: 183: uop = (MPI_User_function *) op_ptr->function.f77_function; 468: branch 0 taken 0% 469: branch 1 taken 100% (fallthrough) 470: #####: 341: cnts[i] = count/pof2; 475: branch 0 taken 0% 476: branch 1 taken 100% (fallthrough) 477: #####: 346: disps[i] = disps[i-1] + cnts[i-1]; 483: branch 0 taken 0% 484: branch 1 taken 100% (fallthrough) 485: #####: 352: newdst = newrank ^ mask; 486: -: 353: /* find real rank of dest */ 487: #####: 354: dst = (newdst < rem) ? newdst*2 + 1 : newdst + rem; 489: branch 1 never executed 490: -: 355: 491: #####: 356: send_cnt = recv_cnt = 0; 492: #####: 357: if (newrank < newdst) { 493: branch 0 never executed 494: branch 1 never executed 495: #####: 358: send_idx = recv_idx + pof2/(mask*2); 496: #####: 359: for (i=send_idx; i newdst) send_idx = recv_idx; 621: branch 1 never executed 622: -: 448: 623: #####: 449: mask >>= 1; 657: branch 0 taken 0% (fallthrough) 658: branch 1 taken 100% 659: #####: 474: mpi_errno = MPIU_THREADPRIV_FIELD(op_errno); 768: branch 0 taken 0% (fallthrough) 769: branch 1 taken 100% 770: #####: 548: MPIR_Setup_intercomm_localcomm( comm_ptr ); 1057: branch 3 never executed 1058: -: 676: { 1059: #####: 677: mpi_errno = comm_ptr->coll_fns->Allreduce(sendbuf, recvbuf, count, 1124: -: 717: else { 1125: -: 718: /* only one process on the node. copy sendbuf to recvbuf */ 1126: #####: 719: if (sendbuf != MPI_IN_PLACE) { 1127: branch 0 never executed 1128: branch 1 never executed 1129: #####: 720: mpi_errno = MPIR_Localcopy(sendbuf, count, datatype, 49 line(s) not covered by tests in src/mpi/coll/allreduce.c.gcov Uncovered lines in src/mpi/coll/barrier.c.gcov 504: branch 3 never executed 505: -: 407: { 506: #####: 408: mpi_errno = comm_ptr->coll_fns->Barrier(comm_ptr); 553: branch 0 taken 0% (fallthrough) 554: branch 1 taken 100% 555: #####: 432: MPIR_Nest_decr(); 2 line(s) not covered by tests in src/mpi/coll/barrier.c.gcov All code covered by tests in src/mpi/coll/op_create.c.gcov All code covered by tests in src/mpi/coll/op_free.c.gcov Uncovered lines in src/mpi/coll/bcast.c.gcov 52: branch 4 taken 0% (fallthrough) 53: branch 5 taken 100% 54: #####: 37: *ceil_pof2 = pof2; 139: -: 99: } 140: -: 100: else { 141: #####: 101: mpi_errno = NMPI_Pack_size(1, datatype, comm, &type_size); 381: branch 1 taken 100% 382: -: 274: { 383: #####: 275: curr_size = 0; /* this process doesn't receive any data 510: branch 1 taken 100% 511: -: 381: 512: #####: 382: if (HANDLE_GET_KIND(datatype) == HANDLE_KIND_BUILTIN) 513: branch 0 never executed 514: branch 1 never executed 515: #####: 383: is_contig = 1; 516: -: 384: else { 517: #####: 385: MPID_Datatype_get_ptr(datatype, dtp); 521: branch 3 never executed 522: call 4 never executed 523: #####: 386: is_contig = dtp->is_contig; 524: -: 387: } 525: -: 388: 526: #####: 389: is_homogeneous = 1; 537: -: 400: * possible, and MPI_Pack_size() in other places. 538: -: 401: */ 539: #####: 402: if (is_homogeneous) { 540: branch 0 never executed 541: branch 1 never executed 542: #####: 403: MPID_Datatype_get_size_macro(datatype, type_size); 548: -: 404: } 549: -: 405: else { 550: #####: 406: mpi_errno = NMPI_Pack_size(1, datatype, comm, &type_size); 555: call 2 never executed 556: -: 408: } 557: #####: 409: nbytes = type_size * count; 558: -: 410: 559: #####: 411: if (is_contig && is_homogeneous) 562: -: 412: { 563: -: 413: /* contiguous and homogeneous. no need to pack. */ 564: #####: 414: mpi_errno = NMPI_Type_get_true_extent(datatype, &true_lb, 570: call 2 never executed 571: -: 417: 572: #####: 418: tmp_buf = (char *) buffer + true_lb; 574: -: 420: else 575: -: 421: { 576: #####: 422: MPIU_CHKLMEM_MALLOC(tmp_buf, void *, nbytes, mpi_errno, "tmp_buf"); 587: -: 423: 588: -: 424: /* TODO: Pipeline the packing and communication */ 589: #####: 425: position = 0; 590: #####: 426: if (rank == root) 591: branch 0 never executed 592: branch 1 never executed 593: #####: 427: NMPI_Pack(buffer, count, datatype, tmp_buf, nbytes, 597: -: 430: 598: -: 431: 599: #####: 432: scatter_size = (nbytes + comm_size - 1)/comm_size; /* ceiling division */ 600: #####: 433: curr_size = (rank == root) ? nbytes : 0; /* root starts with all the 604: -: 435: 605: -: 436: 606: #####: 437: mpi_errno = scatter_for_bcast(buffer, count, datatype, root, comm_ptr, 614: -: 441: /* medium size allgather and pof2 comm_size. use recurive doubling. */ 615: -: 442: 616: #####: 443: mask = 0x1; 617: #####: 444: i = 0; 618: #####: 445: while (mask < comm_size) 620: branch 1 never executed 621: -: 446: { 622: #####: 447: relative_dst = relative_rank ^ mask; 623: -: 448: 624: #####: 449: dst = (relative_dst + root) % comm_size; 630: -: 455: and recv into buffer */ 631: -: 456: 632: #####: 457: dst_tree_root = relative_dst >> i; 633: #####: 458: dst_tree_root <<= i; 634: -: 459: 635: #####: 460: my_tree_root = relative_rank >> i; 636: #####: 461: my_tree_root <<= i; 637: -: 462: 638: #####: 463: send_offset = my_tree_root * scatter_size; 639: #####: 464: recv_offset = dst_tree_root * scatter_size; 640: -: 465: 641: #####: 466: if (relative_dst < comm_size) 643: branch 1 never executed 644: -: 467: { 645: #####: 468: mpi_errno = MPIC_Sendrecv(((char *)tmp_buf + send_offset), 654: call 2 never executed 655: -: 474: 656: #####: 475: NMPI_Get_count(&status, MPI_BYTE, &recv_size); 657: call 0 never executed 658: #####: 476: curr_size += recv_size; 779: -: 491: 780: -: 571: 781: #####: 572: mask <<= 1; 782: #####: 573: i++; 783: -: 574: } 784: -: 575: 785: #####: 576: if (!is_contig || !is_homogeneous) 787: branch 1 never executed 788: -: 577: { 789: #####: 578: if (rank != root) 791: branch 1 never executed 792: -: 579: { 793: #####: 580: position = 0; 794: #####: 581: NMPI_Unpack(tmp_buf, nbytes, &position, buffer, count, 799: -: 585: 800: -: 586:fn_exit: 801: #####: 587: MPIU_CHKLMEM_FREEALL(); 899: -: 663: } 900: -: 664: else { 901: #####: 665: mpi_errno = NMPI_Pack_size(1, datatype, comm, &type_size); 994: branch 0 taken 0% (fallthrough) 995: branch 1 taken 100% 996: #####: 707: recvcnts[i] = 0; 1130: -: 812: } 1131: -: 813: else { 1132: #####: 814: mpi_errno = NMPI_Pack_size(1, datatype, comm_ptr->handle, &type_size); 1284: -: 884: else 1285: -: 885: { 1286: #####: 886: MPIR_Bcast_fn_or_override(MPIR_Bcast_scatter_ring_allgather, mpi_errno, 1476: -: 1021: } 1477: -: 1022: else { 1478: #####: 1023: mpi_errno = NMPI_Pack_size(1, datatype, comm, &type_size); 1498: -: 1033: else /* (nbytes >= MPIR_BCAST_SHORT_MSG) && (comm_size >= MPIR_BCAST_MIN_PROCS) */ 1499: -: 1034: { 1500: #####: 1035: if ((nbytes < MPIR_BCAST_LONG_MSG) && (MPIU_is_pof2(comm_size, NULL))) 1504: branch 3 never executed 1505: -: 1036: { 1506: #####: 1037: mpi_errno = MPIR_Bcast_scatter_doubling_allgather(buffer, count, datatype, root, comm_ptr); 1516: -: 1043: topologically aware communicator. Doing inter/intra-node 1517: -: 1044: communication phases breaks the pipelining of the algorithm. */ 1518: #####: 1045: mpi_errno = MPIR_Bcast_scatter_ring_allgather(buffer, count, datatype, root, comm_ptr); 52 line(s) not covered by tests in src/mpi/coll/bcast.c.gcov Uncovered lines in src/mpi/coll/alltoall.c.gcov 1047: branch 3 never executed 1048: -: 724: { 1049: #####: 725: mpi_errno = comm_ptr->coll_fns->Alltoall(sendbuf, sendcount, 1 line(s) not covered by tests in src/mpi/coll/alltoall.c.gcov Uncovered lines in src/mpi/coll/alltoallv.c.gcov 700: branch 3 never executed 701: -: 421: { 702: #####: 422: mpi_errno = comm_ptr->coll_fns->Alltoallv(sendbuf, sendcnts, sdispls, 1 line(s) not covered by tests in src/mpi/coll/alltoallv.c.gcov Uncovered lines in src/mpi/coll/reduce.c.gcov 132: 10622: 94: uop = (MPI_User_function *) op_ptr->function.c_function; 133: -: 95: else 134: #####: 96: uop = (MPI_User_function *) op_ptr->function.f77_function; 278: branch 0 taken 0% (fallthrough) 279: branch 1 taken 100% 280: #####: 189: (*MPIR_Process.cxx_call_op_fn)( recvbuf, tmp_buf, 455: -: 318: } 456: -: 319: else { 457: #####: 320: MPID_Op_get_ptr(op, op_ptr); 461: branch 3 never executed 462: call 4 never executed 463: #####: 321: if (op_ptr->kind == MPID_OP_USER_NONCOMMUTE) 464: branch 0 never executed 465: branch 1 never executed 466: #####: 322: is_commutative = 0; 467: -: 323: else 468: #####: 324: is_commutative = 1; 469: -: 325: 470: -: 326:#ifdef HAVE_CXX_BINDING 471: #####: 327: if (op_ptr->language == MPID_LANG_CXX) { 472: branch 0 never executed 473: branch 1 never executed 474: #####: 328: uop = (MPI_User_function *) op_ptr->function.c_function; 475: #####: 329: is_cxx_uop = 1; 477: -: 331: else 478: -: 332:#endif 479: #####: 333: if ((op_ptr->language == MPID_LANG_C)) 480: branch 0 never executed 481: branch 1 never executed 482: #####: 334: uop = (MPI_User_function *) op_ptr->function.c_function; 483: -: 335: else 484: #####: 336: uop = (MPI_User_function *) op_ptr->function.f77_function; 608: branch 0 taken 0% (fallthrough) 609: branch 1 taken 100% 610: #####: 413: (*MPIR_Process.cxx_call_op_fn)( tmp_buf, recvbuf, 737: branch 0 taken 0% (fallthrough) 738: branch 1 taken 100% 739: #####: 494: (*MPIR_Process.cxx_call_op_fn)((char *) tmp_buf + 1747: branch 3 never executed 1748: -: 1068: { 1749: #####: 1069: mpi_errno = comm_ptr->coll_fns->Reduce(sendbuf, recvbuf, count, 1841: branch 4 taken 100% 1842: -: 1113: MPIU_Get_intranode_rank(comm_ptr, root) == -1) { 1843: #####: 1114: mpi_errno = MPIR_Reduce_or_coll_fn(sendbuf, tmp_buf, count, datatype, 1859: -: 1122: /* I am not on root's node. Use tmp_buf if we 1860: -: 1123: participated in the first reduce, otherwise use sendbuf */ 1861: #####: 1124: void *buf = (comm_ptr->node_comm == NULL ? sendbuf : tmp_buf); 1862: branch 0 never executed 1863: branch 1 never executed 1864: #####: 1125: mpi_errno = MPIR_Reduce(buf, NULL, count, datatype, 18 line(s) not covered by tests in src/mpi/coll/reduce.c.gcov Uncovered lines in src/mpi/coll/scatter.c.gcov 1162: branch 3 never executed 1163: -: 728: { 1164: #####: 729: mpi_errno = comm_ptr->coll_fns->Scatter(sendbuf, sendcnt, 1 line(s) not covered by tests in src/mpi/coll/scatter.c.gcov Uncovered lines in src/mpi/coll/gather.c.gcov 1168: branch 3 never executed 1169: -: 722: { 1170: #####: 723: mpi_errno = comm_ptr->coll_fns->Gather(sendbuf, sendcnt, 1 line(s) not covered by tests in src/mpi/coll/gather.c.gcov Uncovered lines in src/mpi/coll/scatterv.c.gcov 667: branch 3 never executed 668: -: 314: { 669: #####: 315: mpi_errno = comm_ptr->coll_fns->Scatterv(sendbuf, sendcnts, displs, 1 line(s) not covered by tests in src/mpi/coll/scatterv.c.gcov Uncovered lines in src/mpi/coll/gatherv.c.gcov 202: branch 0 taken 0% (fallthrough) 203: branch 1 taken 100% 204: #####: 139: min_procs = comm_size + 1; /* Disable ssend */ 206: branch 0 taken 0% (fallthrough) 207: branch 1 taken 100% 208: #####: 141: min_procs = MPIR_GATHERV_MIN_PROCS; /* Use the default value */ 211: branch 0 taken 0% (fallthrough) 212: branch 1 taken 100% 213: #####: 144: mpi_errno = MPIC_Ssend(sendbuf, sendcnt, sendtype, root, 691: branch 3 never executed 692: -: 332: { 693: #####: 333: mpi_errno = comm_ptr->coll_fns->Gatherv(sendbuf, sendcnt, 4 line(s) not covered by tests in src/mpi/coll/gatherv.c.gcov Uncovered lines in src/mpi/coll/stdlib.h.gcov 289: -: 284:__NTH (atoi (__const char *__nptr)) 290: -: 285:{ 291: #####: 286: return (int) strtol (__nptr, (char **) NULL, 10); 1 line(s) not covered by tests in src/mpi/coll/stdlib.h.gcov Uncovered lines in src/mpi/coll/scan.c.gcov 148: 4962: 118: uop = (MPI_User_function *) op_ptr->function.c_function; 149: -: 119: else 150: #####: 120: uop = (MPI_User_function *) op_ptr->function.f77_function; 232: -: 177: partial_scan, count, datatype); 233: -: 178: else 234: #####: 179: mpi_errno = MPIR_Localcopy(recvbuf, count, datatype, 320: branch 0 taken 0% (fallthrough) 321: branch 1 taken 100% 322: #####: 239: (*MPIR_Process.cxx_call_op_fn)( partial_scan, tmp_buf, 359: branch 0 taken 0% (fallthrough) 360: branch 1 taken 100% 361: #####: 268: mpi_errno = MPIU_THREADPRIV_FIELD(op_errno); 513: call 2 never executed 514: -: 365: } 515: #####: 366: else if (sendbuf != MPI_IN_PLACE) 517: branch 1 never executed 518: -: 367: { 519: #####: 368: mpi_errno = MPIR_Localcopy(sendbuf, count, datatype, 568: branch 1 taken 100% 569: -: 393: { 570: #####: 394: localfulldata = recvbuf; 593: -: 408: comm_ptr->node_roots_comm->local_size-1) 594: -: 409: { 595: #####: 410: mpi_errno = MPIC_Send(prefulldata, count, datatype, 608: branch 2 taken 100% 609: -: 416: { 610: #####: 417: mpi_errno = MPIC_Recv(tempbuf, count, datatype, 614: -: 419: MPIR_SCAN_TAG, comm_ptr->node_roots_comm->handle, 615: -: 420: &status); 616: #####: 421: noneed = 0; 643: branch 1 taken 100% 644: -: 438:#ifdef HAVE_CXX_BINDING 645: #####: 439: int is_cxx_uop = 0; 646: -: 440:#endif 647: #####: 441: if (comm_ptr->node_comm != NULL) { 648: branch 0 never executed 649: branch 1 never executed 650: #####: 442: mpi_errno = MPIR_Bcast_or_coll_fn(tempbuf, count, datatype, 0, comm_ptr->node_comm); 657: -: 445: 658: -: 446: /* do reduce on tempbuf and recvbuf, finish scan. */ 659: #####: 447: if (HANDLE_GET_KIND(op) == HANDLE_KIND_BUILTIN) { 661: branch 1 never executed 662: -: 448: /* get the function by indexing into the op table */ 663: #####: 449: uop = MPIR_Op_table[op%16 - 1]; 664: -: 450: } 665: -: 451: else { 666: #####: 452: MPID_Op_get_ptr(op, op_ptr); 672: -: 453: 673: -: 454:#ifdef HAVE_CXX_BINDING 674: #####: 455: if (op_ptr->language == MPID_LANG_CXX) { 675: branch 0 never executed 676: branch 1 never executed 677: #####: 456: uop = (MPI_User_function *) op_ptr->function.c_function; 678: #####: 457: is_cxx_uop = 1; 681: -: 460:#endif 682: -: 461: { 683: #####: 462: if ((op_ptr->language == MPID_LANG_C)) 684: branch 0 never executed 685: branch 1 never executed 686: #####: 463: uop = (MPI_User_function *) op_ptr->function.c_function; 687: -: 464: else 688: #####: 465: uop = (MPI_User_function *) op_ptr->function.f77_function; 691: -: 468: 692: -: 469:#ifdef HAVE_CXX_BINDING 693: #####: 470: if (is_cxx_uop) { 694: branch 0 never executed 695: branch 1 never executed 696: #####: 471: (*MPIR_Process.cxx_call_op_fn)( tempbuf, recvbuf, count, 700: -: 474: else 701: -: 475:#endif 702: #####: 476: (*uop)(tempbuf, recvbuf, &count, &datatype); 969: branch 3 never executed 970: -: 594: { 971: #####: 595: mpi_errno = comm_ptr->coll_fns->Scan(sendbuf, recvbuf, count, 26 line(s) not covered by tests in src/mpi/coll/scan.c.gcov Uncovered lines in src/mpi/coll/exscan.c.gcov 158: branch 0 taken 0% (fallthrough) 159: branch 1 taken 100% 160: #####: 134: is_commutative = 0; 171: -: 143: else 172: -: 144:#endif 173: #####: 145: if ((op_ptr->language == MPID_LANG_C)) 174: branch 0 never executed 175: branch 1 never executed 176: #####: 146: uop = (MPI_User_function *) op_ptr->function.c_function; 177: -: 147: else 178: #####: 148: uop = (MPI_User_function *) op_ptr->function.f77_function; 309: -: 213: } 310: -: 214: else { 311: #####: 215: call_uop(partial_scan, tmp_buf, count, datatype); 315: call 3 never executed 316: -: 216: 317: #####: 217: mpi_errno = MPIR_Localcopy(tmp_buf, count, datatype, 335: branch 0 taken 0% (fallthrough) 336: branch 1 taken 100% 337: #####: 231: mpi_errno = MPIU_THREADPRIV_FIELD(op_errno); 614: branch 3 never executed 615: -: 358: { 616: #####: 359: mpi_errno = comm_ptr->coll_fns->Exscan(sendbuf, recvbuf, count, 8 line(s) not covered by tests in src/mpi/coll/exscan.c.gcov Uncovered lines in src/mpi/coll/allgatherv.c.gcov 889: branch 0 taken 0% (fallthrough) 890: branch 1 taken 100% 891: #####: 735: min = 1; 1431: branch 3 never executed 1432: -: 1057: { 1433: #####: 1058: mpi_errno = comm_ptr->coll_fns->Allgatherv(sendbuf, sendcount, 2 line(s) not covered by tests in src/mpi/coll/allgatherv.c.gcov Uncovered lines in src/mpi/coll/alltoallw.c.gcov 720: branch 3 never executed 721: -: 447: { 722: #####: 448: mpi_errno = comm_ptr->coll_fns->Alltoallw(sendbuf, sendcnts, sdispls, 1 line(s) not covered by tests in src/mpi/coll/alltoallw.c.gcov Uncovered lines in src/mpi/coll/op_commutative.c.gcov 58: -: 53:int MPI_Op_commutative(MPI_Op op, int *commute) 59: function PMPI_Op_commutative called 0 returned 0% blocks executed 0% 60: #####: 54:{ 61: #####: 55: MPID_Op *op_ptr = NULL; 62: #####: 56: int mpi_errno = MPI_SUCCESS; 63: #####: 57: MPIU_THREADPRIV_DECL; 64: -: 58: MPID_MPI_STATE_DECL(MPID_STATE_MPI_OP_COMMUTATIVE); 65: -: 59: 66: #####: 60: MPIR_ERRTEST_INITIALIZED_ORDIE(); 69: call 2 never executed 70: -: 61: 71: #####: 62: MPIU_THREAD_CS_ENTER(ALLFUNC,); 86: -: 63: MPID_MPI_FUNC_ENTER(MPID_STATE_MPI_OP_COMMUTATIVE); 87: -: 64: 88: #####: 65: MPID_Op_get_ptr( op, op_ptr ); 112: -: 78: /* ... body of routine ... */ 113: -: 79: 114: #####: 80: if (HANDLE_GET_KIND(op) == HANDLE_KIND_BUILTIN) { 115: branch 0 never executed 116: branch 1 never executed 117: #####: 81: *commute = 1; 119: -: 83: } 120: -: 84: else { 121: #####: 85: if (op_ptr->kind == MPID_OP_USER_NONCOMMUTE) 122: branch 0 never executed 123: branch 1 never executed 124: #####: 86: *commute = 0; 125: -: 87: else 126: #####: 88: *commute = 1; 129: -: 91: /* ... end of body of routine ... */ 130: -: 92: 131: #####: 93:fn_exit: 132: #####: 93:fn_exit: 133: #####: 95: return mpi_errno; 14 line(s) not covered by tests in src/mpi/coll/op_commutative.c.gcov Uncovered lines in src/mpi/coll/helper_fns.c.gcov 74: 1687735: 44: fn_exit: 75: 1687735: 46: return mpi_errno; 76: #####: 48: if (request_ptr) { 77: branch 0 never executed 78: branch 1 never executed 79: #####: 49: MPID_Request_release(request_ptr); 151: 1685060: 87: fn_exit: 152: 1685060: 89: return mpi_errno; 153: #####: 91: if (request_ptr) { 154: branch 0 never executed 155: branch 1 never executed 156: #####: 92: MPID_Request_release(request_ptr); 173: -: 102: MPI_Comm comm) 174: function MPIC_Ssend called 0 returned 0% blocks executed 0% 175: #####: 103:{ 176: -: 104: int mpi_errno, context_id; 177: #####: 105: MPID_Request *request_ptr=NULL; 178: #####: 106: MPID_Comm *comm_ptr=NULL; 181: -: 109: MPIDI_PT2PT_FUNC_ENTER_FRONT(MPID_STATE_MPIC_SSEND); 182: -: 110: 183: #####: 111: MPID_Comm_get_ptr( comm, comm_ptr ); 187: branch 3 never executed 188: call 4 never executed 189: #####: 112: context_id = (comm_ptr->comm_kind == MPID_INTRACOMM) ? 190: -: 113: MPID_CONTEXT_INTRA_COLL : MPID_CONTEXT_INTER_COLL; 191: -: 114: 192: #####: 115: mpi_errno = MPID_Ssend(buf, count, datatype, dest, tag, comm_ptr, 197: branch 1 never executed 198: call 2 never executed 199: #####: 118: if (request_ptr) { 200: branch 0 never executed 201: branch 1 never executed 202: #####: 119: mpi_errno = MPIC_Wait(request_ptr); 206: branch 1 never executed 207: call 2 never executed 208: #####: 121: MPID_Request_release(request_ptr); 215: call 6 never executed 216: -: 122: } 217: #####: 123: fn_exit: 218: #####: 123: fn_exit: 219: #####: 125: return mpi_errno; 220: #####: 125: return mpi_errno; 221: #####: 127: if (request_ptr) { 222: branch 0 never executed 223: branch 1 never executed 224: #####: 128: MPID_Request_release(request_ptr); 574: -: 318: { 575: call 0 never executed 576: #####: 320: copy_sz = rdata_sz; 749: branch 1 taken 0% (fallthrough) 750: -: 414: { 751: #####: 415: memmove(buf, buf_end - buf_off, buf_off); 19 line(s) not covered by tests in src/mpi/coll/helper_fns.c.gcov Uncovered lines in src/mpi/coll/opsum.c.gcov 141: branch 0 taken 75% 142: branch 1 taken 25% 143: #####: 38: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 152: branch 8 never executed 153: branch 9 never executed 154: #####: 39: MPIR_OP_TYPE_GROUP(FLOATING_POINT_EXTRA) 173: -: 54:#undef MPIR_OP_C_COMPLEX_TYPE_MACRO 174: -: 55:#define MPIR_OP_C_COMPLEX_TYPE_MACRO(mpi_type_,c_type_) MPIR_OP_TYPE_REDUCE_CASE(mpi_type_,c_type_,MPIR_LSUM) 175: #####: 56: MPIR_OP_TYPE_GROUP(COMPLEX) 3 line(s) not covered by tests in src/mpi/coll/opsum.c.gcov Uncovered lines in src/mpi/coll/opmin.c.gcov 107: branch 34 taken 91% 108: branch 35 taken 9% 109: #####: 32: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER) 139: branch 0 taken 75% 140: branch 1 taken 25% 141: #####: 36: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 150: branch 8 never executed 151: branch 9 never executed 152: #####: 37: MPIR_OP_TYPE_GROUP(FLOATING_POINT_EXTRA) 3 line(s) not covered by tests in src/mpi/coll/opmin.c.gcov Uncovered lines in src/mpi/coll/opbor.c.gcov 105: branch 34 taken 91% 106: branch 35 taken 9% 107: #####: 36: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER) 119: branch 0 taken 75% 120: branch 1 taken 25% 121: #####: 40: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 2 line(s) not covered by tests in src/mpi/coll/opbor.c.gcov Uncovered lines in src/mpi/coll/opland.c.gcov 208: -: 57: } 209: -: 58: /* expand logicals (which may include MPI_C_BOOL, a non-Fortran type) */ 210: #####: 59: MPIR_OP_TYPE_GROUP(LOGICAL) 240: branch 4 taken 75% 241: branch 5 taken 25% 242: #####: 73: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER) 259: branch 16 taken 91% 260: branch 17 taken 9% 261: #####: 74: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 323: branch 28 taken 75% 324: branch 29 taken 25% 325: #####: 78: MPIR_OP_TYPE_GROUP(FLOATING_POINT_EXTRA) 4 line(s) not covered by tests in src/mpi/coll/opland.c.gcov Uncovered lines in src/mpi/coll/oplxor.c.gcov 280: -: 57: } 281: -: 58: /* expand logicals (which may include MPI_C_BOOL, a non-Fortran type) */ 282: #####: 59: MPIR_OP_TYPE_GROUP(LOGICAL) 324: branch 8 taken 75% 325: branch 9 taken 25% 326: #####: 73: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER) 355: branch 28 taken 91% 356: branch 29 taken 9% 357: #####: 74: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 459: branch 48 taken 75% 460: branch 49 taken 25% 461: #####: 78: MPIR_OP_TYPE_GROUP(FLOATING_POINT_EXTRA) 4 line(s) not covered by tests in src/mpi/coll/oplxor.c.gcov Uncovered lines in src/mpi/coll/opminloc.c.gcov 153: -: 101:#ifdef HAVE_FORTRAN_BINDING 154: -: 102:#ifndef HAVE_NO_FORTRAN_MPI_TYPES_IN_C 155: #####: 103: case MPI_2INTEGER: MPIR_MINLOC_F_CASE(int); 160: branch 4 never executed 161: branch 5 never executed 162: #####: 104: case MPI_2REAL: MPIR_MINLOC_F_CASE(float); 169: branch 6 never executed 170: branch 7 never executed 171: #####: 105: case MPI_2DOUBLE_PRECISION: MPIR_MINLOC_F_CASE(double); 3 line(s) not covered by tests in src/mpi/coll/opminloc.c.gcov Uncovered lines in src/mpi/coll/allgather.c.gcov 1170: branch 3 never executed 1171: -: 823: { 1172: #####: 824: mpi_errno = comm_ptr->coll_fns->Allgather(sendbuf, sendcount, 1 line(s) not covered by tests in src/mpi/coll/allgather.c.gcov Uncovered lines in src/mpi/coll/red_scat.c.gcov 125: branch 0 taken 0% (fallthrough) 126: branch 1 taken 100% 127: #####: 112: is_commutative = 1; 128: -: 113: /* get the function by indexing into the op table */ 129: #####: 114: uop = MPIR_Op_table[op%16 - 1]; 141: 1956: 119: is_commutative = 0; 142: -: 120: else 143: #####: 121: is_commutative = 1; 147: branch 0 taken 0% (fallthrough) 148: branch 1 taken 100% 149: #####: 125: uop = (MPI_User_function *) op_ptr->function.c_function; 150: #####: 126: is_cxx_uop = 1; 157: 1956: 131: uop = (MPI_User_function *) op_ptr->function.c_function; 158: -: 132: else 159: #####: 133: uop = (MPI_User_function *) op_ptr->function.f77_function; 462: branch 0 taken 0% (fallthrough) 463: branch 1 taken 100% 464: #####: 340: uop = (MPI_User_function *) op_ptr->function.c_function; 465: #####: 341: is_cxx_uop = 1; 472: 4176: 346: uop = (MPI_User_function *) op_ptr->function.c_function; 473: -: 347: else 474: #####: 348: uop = (MPI_User_function *) op_ptr->function.f77_function; 498: branch 0 taken 0% (fallthrough) 499: branch 1 taken 100% 500: #####: 360: goto fn_exit; 633: branch 0 taken 0% (fallthrough) 634: branch 1 taken 100% 635: #####: 445: (*MPIR_Process.cxx_call_op_fn)( tmp_recvbuf, tmp_results, 761: -: 522: MPIR_REDUCE_SCATTER_TAG, comm, 762: -: 523: MPI_STATUS_IGNORE); 763: #####: 524: else if ((send_cnt == 0) && (recv_cnt != 0)) 764: branch 0 never executed 765: branch 1 never executed 766: #####: 525: mpi_errno = MPIC_Recv((char *) tmp_recvbuf + 770: -: 528: MPIR_REDUCE_SCATTER_TAG, comm, 771: -: 529: MPI_STATUS_IGNORE); 772: #####: 530: else if ((recv_cnt == 0) && (send_cnt != 0)) 773: branch 0 never executed 774: branch 1 never executed 775: #####: 531: mpi_errno = MPIC_Send((char *) tmp_results + 795: branch 0 taken 0% (fallthrough) 796: branch 1 taken 100% 797: #####: 545: (*MPIR_Process.cxx_call_op_fn)((char *) tmp_recvbuf + 875: -: 600: use (p-1) pairwise exchanges */ 876: -: 601: 877: #####: 602: if (sendbuf != MPI_IN_PLACE) { 879: branch 1 never executed 880: -: 603: /* copy local data into recvbuf */ 881: #####: 604: mpi_errno = MPIR_Localcopy(((char *)sendbuf+disps[rank]*extent), 890: -: 609: 891: -: 610: /* allocate temporary buffer to store incoming data */ 892: #####: 611: MPIU_CHKLMEM_MALLOC(tmp_recvbuf, void *, recvcnts[rank]*(MPIR_MAX(true_extent,extent))+1, mpi_errno, "tmp_recvbuf"); 902: call 9 never executed 903: -: 612: /* adjust for potential negative lower bound in datatype */ 904: #####: 613: tmp_recvbuf = (void *)((char*)tmp_recvbuf - true_lb); 905: -: 614: 906: #####: 615: for (i=1; irank; 1457: #####: 1001: local_size = comm_ptr->local_size; 1458: -: 1002: 1459: #####: 1003: total_count = 0; 1460: #####: 1004: for (i=0; iis_low_group) { 1528: branch 1 never executed 1529: -: 1049: /* reduce from right group to rank 0*/ 1530: #####: 1050: root = (rank == 0) ? MPI_ROOT : MPI_PROC_NULL; 1531: branch 0 never executed 1532: branch 1 never executed 1533: #####: 1051: mpi_errno = MPIR_Reduce_inter(sendbuf, tmp_buf, total_count, datatype, op, 1546: -: 1060: 1547: -: 1061: /* reduce to rank 0 of right group */ 1548: #####: 1062: root = 0; 1549: #####: 1063: mpi_errno = MPIR_Reduce_inter(sendbuf, tmp_buf, total_count, datatype, op, 1563: -: 1073: else { 1564: -: 1074: /* reduce to rank 0 of left group */ 1565: #####: 1075: root = 0; 1566: #####: 1076: mpi_errno = MPIR_Reduce_inter(sendbuf, tmp_buf, total_count, datatype, op, 1579: -: 1085: 1580: -: 1086: /* reduce from right group to rank 0 */ 1581: #####: 1087: root = (rank == 0) ? MPI_ROOT : MPI_PROC_NULL; 1582: branch 0 never executed 1583: branch 1 never executed 1584: #####: 1088: mpi_errno = MPIR_Reduce_inter(sendbuf, tmp_buf, total_count, datatype, op, 1598: -: 1098: 1599: -: 1099: /* Get the local intracommunicator */ 1600: #####: 1100: if (!comm_ptr->local_comm) 1601: branch 0 never executed 1602: branch 1 never executed 1603: #####: 1101: MPIR_Setup_intercomm_localcomm( comm_ptr ); 1604: call 0 never executed 1605: -: 1102: 1606: #####: 1103: newcomm_ptr = comm_ptr->local_comm; 1607: -: 1104: 1608: #####: 1105: mpi_errno = MPIR_Scatterv(tmp_buf, recvcnts, disps, datatype, recvbuf, 1620: -: 1106: recvcnts[rank], datatype, 0, newcomm_ptr); 1621: -: 1114: 1622: #####: 1115: if (rank == 0) { 1623: branch 0 never executed 1624: branch 1 never executed 1625: #####: 1116: MPIU_Free(disps); 1626: call 0 never executed 1627: #####: 1117: MPIU_Free((char*)tmp_buf+true_lb); 1629: -: 1118: } 1630: -: 1119: 1631: #####: 1120: return mpi_errno; 1904: branch 3 never executed 1905: -: 1244: { 1906: #####: 1245: mpi_errno = comm_ptr->coll_fns->Reduce_scatter(sendbuf, recvbuf, 1933: -: 1259: else { 1934: -: 1260: /* intercommunicator */ 1935: #####: 1261: mpi_errno = MPIR_Reduce_scatter_inter(sendbuf, recvbuf, 91 line(s) not covered by tests in src/mpi/coll/red_scat.c.gcov Uncovered lines in src/mpi/coll/reduce_local.c.gcov 187: branch 0 taken 0% (fallthrough) 188: branch 1 taken 100% 189: #####: 115: uop = (MPI_User_function *) op_ptr->function.c_function; 190: #####: 116: is_cxx_uop = 1; 198: 64: 122: uop = (MPI_User_function *) op_ptr->function.c_function; 199: -: 123: else 200: #####: 124: uop = (MPI_User_function *) op_ptr->function.f77_function; 207: branch 0 taken 0% (fallthrough) 208: branch 1 taken 100% 209: #####: 131: (*MPIR_Process.cxx_call_op_fn)(inbuf, inoutbuf, count, datatype, uop); 4 line(s) not covered by tests in src/mpi/coll/reduce_local.c.gcov Uncovered lines in src/mpi/coll/red_scat_block.c.gcov 341: branch 1 taken 100% 342: -: 160: /* Get the local intracommunicator */ 343: #####: 161: if (!comm_ptr->local_comm) 344: branch 0 never executed 345: branch 1 never executed 346: #####: 162: MPIR_Setup_intercomm_localcomm(comm_ptr); 347: call 0 never executed 348: #####: 163: scatter_comm_ptr = comm_ptr->local_comm; 3 line(s) not covered by tests in src/mpi/coll/red_scat_block.c.gcov All code covered by tests in src/mpi/coll/mpiimpl.h.gcov Uncovered lines in src/mpi/coll/opmax.c.gcov 108: branch 34 taken 91% 109: branch 35 taken 9% 110: #####: 33: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER) 140: branch 0 taken 75% 141: branch 1 taken 25% 142: #####: 37: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 151: branch 8 never executed 152: branch 9 never executed 153: #####: 38: MPIR_OP_TYPE_GROUP(FLOATING_POINT_EXTRA) 3 line(s) not covered by tests in src/mpi/coll/opmax.c.gcov Uncovered lines in src/mpi/coll/opband.c.gcov 105: branch 34 taken 91% 106: branch 35 taken 9% 107: #####: 36: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER) 119: branch 0 taken 75% 120: branch 1 taken 25% 121: #####: 40: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 2 line(s) not covered by tests in src/mpi/coll/opband.c.gcov Uncovered lines in src/mpi/coll/opbxor.c.gcov 105: branch 34 taken 91% 106: branch 35 taken 9% 107: #####: 36: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER) 119: branch 0 taken 75% 120: branch 1 taken 25% 121: #####: 40: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 2 line(s) not covered by tests in src/mpi/coll/opbxor.c.gcov Uncovered lines in src/mpi/coll/oplor.c.gcov 208: -: 57: } 209: -: 58: /* expand logicals (which may include MPI_C_BOOL, a non-Fortran type) */ 210: #####: 59: MPIR_OP_TYPE_GROUP(LOGICAL) 240: branch 4 taken 75% 241: branch 5 taken 25% 242: #####: 73: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER) 259: branch 16 taken 91% 260: branch 17 taken 9% 261: #####: 74: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 323: branch 28 taken 75% 324: branch 29 taken 25% 325: #####: 78: MPIR_OP_TYPE_GROUP(FLOATING_POINT_EXTRA) 4 line(s) not covered by tests in src/mpi/coll/oplor.c.gcov Uncovered lines in src/mpi/coll/opprod.c.gcov 119: branch 34 taken 91% 120: branch 35 taken 9% 121: #####: 34: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER) 141: branch 0 taken 75% 142: branch 1 taken 25% 143: #####: 38: MPIR_OP_TYPE_GROUP(FORTRAN_INTEGER_EXTRA) 152: branch 8 never executed 153: branch 9 never executed 154: #####: 39: MPIR_OP_TYPE_GROUP(FLOATING_POINT_EXTRA) 174: -: 55:#undef MPIR_OP_C_COMPLEX_TYPE_MACRO 175: -: 56:#define MPIR_OP_C_COMPLEX_TYPE_MACRO(mpi_type_,c_type_) MPIR_OP_TYPE_REDUCE_CASE(mpi_type_,c_type_,MPIR_LPROD) 176: #####: 57: MPIR_OP_TYPE_GROUP(COMPLEX) 4 line(s) not covered by tests in src/mpi/coll/opprod.c.gcov Uncovered lines in src/mpi/coll/opmaxloc.c.gcov 154: -: 102:#ifdef HAVE_FORTRAN_BINDING 155: -: 103:#ifndef HAVE_NO_FORTRAN_MPI_TYPES_IN_C 156: #####: 104: case MPI_2INTEGER: MPIR_MAXLOC_F_CASE(int); 161: branch 4 never executed 162: branch 5 never executed 163: #####: 105: case MPI_2REAL: MPIR_MAXLOC_F_CASE(float); 170: branch 6 never executed 171: branch 7 never executed 172: #####: 106: case MPI_2DOUBLE_PRECISION: MPIR_MAXLOC_F_CASE(double); 3 line(s) not covered by tests in src/mpi/coll/opmaxloc.c.gcov All code covered by tests in src/mpi/comm/comm_compare.c.gcov Uncovered lines in src/mpi/comm/comm_create.c.gcov 411: branch 0 taken 0% (fallthrough) 412: branch 1 taken 100% 413: #####: 307: MPIR_Comm_release(newcomm_ptr, 0/*isDisconnect*/); 414: call 0 never executed 415: #####: 308: new_context_id = 0; /* MPIR_Comm_release frees the new ctx id */ 2 line(s) not covered by tests in src/mpi/comm/comm_create.c.gcov All code covered by tests in src/mpi/comm/comm_dup.c.gcov All code covered by tests in src/mpi/comm/comm_free.c.gcov All code covered by tests in src/mpi/comm/comm_get_name.c.gcov All code covered by tests in src/mpi/comm/comm_group.c.gcov All code covered by tests in src/mpi/comm/comm_rank.c.gcov All code covered by tests in src/mpi/comm/comm_size.c.gcov All code covered by tests in src/mpi/comm/comm_remote_group.c.gcov All code covered by tests in src/mpi/comm/comm_remote_size.c.gcov All code covered by tests in src/mpi/comm/comm_set_name.c.gcov All code covered by tests in src/mpi/comm/comm_split.c.gcov All code covered by tests in src/mpi/comm/comm_test_inter.c.gcov Uncovered lines in src/mpi/comm/intercomm_create.c.gcov 579: branch 0 taken 0% (fallthrough) 580: branch 1 taken 100% 581: #####: 388: MPIR_Nest_decr(); 596: branch 0 taken 0% (fallthrough) 597: branch 1 taken 100% 598: #####: 401: MPIR_Nest_decr(); 606: branch 0 taken 0% (fallthrough) 607: branch 1 taken 100% 608: #####: 408: MPIR_Nest_decr(); 3 line(s) not covered by tests in src/mpi/comm/intercomm_create.c.gcov All code covered by tests in src/mpi/comm/intercomm_merge.c.gcov Uncovered lines in src/mpi/comm/commutil.c.gcov 277: branch 0 taken 0% (fallthrough) 278: branch 1 taken 100% 279: #####: 239: MPIU_Free(comm->intranode_table); 282: branch 0 taken 0% (fallthrough) 283: branch 1 taken 100% 284: #####: 241: MPIU_Free(comm->internode_table); 451: branch 0 taken 0% (fallthrough) 452: branch 1 taken 100% 453: #####: 351: curr_nodeidx++; 455: branch 0 taken 0% (fallthrough) 456: branch 1 taken 100% 457: #####: 353: return 0; 901: branch 1 taken 100% 902: -: 701: /* Release the mask for use by other threads */ 903: #####: 702: if (own_mask) { 904: branch 0 never executed 905: branch 1 never executed 906: #####: 703: mask_in_use = 0; 923: 961421: 718: return mpi_errno; 924: -: 720: /* Release the masks */ 925: #####: 721: if (own_mask) { 926: branch 0 never executed 927: branch 1 never executed 928: #####: 722: mask_in_use = 0; 8 line(s) not covered by tests in src/mpi/comm/commutil.c.gcov All code covered by tests in src/mpi/comm/mpiimpl.h.gcov All code covered by tests in src/mpi/datatype/address.c.gcov All code covered by tests in src/mpi/datatype/get_address.c.gcov All code covered by tests in src/mpi/datatype/get_count.c.gcov Uncovered lines in src/mpi/datatype/get_elements.c.gcov 108: -: 88:#ifdef HAVE_FORTRAN_BINDING 109: -: 89: case MPI_2REAL: 110: #####: 90: type1_sz = type2_sz = MPID_Datatype_get_basic_size(MPI_REAL); 111: #####: 91: break; 112: -: 92: case MPI_2DOUBLE_PRECISION: 113: #####: 93: type1_sz = type2_sz = 114: -: 94: MPID_Datatype_get_basic_size(MPI_DOUBLE_PRECISION); 115: #####: 95: break; 116: -: 96: case MPI_2INTEGER: 117: #####: 97: type1_sz = type2_sz = MPID_Datatype_get_basic_size(MPI_INTEGER); 118: #####: 98: break; 119: -: 99:#endif 120: -: 100: case MPI_2INT: 121: #####: 101: type1_sz = type2_sz = MPID_Datatype_get_basic_size(MPI_INT); 122: #####: 102: break; 123: -: 103: case MPI_FLOAT_INT: 124: #####: 104: type1_sz = MPID_Datatype_get_basic_size(MPI_FLOAT); 125: #####: 105: type2_sz = MPID_Datatype_get_basic_size(MPI_INT); 126: #####: 106: break; 130: 1: 110: break; 131: -: 111: case MPI_LONG_INT: 132: #####: 112: type1_sz = MPID_Datatype_get_basic_size(MPI_LONG); 133: #####: 113: type2_sz = MPID_Datatype_get_basic_size(MPI_INT); 134: #####: 114: break; 135: -: 115: case MPI_SHORT_INT: 136: #####: 116: type1_sz = MPID_Datatype_get_basic_size(MPI_SHORT); 137: #####: 117: type2_sz = MPID_Datatype_get_basic_size(MPI_INT); 138: #####: 118: break; 139: -: 119: case MPI_LONG_DOUBLE_INT: 140: #####: 120: type1_sz = MPID_Datatype_get_basic_size(MPI_LONG_DOUBLE); 141: #####: 121: type2_sz = MPID_Datatype_get_basic_size(MPI_INT); 142: #####: 122: break; 219: branch 0 taken 0% (fallthrough) 220: branch 1 taken 100% 221: #####: 182: return MPIR_Type_get_basic_type_elements(bytes_p, 238: branch 0 taken 0% (fallthrough) 239: branch 1 taken 100% 240: #####: 198: return MPI_ERR_TYPE; 244: branch 0 taken 0% (fallthrough) 245: branch 1 taken 100% 246: #####: 202: return MPI_ERR_TYPE; 250: branch 0 taken 0% (fallthrough) 251: branch 1 taken 100% 252: #####: 206: return MPI_ERR_TYPE; 256: branch 0 taken 0% (fallthrough) 257: branch 1 taken 100% 258: #####: 210: return MPI_ERR_TYPE; 268: -: 214: case MPI_COMBINER_DUP: 269: -: 215: case MPI_COMBINER_RESIZED: 270: #####: 216: return MPIR_Type_get_elements(bytes_p, count, *types); 276: -: 221: case MPI_COMBINER_HVECTOR: 277: -: 222: /* count is first in ints array */ 278: #####: 223: return MPIR_Type_get_elements(bytes_p, count * (*ints), *types); 281: -: 225: case MPI_COMBINER_INDEXED_BLOCK: 282: -: 226: /* count is first in ints array, blocklength is second */ 283: #####: 227: return MPIR_Type_get_elements(bytes_p, 289: -: 232: case MPI_COMBINER_HINDEXED_INTEGER: 290: -: 233: case MPI_COMBINER_HINDEXED: 291: #####: 234: for (i=0; i < (*ints); i++) { 293: branch 1 never executed 294: -: 235: /* add up the blocklengths to get a max. # of the next type */ 295: #####: 236: typecount += ints[i+1]; 296: -: 237: } 297: #####: 238: return MPIR_Type_get_elements(bytes_p, count * typecount, *types); 528: branch 0 taken 0% (fallthrough) 529: branch 1 taken 100% 530: #####: 393: *elements = MPI_UNDEFINED; 32 line(s) not covered by tests in src/mpi/datatype/get_elements.c.gcov All code covered by tests in src/mpi/datatype/pack.c.gcov All code covered by tests in src/mpi/datatype/unpack.c.gcov All code covered by tests in src/mpi/datatype/mpiimpl.h.gcov All code covered by tests in src/mpi/datatype/pack_size.c.gcov All code covered by tests in src/mpi/datatype/status_set_elements.c.gcov All code covered by tests in src/mpi/datatype/type_get_name.c.gcov All code covered by tests in src/mpi/datatype/type_set_name.c.gcov All code covered by tests in src/mpi/datatype/type_size.c.gcov All code covered by tests in src/mpi/datatype/type_extent.c.gcov All code covered by tests in src/mpi/datatype/type_vector.c.gcov All code covered by tests in src/mpi/datatype/type_commit.c.gcov All code covered by tests in src/mpi/datatype/type_indexed.c.gcov All code covered by tests in src/mpi/datatype/type_hindexed.c.gcov All code covered by tests in src/mpi/datatype/type_struct.c.gcov All code covered by tests in src/mpi/datatype/type_contiguous.c.gcov All code covered by tests in src/mpi/datatype/type_free.c.gcov All code covered by tests in src/mpi/datatype/type_hvector.c.gcov All code covered by tests in src/mpi/datatype/type_dup.c.gcov All code covered by tests in src/mpi/datatype/type_get_envelope.c.gcov All code covered by tests in src/mpi/datatype/type_get_contents.c.gcov All code covered by tests in src/mpi/datatype/type_ub.c.gcov All code covered by tests in src/mpi/datatype/type_lb.c.gcov All code covered by tests in src/mpi/datatype/type_get_extent.c.gcov All code covered by tests in src/mpi/datatype/type_get_true_extent.c.gcov All code covered by tests in src/mpi/datatype/type_match_size.c.gcov All code covered by tests in src/mpi/datatype/type_create_struct.c.gcov All code covered by tests in src/mpi/datatype/type_create_hindexed.c.gcov All code covered by tests in src/mpi/datatype/type_create_hvector.c.gcov Uncovered lines in src/mpi/datatype/pack_external.c.gcov 161: branch 0 taken 0% (fallthrough) 162: branch 1 taken 100% 163: #####: 109: goto fn_exit; 1 line(s) not covered by tests in src/mpi/datatype/pack_external.c.gcov All code covered by tests in src/mpi/datatype/pack_external_size.c.gcov Uncovered lines in src/mpi/datatype/unpack_external.c.gcov 156: branch 0 taken 0% (fallthrough) 157: branch 1 taken 100% 158: #####: 107: goto fn_exit; 1 line(s) not covered by tests in src/mpi/datatype/unpack_external.c.gcov All code covered by tests in src/mpi/datatype/type_create_indexed_block.c.gcov All code covered by tests in src/mpi/datatype/type_create_resized.c.gcov Uncovered lines in src/mpi/datatype/type_create_darray.c.gcov 84: 924: 76: blksize = (global_size + nprocs - 1)/nprocs; 85: -: 77: else { 86: #####: 78: blksize = darg; 129: branch 0 taken 0% (fallthrough) 130: branch 1 taken 100% 131: #####: 113: if (dim == 0) { 132: branch 0 never executed 133: branch 1 never executed 134: #####: 114: mpi_errno = MPID_Type_contiguous(mysize, 148: -: 124: } 149: -: 125: else { 150: #####: 126: for (i=0; idim; i--) stride *= (MPI_Aint)(array_of_gsizes[i]); 304: branch 1 never executed 305: -: 238: 306: #####: 239: mpi_errno = MPID_Type_vector(count, 322: -: 244: type_new); 323: -: 252: 324: #####: 253: if (rem) { 328: -: 255: it separately using MPI_Type_struct */ 329: -: 256: 330: #####: 257: types[0] = *type_new; 331: #####: 258: types[1] = type_old; 332: #####: 259: disps[0] = 0; 333: #####: 260: disps[1] = (MPI_Aint) count * stride; 334: #####: 261: blklens[0] = 1; 335: #####: 262: blklens[1] = rem; 336: -: 263: 337: #####: 264: mpi_errno = MPID_Type_struct(2, 341: -: 267: types, 342: -: 268: &type_tmp); 343: #####: 269: MPIR_Nest_incr(); 344: #####: 270: NMPI_Type_free(type_new); 345: call 0 never executed 346: #####: 271: MPIR_Nest_decr(); 347: #####: 272: *type_new = type_tmp; 361: -: 283: /* In the first iteration, we need to set the displacement in that 362: -: 284: dimension correctly. */ 363: #####: 285: if (((order == MPI_ORDER_FORTRAN) && (dim == 0)) || 370: -: 286: ((order == MPI_ORDER_C) && (dim == ndims-1))) 371: -: 287: { 372: #####: 288: types[0] = MPI_LB; 373: #####: 289: disps[0] = 0; 374: #####: 290: types[1] = *type_new; 375: #####: 291: disps[1] = (MPI_Aint) rank * (MPI_Aint) blksize * orig_extent; 376: #####: 292: types[2] = MPI_UB; 377: #####: 293: disps[2] = orig_extent * (MPI_Aint)(array_of_gsizes[dim]); 378: #####: 294: blklens[0] = blklens[1] = blklens[2] = 1; 379: #####: 295: mpi_errno = MPID_Type_struct(3, 383: -: 298: types, 384: -: 299: &type_tmp); 385: #####: 300: MPIR_Nest_incr(); 386: #####: 301: NMPI_Type_free(type_new); 387: call 0 never executed 388: #####: 302: MPIR_Nest_decr(); 389: #####: 303: *type_new = type_tmp; 400: -: 304: 401: -: 312: 402: #####: 313: *st_offset = 0; /* set it to 0 because it is taken care of in 404: -: 315: } 405: -: 316: else { 406: #####: 317: *st_offset = (MPI_Aint) rank * (MPI_Aint) blksize; 409: -: 320: } 410: -: 321: 411: #####: 322: if (local_size == 0) *st_offset = 0; 413: branch 1 never executed 414: -: 323: 415: #####: 324: return MPI_SUCCESS; 746: branch 1 taken 100% 747: -: 529: /* dimension 0 changes fastest */ 748: #####: 530: for (i=0; ierrhandler->handle == MPI_ERRORS_ARE_FATAL) { 165: call 0 returned 0% 166: #####: 106: goto fn_exit; 171: branch 1 taken 100% 172: -: 110: /* MPI_ERRORS_RETURN should always return MPI_SUCCESS */ 173: #####: 111: goto fn_exit; 182: branch 0 taken 0% (fallthrough) 183: branch 1 taken 100% 184: #####: 120: mpi_errno = errorcode; 185: #####: 121: goto fn_exit; 207: -: 139: case MPID_LANG_FORTRAN90: 208: -: 140: case MPID_LANG_FORTRAN: 209: #####: 141: (*comm_ptr->errhandler->errfn.F77_Handler_function)( 5 line(s) not covered by tests in src/mpi/errhan/comm_call_errhandler.c.gcov All code covered by tests in src/mpi/errhan/comm_create_errhandler.c.gcov Uncovered lines in src/mpi/errhan/comm_get_errhandler.c.gcov 147: branch 0 taken 0% (fallthrough) 148: branch 1 taken 100% 149: #####: 96: *errhandler = MPI_ERRORS_ARE_FATAL; 1 line(s) not covered by tests in src/mpi/errhan/comm_get_errhandler.c.gcov All code covered by tests in src/mpi/errhan/comm_set_errhandler.c.gcov All code covered by tests in src/mpi/errhan/errhandler_create.c.gcov All code covered by tests in src/mpi/errhan/errhandler_free.c.gcov All code covered by tests in src/mpi/errhan/errhandler_get.c.gcov All code covered by tests in src/mpi/errhan/errhandler_set.c.gcov All code covered by tests in src/mpi/errhan/error_class.c.gcov All code covered by tests in src/mpi/errhan/error_string.c.gcov All code covered by tests in src/mpi/errhan/file_create_errhandler.c.gcov All code covered by tests in src/mpi/errhan/file_get_errhandler.c.gcov Uncovered lines in src/mpi/errhan/file_set_errhandler.c.gcov 241: branch 0 taken 0% (fallthrough) 242: branch 1 taken 100% 243: #####: 176: *c = 0; 244: #####: 177: *kind = 1; /* Use errors return as the default */ 258: branch 1 taken 100% 259: -: 182: /* FIXME: We need an error return */ 260: #####: 183: *c = 0; 261: #####: 184: *kind = 1; 262: #####: 185: return; 272: branch 1 taken 100% 273: -: 189: /* FIXME: We need an error return */ 274: #####: 190: *c = 0; 275: #####: 191: *kind = 1; 276: #####: 192: return; 279: branch 0 taken 0% (fallthrough) 280: branch 1 taken 100% 281: #####: 195: *c = 0; 282: #####: 196: *kind = 1; 285: branch 0 taken 0% (fallthrough) 286: branch 1 taken 100% 287: #####: 199: *c = 0; 288: #####: 200: *kind = 0; 12 line(s) not covered by tests in src/mpi/errhan/file_set_errhandler.c.gcov All code covered by tests in src/mpi/errhan/win_create_errhandler.c.gcov All code covered by tests in src/mpi/errhan/win_get_errhandler.c.gcov Uncovered lines in src/mpi/errhan/errutil.c.gcov 252: branch 0 taken 0% (fallthrough) 253: branch 1 taken 100% 254: #####: 218: MPIU_Error_printf("Attempting to use an MPI routine before initializing MPICH\n"); 262: -: 222: } 263: -: 223: else { 264: #####: 224: MPIU_Error_printf("Internal Error: Unknown state of MPI (neither initialized nor finalized)\n" ); 387: -: 306: case MPID_LANG_FORTRAN90: 388: -: 307: case MPID_LANG_FORTRAN: 389: #####: 308: (*comm_ptr->errhandler->errfn.F77_Handler_function)( 451: -: 342: win_ptr->errhandler->handle == MPI_ERRORS_ARE_FATAL) { 452: -: 343: /* Calls MPID_Abort */ 453: #####: 344: handleFatalError( NULL, fcname, errcode ); 464: -: 351: win_ptr->errhandler->handle == MPIR_ERRORS_THROW_EXCEPTIONS) 465: -: 352: { 466: #####: 353: return errcode; 489: -: 371:#ifdef HAVE_CXX_BINDING 490: -: 372: case MPID_LANG_CXX: 491: #####: 373: (*MPIR_Process.cxx_call_errfn)( 2, &win_ptr->handle, &errcode, 495: -: 376: returns something other than MPI_SUCCESS. There is no "return" 496: -: 377: of an error code. */ 497: #####: 378: errcode = MPI_SUCCESS; 498: #####: 379: break; 501: -: 382: case MPID_LANG_FORTRAN90: 502: -: 383: case MPID_LANG_FORTRAN: 503: #####: 384: (*win_ptr->errhandler->errfn.F77_Handler_function)( 554: branch 1 taken 100% 555: -: 430: { 556: #####: 431: if (errcode & ~ERROR_CLASS_MASK) 558: branch 1 never executed 559: -: 432: { 560: #####: 433: MPIU_Error_printf("INTERNAL ERROR: Invalid error class (%d) encountered while returning from\n" 569: -: 441: else 570: -: 442: { 571: #####: 443: MPIU_Error_printf("INTERNAL ERROR: Invalid error class (%d) encountered while returning from\n" 575: -: 446: /* FIXME: We probably want to set this to MPI_ERR_UNKNOWN 576: -: 447: and discard the rest of the bits */ 577: #####: 448: errcode = (errcode & ~ERROR_CLASS_MASK) | MPI_ERR_UNKNOWN; 578: #####: 449: rc = 1; 674: -: 528: { 675: -: 529: /* don't return here if the string partially matches */ 676: #####: 530: if (strncmp(generic_err_msgs[i].short_name, msg, strlen(msg)) != 0) 679: branch 2 never executed 680: branch 3 never executed 681: #####: 531: return -1; 682: -: 532: } 683: -: 533: } 684: #####: 534: return -1; 734: -: 572: { 735: -: 573: /* don't return here if the string partially matches */ 736: #####: 574: if (strncmp(specific_err_msgs[i].short_name, msg, strlen(msg)) != 0) 739: branch 2 never executed 740: branch 3 never executed 741: #####: 575: return -1; 742: -: 576: } 743: -: 577: } 744: #####: 578: return -1; 818: -: 645: } 819: -: 646: else { 820: #####: 647: return "Unknown error class"; 841: branch 0 taken 0% (fallthrough) 842: branch 1 taken 100% 843: #####: 667: num_remaining = MPI_MAX_ERROR_STRING; 884: -: 697: num_remaining)) 885: -: 698: { 886: #####: 699: msg[num_remaining - 1] = '\0'; 897: branch 1 taken 100% 898: -: 707: { 899: #####: 708: fn(errorcode, msg, length); 908: branch 3 taken 100% 909: -: 713: { 910: #####: 714: msg[num_remaining - 1] = '\0'; 921: branch 1 taken 100% 922: -: 724: { 923: #####: 725: fn(errorcode, msg, num_remaining); 979: -: 776:static const char * GetAssertString(int d) 980: function GetAssertString called 0 returned 0% blocks executed 0% 981: #####: 777:{ 982: -: 778: static char str[ASSERT_STR_MAXLEN] = ""; 983: -: 779: char *cur; 984: #####: 780: size_t len = ASSERT_STR_MAXLEN; 985: -: 781: size_t n; 986: -: 782: 987: #####: 783: if (d == 0) 989: branch 1 never executed 990: -: 784: { 991: #####: 785: MPIU_Strncpy(str, "assert=0", ASSERT_STR_MAXLEN); 992: call 0 never executed 993: #####: 786: return str; 994: -: 787: } 995: #####: 788: cur = str; 996: #####: 789: if (d & MPI_MODE_NOSTORE) 998: branch 1 never executed 999: -: 790: { 1000: #####: 791: MPIU_Strncpy(cur, "MPI_MODE_NOSTORE", len); 1001: call 0 never executed 1002: #####: 792: n = strlen(cur); 1003: call 0 never executed 1004: #####: 793: cur += n; 1005: #####: 794: len -= n; 1006: #####: 795: d ^= MPI_MODE_NOSTORE; 1007: -: 796: } 1008: #####: 797: if (d & MPI_MODE_NOCHECK) 1010: branch 1 never executed 1011: -: 798: { 1012: #####: 799: if (len < ASSERT_STR_MAXLEN) 1013: branch 0 never executed 1014: branch 1 never executed 1015: #####: 800: MPIU_Strncpy(cur, " | MPI_MODE_NOCHECK", len); 1016: call 0 never executed 1017: -: 801: else 1018: #####: 802: MPIU_Strncpy(cur, "MPI_MODE_NOCHECK", len); 1019: call 0 never executed 1020: #####: 803: n = strlen(cur); 1021: call 0 never executed 1022: #####: 804: cur += n; 1023: #####: 805: len -= n; 1024: #####: 806: d ^= MPI_MODE_NOCHECK; 1025: -: 807: } 1026: #####: 808: if (d & MPI_MODE_NOPUT) 1028: branch 1 never executed 1029: -: 809: { 1030: #####: 810: if (len < ASSERT_STR_MAXLEN) 1031: branch 0 never executed 1032: branch 1 never executed 1033: #####: 811: MPIU_Strncpy(cur, " | MPI_MODE_NOPUT", len); 1034: call 0 never executed 1035: -: 812: else 1036: #####: 813: MPIU_Strncpy(cur, "MPI_MODE_NOPUT", len); 1037: call 0 never executed 1038: #####: 814: n = strlen(cur); 1039: call 0 never executed 1040: #####: 815: cur += n; 1041: #####: 816: len -= n; 1042: #####: 817: d ^= MPI_MODE_NOPUT; 1043: -: 818: } 1044: #####: 819: if (d & MPI_MODE_NOPRECEDE) 1046: branch 1 never executed 1047: -: 820: { 1048: #####: 821: if (len < ASSERT_STR_MAXLEN) 1049: branch 0 never executed 1050: branch 1 never executed 1051: #####: 822: MPIU_Strncpy(cur, " | MPI_MODE_NOPRECEDE", len); 1052: call 0 never executed 1053: -: 823: else 1054: #####: 824: MPIU_Strncpy(cur, "MPI_MODE_NOPRECEDE", len); 1055: call 0 never executed 1056: #####: 825: n = strlen(cur); 1057: call 0 never executed 1058: #####: 826: cur += n; 1059: #####: 827: len -= n; 1060: #####: 828: d ^= MPI_MODE_NOPRECEDE; 1061: -: 829: } 1062: #####: 830: if (d & MPI_MODE_NOSUCCEED) 1064: branch 1 never executed 1065: -: 831: { 1066: #####: 832: if (len < ASSERT_STR_MAXLEN) 1067: branch 0 never executed 1068: branch 1 never executed 1069: #####: 833: MPIU_Strncpy(cur, " | MPI_MODE_NOSUCCEED", len); 1070: call 0 never executed 1071: -: 834: else 1072: #####: 835: MPIU_Strncpy(cur, "MPI_MODE_NOSUCCEED", len); 1073: call 0 never executed 1074: #####: 836: n = strlen(cur); 1075: call 0 never executed 1076: #####: 837: cur += n; 1077: #####: 838: len -= n; 1078: #####: 839: d ^= MPI_MODE_NOSUCCEED; 1079: -: 840: } 1080: #####: 841: if (d) 1082: branch 1 never executed 1083: -: 842: { 1084: #####: 843: if (len < ASSERT_STR_MAXLEN) 1085: branch 0 never executed 1086: branch 1 never executed 1087: #####: 844: MPIU_Snprintf(cur, len, " | 0x%x", d); 1088: call 0 never executed 1089: -: 845: else 1090: #####: 846: MPIU_Snprintf(cur, len, "assert=0x%x", d); 1091: call 0 never executed 1092: -: 847: } 1093: #####: 848: return str; 1108: -: 858: (HANDLE_GET_KIND(d) == HANDLE_KIND_INVALID && \ 1109: -: 859: d != MPI_DATATYPE_NULL)) 1110: #####: 860: return "INVALID DATATYPE"; 1120: branch 1 taken 100% 1121: -: 867: { 1122: #####: 868: MPIU_Strncpy(default_str, "dtype=0x0", 64); 1123: call 0 never executed 1124: #####: 869: return default_str; 1138: branch 1 taken 100% 1139: -: 878: { 1140: #####: 879: MPIU_Snprintf(default_str, 64, "dtype=0x%08x", d); 1141: call 0 never executed 1142: #####: 880: return default_str; 1152: branch 1 taken 100% 1153: -: 888: { 1154: #####: 889: MPIU_Snprintf(default_str, 64, "dtype=USER<0x%08x>", d); 1155: call 0 never executed 1156: #####: 890: return default_str; 1210: 14: 927: return "MPI_MAXLOC"; 1211: -: 928: case MPI_REPLACE: 1212: #####: 929: return "MPI_REPLACE"; 1213: -: 930: } 1214: -: 931: /* FIXME: default is not thread safe */ 1215: #####: 932: MPIU_Snprintf(default_str, 64, "op=0x%x", o); 1216: call 0 never executed 1217: #####: 933: return default_str; 1254: branch 1 taken 100% 1255: -: 967: { 1256: #####: 968: if (maxlen > 0 && str != NULL) 1257: branch 0 never executed 1258: branch 1 never executed 1259: #####: 969: *str = '\0'; 1260: #####: 970: return 0; 1338: call 0 returned 100% 1339: -: 995: else { 1340: #####: 996: MPIU_Strncpy(str, "", maxlen ); 1348: 1251: 1002: break; 1349: -: 1003: case (int)'L': 1350: #####: 1004: ll = va_arg(list, long long); 1351: #####: 1005: MPIU_Snprintf(str, maxlen, "%lld", ll); 1352: call 0 never executed 1353: #####: 1006: break; 1354: -: 1007: case (int)'x': 1355: #####: 1008: d = va_arg(list, int); 1356: #####: 1009: MPIU_Snprintf(str, maxlen, "%x", d); 1357: call 0 never executed 1358: #####: 1010: break; 1359: -: 1011: case (int)'X': 1360: #####: 1012: ll = va_arg(list, long long); 1361: #####: 1013: MPIU_Snprintf(str, maxlen, "%llx", ll); 1362: call 0 never executed 1363: #####: 1014: break; 1375: 8: 1021: break; 1376: -: 1022: case MPI_PROC_NULL: 1377: #####: 1023: MPIU_Strncpy(str, "MPI_PROC_NULL", maxlen); 1378: call 0 never executed 1379: #####: 1024: break; 1400: 21: 1039: break; 1401: -: 1040: case MPI_UNDEFINED: 1402: #####: 1041: MPIU_Strncpy(str, "MPI_UNDEFINED", maxlen); 1403: call 0 never executed 1404: #####: 1042: break; 1417: branch 1 taken 100% 1418: -: 1053: { 1419: #####: 1054: MPIU_Strncpy(str, "MPI_IN_PLACE", maxlen); 1467: -: 1089: else 1468: -: 1090: { 1469: #####: 1091: MPIU_Snprintf(str, maxlen, "info=0x%x", I); 1482: -: 1101: { 1483: -: 1102: MPI_File F; 1484: #####: 1103: F = va_arg(list, MPI_File); 1485: #####: 1104: if (F == MPI_FILE_NULL) 1487: branch 1 never executed 1488: -: 1105: { 1489: #####: 1106: MPIU_Strncpy(str, "MPI_FILE_NULL", maxlen); 1492: -: 1108: else 1493: -: 1109: { 1494: #####: 1110: MPIU_Snprintf(str, maxlen, "file=0x%lx", (unsigned long)F); 1504: branch 1 taken 100% 1505: -: 1118: { 1506: #####: 1119: MPIU_Strncpy(str, "MPI_WIN_NULL", maxlen); 1514: -: 1125: break; 1515: -: 1126: case (int)'A': 1516: #####: 1127: d = va_arg(list, int); 1517: #####: 1128: MPIU_Snprintf(str, maxlen, "%s", GetAssertString(d)); 1518: call 0 never executed 1519: call 1 never executed 1520: #####: 1129: break; 1541: 325: 1144: break; 1542: -: 1145: case (int)'R': 1543: #####: 1146: R = va_arg(list, MPI_Request); 1544: #####: 1147: if (R == MPI_REQUEST_NULL) 1546: branch 1 never executed 1547: -: 1148: { 1548: #####: 1149: MPIU_Strncpy(str, "MPI_REQUEST_NULL", maxlen); 1551: -: 1151: else 1552: -: 1152: { 1553: #####: 1153: MPIU_Snprintf(str, maxlen, "req=0x%x", R); 1572: -: 1167: default: 1573: -: 1168: /* Error: unhandled output type */ 1574: #####: 1169: return 0; 1781: branch 2 taken 0% (fallthrough) 1782: branch 3 taken 100% 1783: #####: 1364: *ring_idx > max_error_ring_loc) return 1; 1802: branch 2 taken 0% (fallthrough) 1803: branch 3 taken 100% 1804: #####: 1377: ring_idx > max_error_ring_loc) return 1; 1815: -: 1384:static const char *ErrcodeInvalidReasonStr( int reason ) 1816: function ErrcodeInvalidReasonStr called 0 returned 0% blocks executed 0% 1817: #####: 1385:{ 1818: #####: 1386: const char *str = 0; 1819: #####: 1387: switch (reason) { 1823: branch 3 never executed 1824: -: 1388: case 1: 1825: #####: 1389: str = "Ring Index out of range"; 1826: #####: 1390: break; 1827: -: 1391: case 2: 1828: #####: 1392: str = "Ring ids do not match"; 1829: #####: 1393: break; 1830: -: 1394: case 3: 1831: #####: 1395: str = "Generic message index out of range"; 1832: #####: 1396: break; 1833: -: 1397: default: 1834: #####: 1398: str = "Unknown reason for invalid errcode"; 1835: -: 1399: break; 1836: -: 1400: } 1837: #####: 1401: return str; 1860: branch 2 taken 100% 1861: -: 1416: &generic_idx ) != 0) { 1862: #####: 1417: MPIU_Error_printf( 1918: branch 0 taken 0% (fallthrough) 1919: branch 1 taken 100% 1920: #####: 1459: MPIU_Error_printf( "Internal Error: invalid error code %x (%s) in %s:%d\n", 1923: -: 1460: lastcode, ErrcodeInvalidReasonStr( reason ), 1924: -: 1461: fcname, line ); 1925: #####: 1462: lastcode = MPI_SUCCESS; 2006: -: 1518: } 2007: -: 1519: else { 2008: #####: 1520: specific_fmt = specific_msg; 2016: -: 1527: } 2017: -: 1528: else { 2018: #####: 1529: user_ring_msg[0] = 0; 2024: -: 1535: { 2025: -: 1536: /* TODO: lookup index for class error message */ 2026: #####: 1537: err_code &= ~ERROR_GENERIC_MASK; 2059: branch 0 taken 0% (fallthrough) 2060: branch 1 taken 100% 2061: #####: 1567: error_ring_loc %= MAX_ERROR_RING; 2081: -: 1580: else 2082: -: 1581: { 2083: #####: 1582: specific_fmt = specific_msg; 2106: -: 1598: else 2107: -: 1599: { 2108: #####: 1600: MPIU_Strncpy( ring_msg, generic_msg, MPIR_MAX_ERROR_LINE ); 2141: -: 1624: &last_ring_id, 2142: -: 1625: &last_generic_idx ) != 0) { 2143: #####: 1626: MPIU_Error_printf( 2174: -: 1647: else 2175: -: 1648: { 2176: #####: 1649: ErrorRing[ring_idx].location[0] = '\0'; 2195: branch 4 taken 100% 2196: -: 1661: { 2197: #####: 1662: err_code |= ERROR_FATAL_MASK; 2209: -: 1674:int MPIR_Err_combine_codes(int error1, int error2) 2210: function MPIR_Err_combine_codes called 0 returned 0% blocks executed 0% 2211: #####: 1675:{ 2212: #####: 1676: int error1_code = error1; 2213: #####: 1677: int error2_code = error2; 2214: -: 1678: int error2_class; 2215: -: 1679: 2216: #####: 1680: if (error2_code == MPI_SUCCESS) return error1_code; 2217: branch 0 never executed 2218: branch 1 never executed 2219: #####: 1681: if (error2_code & ERROR_DYN_MASK) return error2_code; 2220: branch 0 never executed 2221: branch 1 never executed 2222: #####: 1682: if (error1_code == MPI_SUCCESS) return error2_code; 2224: branch 1 never executed 2225: -: 1683: 2226: #####: 1684: error2_class = MPIR_ERR_GET_CLASS(error2_code); 2227: #####: 1685: if (MPIR_ERR_GET_CLASS(error2_class) < MPI_SUCCESS || 2230: -: 1686: MPIR_ERR_GET_CLASS(error2_class) > MPICH_ERR_LAST_CLASS) 2231: -: 1687: { 2232: #####: 1688: error2_class = MPI_ERR_OTHER; 2237: -: 1693: int error_code; 2238: -: 1694: 2239: #####: 1695: error_code = error1_code; 2240: -: 1696: 2241: #####: 1697: error_ring_mutex_lock(); 2251: -: 1704: int generic_idx; 2252: -: 1705: 2253: #####: 1706: if (convertErrcodeToIndexes(error_code, &ring_idx, &ring_id, 2265: -: 1711: } 2266: -: 1712: 2267: #####: 1713: error_code = ErrorRing[ring_idx].prev_error; 2268: -: 1714: 2269: #####: 1715: if (error_code == MPI_SUCCESS) 2271: branch 1 never executed 2272: -: 1716: { 2273: #####: 1717: ErrorRing[ring_idx].prev_error = error2; 2274: #####: 1718: break; 2275: -: 1719: } 2276: -: 1720: 2277: #####: 1721: error_class = MPIR_ERR_GET_CLASS(error_code); 2278: -: 1722: 2279: #####: 1723: if (error_class == MPI_ERR_OTHER) 2281: branch 1 never executed 2282: -: 1724: { 2283: #####: 1725: ErrorRing[ring_idx].prev_error &= ~(ERROR_CLASS_MASK); 2284: #####: 1726: ErrorRing[ring_idx].prev_error |= error2_class; 2286: -: 1728: } 2287: -: 1729: } 2288: #####: 1730: error_ring_mutex_unlock(); 2293: -: 1732:# endif 2294: -: 1733: 2295: #####: 1734: if (MPIR_ERR_GET_CLASS(error1_code) == MPI_ERR_OTHER) 2297: branch 1 never executed 2298: -: 1735: { 2299: #####: 1736: error1_code = (error1_code & ~(ERROR_CLASS_MASK)) | error2_class; 2300: -: 1737: } 2301: -: 1738: 2302: #####: 1739: return error1_code; 2345: -: 1776: } 2346: -: 1777:#endif 2347: #####: 1778: if (n > 0) { 2348: branch 0 never executed 2349: branch 1 never executed 2350: #####: 1779: MPIR_Err_chop_error_stack = TRUE; 2351: #####: 1780: MPIR_Err_chop_width = n; 2352: -: 1781: } 2353: #####: 1782: else if (n == 0) { 2355: branch 1 never executed 2356: -: 1783: /* Use the default width */ 2357: #####: 1784: MPIR_Err_chop_error_stack = TRUE; 2365: -: 1792:void MPIR_Err_print_stack(FILE * fp, int errcode) 2366: function MPIR_Err_print_stack called 0 returned 0% blocks executed 0% 2367: #####: 1793:{ 2368: #####: 1794: error_ring_mutex_lock(); 2371: call 2 never executed 2372: -: 1795: { 2373: #####: 1796: while (errcode != MPI_SUCCESS) { 2378: -: 1799: int generic_idx; 2379: -: 1800: 2380: #####: 1801: if (convertErrcodeToIndexes( errcode, &ring_idx, &ring_id, 2383: branch 2 never executed 2384: -: 1802: &generic_idx ) != 0) { 2385: #####: 1803: MPIU_Error_printf( 2387: -: 1804: "Invalid error code (%d) (error ring index %d invalid)\n", 2388: -: 1805: errcode, ring_idx ); 2389: #####: 1806: break; 2390: -: 1807: } 2391: -: 1808: 2392: #####: 1809: if (generic_idx < 0) 2394: branch 1 never executed 2395: -: 1810: { 2396: #####: 1811: break; 2397: -: 1812: } 2398: -: 1813: 2399: #####: 1814: if (ErrorRing[ring_idx].id == ring_id) 2401: branch 1 never executed 2402: -: 1815: { 2403: #####: 1816: fprintf(fp, "%s: %s\n", ErrorRing[ring_idx].location, 2404: call 0 never executed 2405: -: 1817: ErrorRing[ring_idx].msg); 2406: #####: 1818: errcode = ErrorRing[ring_idx].prev_error; 2408: -: 1820: else 2409: -: 1821: { 2410: #####: 1822: break; 2412: -: 1824: } 2413: -: 1825: } 2414: #####: 1826: error_ring_mutex_unlock(); 2422: -: 1831: level of code (particularly when that code doesn't check for 2423: -: 1832: valid error codes!) is erroneous */ 2424: #####: 1833: if (errcode == MPI_SUCCESS) 2426: branch 1 never executed 2427: -: 1834: { 2428: #####: 1835: goto fn_exit; 2432: -: 1839: int generic_idx; 2433: -: 1840: 2434: #####: 1841: generic_idx = ((errcode & ERROR_GENERIC_MASK) >> ERROR_GENERIC_SHIFT) - 1; 2435: -: 1842: 2436: #####: 1843: if (generic_idx >= 0) 2438: branch 1 never executed 2439: -: 1844: { 2440: #####: 1845: fprintf(fp, "(unknown)(): %s\n", generic_err_msgs[generic_idx].long_name); 2441: call 0 never executed 2442: #####: 1846: goto fn_exit; 2447: -: 1851: int error_class; 2448: -: 1852: 2449: #####: 1853: error_class = ERROR_GET_CLASS(errcode); 2450: -: 1854: 2451: #####: 1855: if (error_class <= MPICH_ERR_LAST_CLASS) 2453: branch 1 never executed 2454: -: 1856: { 2455: #####: 1857: fprintf(fp, "(unknown)(): %s\n", get_class_msg(ERROR_GET_CLASS(errcode))); 2460: -: 1860: { 2461: -: 1861: /* FIXME: Not internationalized */ 2462: #####: 1862: fprintf(fp, "Error code contains an invalid class (%d)\n", error_class); 2496: branch 2 taken 100% 2497: -: 1887: &generic_idx ) != 0) { 2498: #####: 1888: MPIU_Error_printf( 2500: -: 1889: "Invalid error code (%d) (error ring index %d invalid)\n", 2501: -: 1890: errcode, ring_idx ); 2502: #####: 1891: break; 2506: branch 0 taken 0% (fallthrough) 2507: branch 1 taken 100% 2508: #####: 1895: break; 2519: -: 1903: else 2520: -: 1904: { 2521: #####: 1905: break; 2538: branch 2 taken 100% 2539: -: 1918: &generic_idx ) != 0) { 2540: #####: 1919: MPIU_Error_printf( 2548: branch 1 taken 100% 2549: -: 1925: { 2550: #####: 1926: break; 2588: branch 1 taken 100% 2589: -: 1952: { 2590: #####: 1953: cur_pos = ErrorRing[ring_idx].msg; 2591: #####: 1954: len = (int)strlen(cur_pos); 2592: call 0 never executed 2593: #####: 1955: if (len == 0 && maxlen > 0) { 2594: branch 0 never executed 2595: branch 1 never executed 2596: #####: 1956: *str++ = '\n'; 2597: #####: 1957: maxlen--; 2598: -: 1958: } 2599: #####: 1959: while (len) 2601: branch 1 never executed 2602: -: 1960: { 2603: #####: 1961: if (len >= MPIR_Err_chop_width - max_location_len) 2605: branch 1 never executed 2606: -: 1962: { 2607: #####: 1963: if (len > maxlen) 2608: branch 0 never executed 2609: branch 1 never executed 2610: #####: 1964: break; 2611: -: 1965: /* FIXME: Don't use Snprint to append a string ! */ 2612: #####: 1966: MPIU_Snprintf(str, MPIR_Err_chop_width - 1 - max_location_len, "%s", cur_pos); 2613: call 0 never executed 2614: #####: 1967: str[MPIR_Err_chop_width - 1 - max_location_len] = '\n'; 2615: #####: 1968: cur_pos += MPIR_Err_chop_width - 1 - max_location_len; 2616: #####: 1969: str += MPIR_Err_chop_width - max_location_len; 2617: #####: 1970: maxlen -= MPIR_Err_chop_width - max_location_len; 2618: #####: 1971: if (maxlen < max_location_len) 2619: branch 0 never executed 2620: branch 1 never executed 2621: #####: 1972: break; 2622: #####: 1973: for (i=0; i> ERROR_GENERIC_SHIFT) - 1; 2681: -: 2019: 2682: #####: 2020: if (generic_idx >= 0) 2687: -: 2023: /* FIXME: (Here and elsewhere) Make sure any string is 2688: -: 2024: non-null before you use it */ 2689: #####: 2025: p = generic_err_msgs[generic_idx].long_name; 2690: #####: 2026: if (!p) { p = ""; } 2691: branch 0 never executed 2692: branch 1 never executed 2693: #####: 2027: MPIU_Snprintf(str, maxlen, "(unknown)(): %s\n", p ); 2694: call 0 never executed 2695: #####: 2028: len = (int)strlen(str); 2696: call 0 never executed 2697: #####: 2029: maxlen -= len; 2698: #####: 2030: str += len; 2699: #####: 2031: goto fn_exit; 2704: -: 2036: int error_class; 2705: -: 2037: 2706: #####: 2038: error_class = ERROR_GET_CLASS(errcode); 2707: -: 2039: 2708: #####: 2040: if (error_class <= MPICH_ERR_LAST_CLASS) 2710: branch 1 never executed 2711: -: 2041: { 2712: #####: 2042: MPIU_Snprintf(str, maxlen, "(unknown)(): %s\n", 2714: call 1 never executed 2715: -: 2043: get_class_msg(ERROR_GET_CLASS(errcode))); 2716: #####: 2044: len = (int)strlen(str); 2717: call 0 never executed 2718: #####: 2045: maxlen -= len; 2719: #####: 2046: str += len; 2722: -: 2049: { 2723: -: 2050: /* FIXME: Not internationalized */ 2724: #####: 2051: MPIU_Snprintf(str, maxlen, 2726: -: 2052: "Error code contains an invalid class (%d)\n", 2727: -: 2053: error_class); 2728: #####: 2054: len = (int)strlen(str); 2729: call 0 never executed 2730: #####: 2055: maxlen -= len; 2731: #####: 2056: str += len; 2768: -: 2085: } 2769: -: 2086: else { 2770: #####: 2087: error_ring_mutex_lock(); 2773: call 2 never executed 2774: -: 2088: { 2775: #####: 2089: while (errorcode != MPI_SUCCESS) { 2780: -: 2092: int generic_idx; 2781: -: 2093: 2782: #####: 2094: if (convertErrcodeToIndexes( errorcode, &ring_idx, 2786: -: 2095: &ring_id, 2787: -: 2096: &generic_idx ) != 0) { 2788: #####: 2097: MPIU_Error_printf( 2790: -: 2098: "Invalid error code (%d) (error ring index %d invalid)\n", 2791: -: 2099: errorcode, ring_idx ); 2792: #####: 2100: break; 2793: -: 2101: } 2794: -: 2102: 2795: #####: 2103: if (generic_idx < 0) { 2796: branch 0 never executed 2797: branch 1 never executed 2798: #####: 2104: break; 2799: -: 2105: } 2800: -: 2106: 2801: #####: 2107: if (ErrorRing[ring_idx].id == ring_id) { 2804: -: 2108: /* just keep clobbering old values until the 2805: -: 2109: end of the stack is reached */ 2806: #####: 2110: MPIU_Snprintf(msg, num_remaining, ", %s", 2807: call 0 never executed 2808: -: 2111: ErrorRing[ring_idx].msg); 2809: #####: 2112: msg[num_remaining - 1] = '\0'; 2810: #####: 2113: errorcode = ErrorRing[ring_idx].prev_error; 2811: -: 2114: } 2812: -: 2115: else { 2813: #####: 2116: break; 2815: -: 2118: } 2816: -: 2119: } 2817: #####: 2120: error_ring_mutex_unlock(); 2825: branch 1 taken 0% 2826: -: 2124: 2827: #####: 2125: return 0; 260 line(s) not covered by tests in src/mpi/errhan/errutil.c.gcov All code covered by tests in src/mpi/errhan/mpiimpl.h.gcov Uncovered lines in src/mpi/errhan/file_call_errhandler.c.gcov 100: branch 0 taken 0% (fallthrough) 101: branch 1 taken 100% 102: #####: 81: mpi_errno = errorcode; 103: #####: 82: goto fn_exit; 107: branch 0 taken 0% (fallthrough) 108: branch 1 taken 100% 109: #####: 86: MPID_Errhandler_get_ptr( MPI_ERRORS_RETURN, e ); 151: -: 117: the value is really const (but MPI didn't define error handlers 152: -: 118: with const), this preserves the intent */ 153: #####: 119: { void *fh1 = (void *)&fh; 154: #####: 120: (*e->errfn.F77_Handler_function)( fh1, &errorcode ); 5 line(s) not covered by tests in src/mpi/errhan/file_call_errhandler.c.gcov Uncovered lines in src/mpi/errhan/win_call_errhandler.c.gcov 140: -: 98: win_ptr->errhandler->handle == MPI_ERRORS_ARE_FATAL) { 141: call 0 never executed 142: #####: 100: goto fn_exit; 147: branch 1 taken 100% 148: -: 104: /* MPI_ERRORS_RETURN should always return MPI_SUCCESS */ 149: #####: 105: goto fn_exit; 158: branch 0 taken 0% (fallthrough) 159: branch 1 taken 100% 160: #####: 114: mpi_errno = errorcode; 161: #####: 115: goto fn_exit; 181: -: 131: case MPID_LANG_FORTRAN90: 182: -: 132: case MPID_LANG_FORTRAN: 183: #####: 133: (*win_ptr->errhandler->errfn.F77_Handler_function)( 5 line(s) not covered by tests in src/mpi/errhan/win_call_errhandler.c.gcov All code covered by tests in src/mpi/errhan/win_set_errhandler.c.gcov Uncovered lines in src/mpi/errhan/dynerrutil.c.gcov 185: branch 0 taken 0% (fallthrough) 186: branch 1 taken 100% 187: #####: 156: MPIU_Free( (void*)(user_code_msgs[errcode]) ); 192: -: 160: else { 193: -: 161: /* FIXME : Unallocated error code? */ 194: #####: 162: MPIU_Free( str ); 203: branch 0 taken 0% (fallthrough) 204: branch 1 taken 100% 205: #####: 168: MPIU_Free( (void*)(user_class_msgs[errclass]) ); 210: -: 172: else { 211: -: 173: /* FIXME : Unallocated error code? */ 212: #####: 174: MPIU_Free( str ); 289: branch 0 taken 0% (fallthrough) 290: branch 1 taken 100% 291: #####: 243: MPIR_Init_err_dyncodes(); 343: branch 1 taken 100% 344: -: 290: /* Check for invalid error code */ 345: #####: 291: return 0; 6 line(s) not covered by tests in src/mpi/errhan/dynerrutil.c.gcov All code covered by tests in src/mpi/group/group_compare.c.gcov Uncovered lines in src/mpi/group/group_difference.c.gcov 193: branch 0 taken 0% (fallthrough) 194: branch 1 taken 100% 195: #####: 127: g2_idx = group_ptr2->lrank_to_lpid[g2_idx].next_lpid; 1 line(s) not covered by tests in src/mpi/group/group_difference.c.gcov All code covered by tests in src/mpi/group/group_excl.c.gcov All code covered by tests in src/mpi/group/group_free.c.gcov All code covered by tests in src/mpi/group/group_incl.c.gcov All code covered by tests in src/mpi/group/group_intersection.c.gcov All code covered by tests in src/mpi/group/group_range_excl.c.gcov All code covered by tests in src/mpi/group/group_range_incl.c.gcov All code covered by tests in src/mpi/group/group_rank.c.gcov All code covered by tests in src/mpi/group/group_size.c.gcov Uncovered lines in src/mpi/group/group_translate_ranks.c.gcov 226: branch 0 taken 0% (fallthrough) 227: branch 1 taken 100% 228: #####: 146: ranks2[i] = MPI_PROC_NULL; 229: #####: 147: continue; 2 line(s) not covered by tests in src/mpi/group/group_translate_ranks.c.gcov All code covered by tests in src/mpi/group/group_union.c.gcov All code covered by tests in src/mpi/group/grouputil.c.gcov Uncovered lines in src/mpi/init/abort.c.gcov 157: -: 107: { 158: -: 108: /* Use comm world if the communicator is not valid */ 159: #####: 109: comm_ptr = MPIR_Process.comm_world; 166: branch 1 taken 100% 167: -: 114: { 168: #####: 115: MPIU_Snprintf(comm_name, MPI_MAX_OBJECT_NAME, "comm=0x%X", comm); 2 line(s) not covered by tests in src/mpi/init/abort.c.gcov Uncovered lines in src/mpi/init/init.c.gcov 151: branch 1 taken 0% (fallthrough) 152: branch 2 taken 100% 153: #####: 126: if (strcmp(str,"MULTIPLE") == 0 || strcmp(str,"multiple") == 0) { 174: branch 20 never executed 175: branch 21 never executed 176: #####: 127: threadLevel = MPI_THREAD_MULTIPLE; 177: -: 128: } 178: #####: 129: else if (strcmp(str,"SERIALIZED") == 0 || strcmp(str,"serialized") == 0) { 199: branch 20 never executed 200: branch 21 never executed 201: #####: 130: threadLevel = MPI_THREAD_SERIALIZED; 202: -: 131: } 203: #####: 132: else if (strcmp(str,"FUNNELED") == 0 || strcmp(str,"funneled") == 0) { 224: branch 20 never executed 225: branch 21 never executed 226: #####: 133: threadLevel = MPI_THREAD_FUNNELED; 227: -: 134: } 228: #####: 135: else if (strcmp(str,"SINGLE") == 0 || strcmp(str,"single") == 0) { 249: branch 20 never executed 250: branch 21 never executed 251: #####: 136: threadLevel = MPI_THREAD_SINGLE; 252: -: 137: } 253: -: 138: else { 254: #####: 139: MPIU_Error_printf( "Unrecognized thread level %s\n", str ); 255: call 0 never executed 256: #####: 140: exit(1); 10 line(s) not covered by tests in src/mpi/init/init.c.gcov All code covered by tests in src/mpi/init/initialized.c.gcov All code covered by tests in src/mpi/init/initthread.c.gcov All code covered by tests in src/mpi/init/ismain.c.gcov All code covered by tests in src/mpi/init/pthread.h.gcov Uncovered lines in src/mpi/init/finalize.c.gcov 256: -: 184: HANDLE_KIND_BUILTIN) ) { 257: -: 185: int in_use; 258: #####: 186: MPIR_Errhandler_release_ref( MPIR_Process.comm_self->errhandler, 264: call 5 never executed 265: -: 187: &in_use); 266: #####: 188: if (!in_use) { 267: branch 0 never executed 268: branch 1 never executed 269: #####: 189: MPIU_Handle_obj_free( &MPID_Errhandler_mem, 270: call 0 never executed 271: -: 190: MPIR_Process.comm_self->errhandler ); 272: #####: 191: MPIR_Process.comm_self->errhandler = NULL; 406: -: 299: /* Because this is a maintainer item, we won't check for 407: -: 300: errors in the delayStr */ 408: #####: 301: microseconds = 1000 * atoi( delayStr ); 5 line(s) not covered by tests in src/mpi/init/finalize.c.gcov Uncovered lines in src/mpi/init/stdlib.h.gcov 289: -: 284:__NTH (atoi (__const char *__nptr)) 290: function atoi called 0 returned 0% blocks executed 0% 291: #####: 285:{ 292: #####: 286: return (int) strtol (__nptr, (char **) NULL, 10); 2 line(s) not covered by tests in src/mpi/init/stdlib.h.gcov All code covered by tests in src/mpi/init/finalized.c.gcov All code covered by tests in src/mpi/init/querythread.c.gcov Uncovered lines in src/mpi/init/async.c.gcov 26: -: 21:static void progress_fn(void * data) 27: function progress_fn called 0 returned 0% blocks executed 0% 28: #####: 22:{ 29: -: 23:#if MPICH_THREAD_LEVEL >= MPI_THREAD_SERIALIZED 30: #####: 24: int mpi_errno = MPI_SUCCESS; 31: #####: 25: MPIU_THREADPRIV_DECL; 37: -: 31: * correctly, instead of relying on the #if protection here. */ 38: -: 32:#if MPIU_THREAD_GRANULARITY == MPIU_THREAD_GRANULARITY_GLOBAL 39: #####: 33: MPID_CS_ENTER(); 61: -: 43: * this comment. */ 62: -: 44: 63: #####: 45: MPIU_THREADPRIV_GET; 72: call 8 never executed 73: -: 46: 74: #####: 47: MPIR_Nest_incr(); 75: #####: 48: mpi_errno = NMPI_Recv(NULL, 0, MPI_CHAR, 0, 0, progress_comm, MPI_STATUS_IGNORE); 76: call 0 never executed 77: #####: 49: MPIU_Assert(!mpi_errno); 80: call 2 never executed 81: call 3 never executed 82: #####: 50: MPIR_Nest_decr(); 83: -: 51: 84: -: 52: /* Send a signal to the main thread saying we are done */ 85: #####: 53: MPIU_Thread_mutex_lock(&progress_mutex, &mpi_errno); 86: call 0 never executed 87: #####: 54: MPIU_Assert(!mpi_errno); 91: call 3 never executed 92: -: 55: 93: #####: 56: progress_thread_done = 1; 94: -: 57: 95: #####: 58: MPIU_Thread_mutex_unlock(&progress_mutex, &mpi_errno); 96: call 0 never executed 97: #####: 59: MPIU_Assert(!mpi_errno); 101: call 3 never executed 102: -: 60: 103: #####: 61: MPIU_Thread_cond_signal(&progress_cond, &mpi_errno); 104: call 0 never executed 105: #####: 62: MPIU_Assert(!mpi_errno); 110: -: 63: 111: -: 64:#if MPIU_THREAD_GRANULARITY == MPIU_THREAD_GRANULARITY_GLOBAL 112: #####: 65: MPID_CS_EXIT(); 135: -: 76:int MPIR_Init_async_thread(void) 136: function MPIR_Init_async_thread called 0 returned 0% blocks executed 0% 137: #####: 77:{ 138: #####: 78: int mpi_errno = MPI_SUCCESS; 139: -: 79:#if MPICH_THREAD_LEVEL >= MPI_THREAD_SERIALIZED 140: #####: 80: MPIU_THREADPRIV_DECL; 143: -: 83: MPID_MPI_FUNC_ENTER(MPID_STATE_MPIR_INIT_ASYNC_THREAD); 144: -: 84: 145: #####: 85: MPIU_THREADPRIV_GET; 155: -: 86: 156: -: 87: /* Dup comm world for the progress thread */ 157: #####: 88: MPIR_Nest_incr(); 158: #####: 89: mpi_errno = NMPI_Comm_dup(MPI_COMM_SELF, &progress_comm); 159: call 0 never executed 160: #####: 90: MPIU_Assert(!mpi_errno); 163: call 2 never executed 164: call 3 never executed 165: #####: 91: MPIR_Nest_decr(); 166: -: 92: 167: #####: 93: MPIU_Thread_cond_create(&progress_cond, &mpi_errno); 168: call 0 never executed 169: #####: 94: MPIU_Assert(!mpi_errno); 173: call 3 never executed 174: -: 95: 175: #####: 96: MPIU_Thread_mutex_create(&progress_mutex, &mpi_errno); 176: call 0 never executed 177: #####: 97: MPIU_Assert(!mpi_errno); 181: call 3 never executed 182: -: 98: 183: #####: 99: MPIU_Thread_create((MPIU_Thread_func_t) progress_fn, NULL, &progress_thread_id, &mpi_errno); 184: call 0 never executed 185: #####: 100: MPIU_Assert(!mpi_errno); 192: -: 103: 193: -: 104:#endif /* MPICH_THREAD_LEVEL >= MPI_THREAD_SERIALIZED */ 194: #####: 105: return mpi_errno; 201: -: 112:int MPIR_Finalize_async_thread(void) 202: function MPIR_Finalize_async_thread called 0 returned 0% blocks executed 0% 203: #####: 113:{ 204: #####: 114: int mpi_errno = MPI_SUCCESS; 205: -: 115:#if MPICH_THREAD_LEVEL >= MPI_THREAD_SERIALIZED 206: #####: 116: MPIU_THREADPRIV_DECL; 209: -: 119: MPID_MPI_FUNC_ENTER(MPID_STATE_MPIR_FINALIZE_ASYNC_THREAD); 210: -: 120: 211: #####: 121: MPIU_THREADPRIV_GET; 220: call 8 never executed 221: -: 122: 222: #####: 123: MPIR_Nest_incr(); 223: #####: 124: mpi_errno = NMPI_Send(NULL, 0, MPI_CHAR, 0, 0, progress_comm); 224: call 0 never executed 225: #####: 125: MPIU_Assert(!mpi_errno); 228: call 2 never executed 229: call 3 never executed 230: #####: 126: MPIR_Nest_decr(); 231: -: 127: 232: -: 128:#if MPIU_THREAD_GRANULARITY == MPIU_THREAD_GRANULARITY_GLOBAL 233: #####: 129: MPID_CS_EXIT(); 246: -: 130:#endif 247: -: 131: 248: #####: 132: MPIU_Thread_mutex_lock(&progress_mutex, &mpi_errno); 249: call 0 never executed 250: #####: 133: MPIU_Assert(!mpi_errno); 254: call 3 never executed 255: -: 134: 256: #####: 135: while (!progress_thread_done) { 257: branch 0 never executed 258: branch 1 never executed 259: #####: 136: MPIU_Thread_cond_wait(&progress_cond, &progress_mutex, &mpi_errno); 261: branch 1 never executed 262: branch 2 never executed 263: #####: 137: MPIU_Assert(!mpi_errno); 268: -: 138: } 269: -: 139: 270: #####: 140: MPIU_Thread_mutex_unlock(&progress_mutex, &mpi_errno); 271: call 0 never executed 272: #####: 141: MPIU_Assert(!mpi_errno); 277: -: 142: 278: -: 143:#if MPIU_THREAD_GRANULARITY == MPIU_THREAD_GRANULARITY_GLOBAL 279: #####: 144: MPID_CS_ENTER(); 292: -: 145:#endif 293: -: 146: 294: #####: 147: MPIU_Thread_cond_destroy(&progress_cond, &mpi_errno); 295: call 0 never executed 296: #####: 148: MPIU_Assert(!mpi_errno); 300: call 3 never executed 301: -: 149: 302: #####: 150: MPIU_Thread_mutex_destroy(&progress_mutex, &mpi_errno); 303: call 0 never executed 304: #####: 151: MPIU_Assert(!mpi_errno); 311: -: 154: 312: -: 155:#endif /* MPICH_THREAD_LEVEL >= MPI_THREAD_SERIALIZED */ 313: #####: 156: return mpi_errno; 54 line(s) not covered by tests in src/mpi/init/async.c.gcov All code covered by tests in src/mpi/misc/getpname.c.gcov All code covered by tests in src/mpi/misc/pcontrol.c.gcov All code covered by tests in src/mpi/misc/version.c.gcov All code covered by tests in src/mpi/pt2pt/ssend.c.gcov All code covered by tests in src/mpi/pt2pt/bsend.c.gcov All code covered by tests in src/mpi/pt2pt/bsend_init.c.gcov All code covered by tests in src/mpi/pt2pt/bufattach.c.gcov All code covered by tests in src/mpi/pt2pt/buffree.c.gcov All code covered by tests in src/mpi/pt2pt/cancel.c.gcov Uncovered lines in src/mpi/pt2pt/greq_start.c.gcov 318: -: 259: } 319: -: 260: else { 320: #####: 261: class_ptr->next = MPIR_Grequest_class_list; 436: -: 360: void *extra_state, MPI_Request *request ) 437: function PMPIX_Grequest_start called 0 returned 0% blocks executed 0% 438: #####: 361:{ 440: -: 363: MPID_Request *lrequest_ptr; 441: -: 364: 442: #####: 365: mpi_errno = MPI_Grequest_start(query_fn, free_fn, cancel_fn, 444: -: 366: extra_state, request); 445: -: 367: 446: #####: 368: if (mpi_errno == MPI_SUCCESS) 448: branch 1 never executed 449: -: 369: { 450: #####: 370: MPID_Request_get_ptr(*request, lrequest_ptr); 453: branch 2 never executed 454: call 3 never executed 455: #####: 371: lrequest_ptr->poll_fn = poll_fn; 456: #####: 372: lrequest_ptr->wait_fn = wait_fn; 457: -: 373: } 458: -: 374: 459: #####: 375: return mpi_errno; 8 line(s) not covered by tests in src/mpi/pt2pt/greq_start.c.gcov All code covered by tests in src/mpi/pt2pt/greq_complete.c.gcov All code covered by tests in src/mpi/pt2pt/ibsend.c.gcov All code covered by tests in src/mpi/pt2pt/iprobe.c.gcov All code covered by tests in src/mpi/pt2pt/irecv.c.gcov All code covered by tests in src/mpi/pt2pt/irsend.c.gcov All code covered by tests in src/mpi/pt2pt/isend.c.gcov All code covered by tests in src/mpi/pt2pt/issend.c.gcov All code covered by tests in src/mpi/pt2pt/probe.c.gcov All code covered by tests in src/mpi/pt2pt/recv.c.gcov All code covered by tests in src/mpi/pt2pt/recv_init.c.gcov Uncovered lines in src/mpi/pt2pt/request_free.c.gcov 188: -: 131: { 189: -: 132: /* This is needed for persistent Bsend requests */ 190: #####: 133: mpi_errno = MPIR_Grequest_free( 1 line(s) not covered by tests in src/mpi/pt2pt/request_free.c.gcov Uncovered lines in src/mpi/pt2pt/request_get_status.c.gcov 149: branch 1 taken 100% 150: -: 109: /* request not complete. poke the progress engine. Req #3130 */ 151: #####: 110: mpi_errno = MPID_Progress_test(); 170: -: 118: case MPID_REQUEST_SEND: 171: -: 119: { 172: #####: 120: if (status != MPI_STATUS_IGNORE) 174: branch 1 never executed 175: -: 121: { 176: #####: 122: status->cancelled = request_ptr->status.cancelled; 177: -: 123: } 178: #####: 124: mpi_errno = request_ptr->status.MPI_ERROR; 179: #####: 125: break; 191: -: 135: case MPID_PREQUEST_SEND: 192: -: 136: { 193: #####: 137: MPID_Request * prequest_ptr = request_ptr->partner_request; 194: -: 138: 195: #####: 139: if (prequest_ptr != NULL) 197: branch 1 never executed 198: -: 140: { 199: #####: 141: if (prequest_ptr->kind != MPID_UREQUEST) 201: branch 1 never executed 202: -: 142: { 203: #####: 143: if (status != MPI_STATUS_IGNORE) 205: branch 1 never executed 206: -: 144: { 207: #####: 145: status->cancelled = request_ptr->status.cancelled; 208: -: 146: } 209: #####: 147: mpi_errno = prequest_ptr->status.MPI_ERROR; 212: -: 150: { 213: -: 151: /* This is needed for persistent Bsend requests */ 214: #####: 152: MPIU_THREADPRIV_DECL; 215: #####: 153: MPIU_THREADPRIV_GET; 223: call 7 never executed 224: call 8 never executed 225: #####: 154: MPIR_Nest_incr(); 227: -: 156: int rc; 228: -: 157: 229: #####: 158: rc = MPIR_Grequest_query(prequest_ptr); 230: call 0 never executed 231: #####: 159: if (mpi_errno == MPI_SUCCESS) 233: branch 1 never executed 234: -: 160: { 235: #####: 161: mpi_errno = rc; 236: -: 162: } 237: #####: 163: if (status != MPI_STATUS_IGNORE) 239: branch 1 never executed 240: -: 164: { 241: #####: 165: status->cancelled = prequest_ptr->status.cancelled; 242: -: 166: } 243: #####: 167: if (mpi_errno == MPI_SUCCESS) 245: branch 1 never executed 246: -: 168: { 247: #####: 169: mpi_errno = prequest_ptr->status.MPI_ERROR; 248: -: 170: } 249: -: 171: } 250: #####: 172: MPIR_Nest_decr(); 253: -: 175: else 254: -: 176: { 255: #####: 177: if (request_ptr->status.MPI_ERROR != MPI_SUCCESS) 259: -: 179: /* if the persistent request failed to start then 260: -: 180: make the error code available */ 261: #####: 181: if (status != MPI_STATUS_IGNORE) 263: branch 1 never executed 264: -: 182: { 265: #####: 183: status->cancelled = request_ptr->status.cancelled; 266: -: 184: } 267: #####: 185: mpi_errno = request_ptr->status.MPI_ERROR; 269: -: 187: else 270: -: 188: { 271: #####: 189: MPIR_Status_set_empty(status); 280: -: 196: case MPID_PREQUEST_RECV: 281: -: 197: { 282: #####: 198: MPID_Request * prequest_ptr = request_ptr->partner_request; 283: -: 199: 284: #####: 200: if (prequest_ptr != NULL) 286: branch 1 never executed 287: -: 201: { 288: #####: 202: MPIR_Request_extract_status(prequest_ptr, status); 289: branch 0 never executed 290: branch 1 never executed 291: #####: 203: mpi_errno = prequest_ptr->status.MPI_ERROR; 295: -: 207: /* if the persistent request failed to start then 296: -: 208: make the error code available */ 297: #####: 209: mpi_errno = request_ptr->status.MPI_ERROR; 298: #####: 210: MPIR_Status_set_empty(status); 306: -: 216: case MPID_UREQUEST: 307: -: 217: { 308: #####: 218: MPIU_THREADPRIV_DECL; 309: #####: 219: MPIU_THREADPRIV_GET; 317: call 7 never executed 318: call 8 never executed 319: #####: 220: MPIR_Nest_incr(); 321: -: 222: int rc; 322: -: 223: 323: #####: 224: rc = MPIR_Grequest_query(request_ptr); 324: call 0 never executed 325: #####: 225: if (mpi_errno == MPI_SUCCESS) 327: branch 1 never executed 328: -: 226: { 329: #####: 227: mpi_errno = rc; 330: -: 228: } 331: #####: 229: if (status != MPI_STATUS_IGNORE) 333: branch 1 never executed 334: -: 230: { 335: #####: 231: status->cancelled = request_ptr->status.cancelled; 336: -: 232: } 337: #####: 233: MPIR_Request_extract_status(request_ptr, status); 339: branch 1 never executed 340: -: 234: } 341: #####: 235: MPIR_Nest_decr(); 352: -: 246: else 353: -: 247: { 354: #####: 248: *flag = FALSE; 44 line(s) not covered by tests in src/mpi/pt2pt/request_get_status.c.gcov All code covered by tests in src/mpi/pt2pt/rsend.c.gcov All code covered by tests in src/mpi/pt2pt/rsend_init.c.gcov All code covered by tests in src/mpi/pt2pt/send.c.gcov All code covered by tests in src/mpi/pt2pt/send_init.c.gcov All code covered by tests in src/mpi/pt2pt/sendrecv.c.gcov All code covered by tests in src/mpi/pt2pt/sendrecv_rep.c.gcov All code covered by tests in src/mpi/pt2pt/status_set_cancelled.c.gcov All code covered by tests in src/mpi/pt2pt/start.c.gcov All code covered by tests in src/mpi/pt2pt/ssend_init.c.gcov Uncovered lines in src/mpi/pt2pt/startall.c.gcov 140: branch 1 taken 100% 141: -: 96: { 142: #####: 97: MPIU_CHKLMEM_MALLOC_ORJUMP(request_ptrs, MPID_Request **, count * sizeof(MPID_Request *), mpi_errno, "request pointers"); 219: branch 1 taken 100% 220: -: 135: { 221: #####: 136: MPIU_CHKLMEM_FREEALL(); 2 line(s) not covered by tests in src/mpi/pt2pt/startall.c.gcov Uncovered lines in src/mpi/pt2pt/test.c.gcov 190: branch 3 taken 100% 191: -: 126: { 192: #####: 127: mpi_errno = (request_ptr->poll_fn)(request_ptr->grequest_extra_state, 1 line(s) not covered by tests in src/mpi/pt2pt/test.c.gcov All code covered by tests in src/mpi/pt2pt/test_cancelled.c.gcov Uncovered lines in src/mpi/pt2pt/testall.c.gcov 184: branch 1 taken 100% 185: -: 130: { 186: #####: 131: MPIU_CHKLMEM_MALLOC_ORJUMP(request_ptrs, MPID_Request **, 256: -: 167: request_ptrs[i]->poll_fn != NULL) 257: -: 168: { 258: #####: 169: mpi_errno = (request_ptrs[i]->poll_fn)(request_ptrs[i]->grequest_extra_state, 315: -: 201: else 316: -: 202: { 317: #####: 203: status_ptr->MPI_ERROR = MPI_SUCCESS; 321: -: 207: else 322: -: 208: { 323: #####: 209: if (mpi_errno == MPI_ERR_IN_STATUS && array_of_statuses != MPI_STATUSES_IGNORE) 325: branch 1 never executed 326: -: 210: { 327: #####: 211: array_of_statuses[i].MPI_ERROR = MPI_ERR_PENDING; 343: branch 1 taken 100% 344: -: 222: { 345: #####: 223: array_of_statuses[i].MPI_ERROR = MPI_SUCCESS; 363: branch 1 taken 100% 364: -: 238: { 365: #####: 239: MPIU_CHKLMEM_FREEALL(); 7 line(s) not covered by tests in src/mpi/pt2pt/testall.c.gcov Uncovered lines in src/mpi/pt2pt/testany.c.gcov 172: branch 1 taken 100% 173: -: 115: { 174: #####: 116: MPIU_CHKLMEM_MALLOC_ORJUMP(request_ptrs, MPID_Request **, count * sizeof(MPID_Request *), mpi_errno, "request pointers"); 266: -: 168: request_ptrs[i]->poll_fn != NULL) 267: -: 169: { 268: #####: 170: mpi_errno = (request_ptrs[i]->poll_fn)(request_ptrs[i]->grequest_extra_state, 293: -: 185: else 294: -: 186: { 295: #####: 187: n_inactive += 1; 302: branch 1 taken 100% 303: -: 193: { 304: #####: 194: *flag = TRUE; 305: #####: 195: *index = MPI_UNDEFINED; 314: branch 1 taken 100% 315: -: 203: { 316: #####: 204: MPIU_CHKLMEM_FREEALL(); 6 line(s) not covered by tests in src/mpi/pt2pt/testany.c.gcov Uncovered lines in src/mpi/pt2pt/testsome.c.gcov 179: branch 1 taken 100% 180: -: 122: { 181: #####: 123: MPIU_CHKLMEM_MALLOC_ORJUMP(request_ptrs, MPID_Request **, incount * sizeof(MPID_Request *), mpi_errno, "request pointers"); 263: -: 169: request_ptrs[i]->poll_fn != NULL) 264: -: 170: { 265: #####: 171: mpi_errno = (request_ptrs[i]->poll_fn)(request_ptrs[i]->grequest_extra_state, 308: -: 198: else 309: -: 199: { 310: #####: 200: request_ptrs[i] = NULL; 311: #####: 201: n_inactive += 1; 346: branch 1 taken 100% 347: -: 225: { 348: #####: 226: *outcount = MPI_UNDEFINED; 360: branch 1 taken 100% 361: -: 235: { 362: #####: 236: MPIU_CHKLMEM_FREEALL(); 6 line(s) not covered by tests in src/mpi/pt2pt/testsome.c.gcov All code covered by tests in src/mpi/pt2pt/wait.c.gcov Uncovered lines in src/mpi/pt2pt/waitall.c.gcov 274: branch 1 taken 100% 275: -: 183: { 276: #####: 184: if (!ignoring_statuses) 277: branch 0 never executed 278: branch 1 never executed 279: #####: 185: array_of_statuses[i].MPI_ERROR = MPI_SUCCESS; 347: -: 229: { 348: -: 230: /* either the user specified MPI_REQUEST_NULL, or this is a completed greq */ 349: #####: 231: array_of_statuses[j].MPI_ERROR = MPI_SUCCESS; 3 line(s) not covered by tests in src/mpi/pt2pt/waitall.c.gcov Uncovered lines in src/mpi/pt2pt/waitany.c.gcov 247: -: 163: { 248: -: 164: /* this is a generalized request; make progress on it */ 249: #####: 165: mpi_errno = (request_ptrs[i]->poll_fn)(request_ptrs[i]->grequest_extra_state, status); 250: call 0 never executed 251: #####: 166: if (mpi_errno != MPI_SUCCESS) goto fn_progress_end_fail; 277: branch 1 taken 100% 278: -: 184: { 279: #####: 185: *index = MPI_UNDEFINED; 280: -: 186: /* status is set to empty by MPIR_Request_complete */ 281: #####: 187: goto break_l1; 341: 3081: 219: return mpi_errno; 342: -: 220: 343: #####: 221: fn_progress_end_fail: 5 line(s) not covered by tests in src/mpi/pt2pt/waitany.c.gcov Uncovered lines in src/mpi/pt2pt/waitsome.c.gcov 197: branch 1 taken 100% 198: -: 140: { 199: #####: 141: MPIU_CHKLMEM_MALLOC_ORJUMP(request_ptrs, MPID_Request **, incount * sizeof(MPID_Request *), mpi_errno, "request pointers"); 326: -: 222: else 327: -: 223: { 328: #####: 224: request_ptrs[i] = NULL; 329: #####: 225: n_inactive += 1; 366: branch 1 taken 100% 367: -: 251: { 368: #####: 252: *outcount = MPI_UNDEFINED; 369: #####: 253: break; 391: branch 1 taken 100% 392: -: 271: { 393: #####: 272: MPIU_CHKLMEM_FREEALL(); 6 line(s) not covered by tests in src/mpi/pt2pt/waitsome.c.gcov Uncovered lines in src/mpi/pt2pt/bsendutil.c.gcov 283: -: 234: else 284: -: 235: { 285: #####: 236: packsize = count; 323: -: 266: else 324: -: 267: { 325: #####: 268: MPIU_Memcpy(p->msg.msgbuf, buf, count); 349: call 23 never executed 350: call 24 never executed 351: #####: 269: p->msg.count = count; 506: -: 395: } 507: -: 396: else { 508: #####: 397: p->next = 0; 619: branch 0 taken 0% 620: branch 1 taken 100% (fallthrough) 621: #####: 488: next_pending = pending->next; 622: -: 489: /* Retry sending this item */ 623: -: 490: /* FIXME */ 624: #####: 491: pending = next_pending; 716: branch 0 taken 0% (fallthrough) 717: branch 1 taken 100% 718: #####: 571: prev->next = p->next; 7 line(s) not covered by tests in src/mpi/pt2pt/bsendutil.c.gcov Uncovered lines in src/mpi/pt2pt/mpiimpl.h.gcov 115: -: 110:static MPIU_DBG_INLINE_KEYWORD void MPIUI_Memcpy(void * dst, const void * src, size_t len) 116: function MPIUI_Memcpy called 0 returned 0% blocks executed 0% 117: #####: 111:{ 118: #####: 112: memcpy(dst, src, len); 2 line(s) not covered by tests in src/mpi/pt2pt/mpiimpl.h.gcov Uncovered lines in src/mpi/pt2pt/mpir_request.c.gcov 178: -: 114: /* if the persistent request failed to start then make the 179: -: 115: error code available */ 180: #####: 116: if (status != MPI_STATUS_IGNORE) 182: branch 1 never executed 183: -: 117: { 184: #####: 118: status->cancelled = FALSE; 185: -: 119: } 186: #####: 120: mpi_errno = request_ptr->status.MPI_ERROR; 365: -: 242: case MPID_PREQUEST_SEND: 366: -: 243: { 367: #####: 244: if (request_ptr->partner_request != NULL) 369: branch 1 never executed 370: -: 245: { 371: #####: 246: if (request_ptr->partner_request->kind == MPID_UREQUEST) 374: -: 247: { 375: -: 248: /* This is needed for persistent Bsend requests */ 376: #####: 249: mpi_errno = MPIR_Grequest_query( 378: -: 250: request_ptr->partner_request); 379: -: 251: } 380: #####: 252: if (mpi_errno == MPI_SUCCESS) 382: branch 1 never executed 383: -: 253: { 384: #####: 254: mpi_errno = request_ptr->partner_request->status.MPI_ERROR; 387: -: 257: else 388: -: 258: { 389: #####: 259: mpi_errno = request_ptr->status.MPI_ERROR; 395: -: 265: case MPID_PREQUEST_RECV: 396: -: 266: { 397: #####: 267: if (request_ptr->partner_request != NULL) 399: branch 1 never executed 400: -: 268: { 401: #####: 269: mpi_errno = request_ptr->partner_request->status.MPI_ERROR; 403: -: 271: else 404: -: 272: { 405: #####: 273: mpi_errno = request_ptr->status.MPI_ERROR; 443: -: 304: { 444: -: 305: MPI_Fint ierr; 445: #####: 306: ((MPIR_Grequest_f77_query_function*)(request_ptr->query_fn))( 447: -: 307: request_ptr->grequest_extra_state, &request_ptr->status, 448: -: 308: &ierr ); 449: #####: 309: rc = (int) ierr; 450: #####: 310: MPIU_ERR_CHKANDSTMT1((rc != MPI_SUCCESS), mpi_errno, 541: -: 383: MPI_Fint ierr; 542: -: 384: 543: #####: 385: ((MPIR_Grequest_f77_cancel_function *)(request_ptr->cancel_fn))( 544: call 0 never executed 545: -: 386: request_ptr->grequest_extra_state, &complete, &ierr); 546: #####: 387: rc = (int) ierr; 547: #####: 388: MPIU_ERR_CHKANDSTMT1((rc != MPI_SUCCESS), mpi_errno, MPI_ERR_OTHER, 746: branch 0 taken 0% (fallthrough) 747: branch 1 taken 100% 748: #####: 538: if (request_ptrs[i+1] == NULL || 753: -: 539: (request_ptrs[i]->greq_class != 754: -: 540: request_ptrs[i+1]->greq_class) ) 755: #####: 541: n_classes += 1; 785: -: 556: request_ptrs[i]->poll_fn != NULL) 786: -: 557: { 787: #####: 558: mpi_errno = (request_ptrs[i]->poll_fn)(request_ptrs[i]->grequest_extra_state, &(array_of_statuses[i])); 21 line(s) not covered by tests in src/mpi/pt2pt/mpir_request.c.gcov All code covered by tests in src/mpi/rma/win_lock.c.gcov All code covered by tests in src/mpi/rma/win_post.c.gcov All code covered by tests in src/mpi/rma/win_start.c.gcov All code covered by tests in src/mpi/rma/win_wait.c.gcov All code covered by tests in src/mpi/rma/win_test.c.gcov All code covered by tests in src/mpi/rma/accumulate.c.gcov All code covered by tests in src/mpi/rma/alloc_mem.c.gcov All code covered by tests in src/mpi/rma/free_mem.c.gcov All code covered by tests in src/mpi/rma/get.c.gcov All code covered by tests in src/mpi/rma/put.c.gcov All code covered by tests in src/mpi/rma/win_complete.c.gcov All code covered by tests in src/mpi/rma/win_create.c.gcov All code covered by tests in src/mpi/rma/win_fence.c.gcov All code covered by tests in src/mpi/rma/win_free.c.gcov All code covered by tests in src/mpi/rma/win_get_group.c.gcov All code covered by tests in src/mpi/rma/win_get_name.c.gcov All code covered by tests in src/mpi/rma/win_set_name.c.gcov All code covered by tests in src/mpi/rma/win_unlock.c.gcov Uncovered lines in src/mpi/spawn/comm_disconnect.c.gcov 159: -: 109: MPID_Progress_state progress_state; 160: -: 110: 161: #####: 111: MPID_Progress_start(&progress_state); 162: #####: 112: while (MPIU_Object_get_ref(comm_ptr) > 1) 164: branch 1 never executed 165: -: 113: { 166: #####: 114: mpi_errno = MPID_Progress_wait(&progress_state); 3 line(s) not covered by tests in src/mpi/spawn/comm_disconnect.c.gcov All code covered by tests in src/mpi/spawn/comm_get_parent.c.gcov All code covered by tests in src/mpi/spawn/comm_spawn.c.gcov All code covered by tests in src/mpi/spawn/lookup_name.c.gcov All code covered by tests in src/mpi/spawn/publish_name.c.gcov All code covered by tests in src/mpi/spawn/open_port.c.gcov All code covered by tests in src/mpi/spawn/close_port.c.gcov All code covered by tests in src/mpi/spawn/comm_accept.c.gcov Uncovered lines in src/mpi/spawn/comm_join.c.gcov 296: 2: 186: return mpi_errno; 297: -: 187: 298: #####: 189: MPIR_Nest_decr(); 1 line(s) not covered by tests in src/mpi/spawn/comm_join.c.gcov All code covered by tests in src/mpi/spawn/comm_spawn_multiple.c.gcov All code covered by tests in src/mpi/spawn/unpublish_name.c.gcov All code covered by tests in src/mpi/spawn/comm_connect.c.gcov All code covered by tests in src/mpi/timer/wtime.c.gcov All code covered by tests in src/mpi/timer/wtick.c.gcov Uncovered lines in src/mpi/timer/mpidtime.c.gcov 127: -: 118:void MPID_Wtime_acc( MPID_Time_t *t1, MPID_Time_t *t2, MPID_Time_t *t3 ) 128: function MPID_Wtime_acc called 0 returned 0% blocks executed 0% 129: #####: 119:{ 130: -: 120: int usec, sec; 131: -: 121: 132: #####: 122: usec = t2->tv_usec - t1->tv_usec; 133: #####: 123: sec = t2->tv_sec - t1->tv_sec; 134: #####: 124: t3->tv_usec += usec; 135: #####: 125: t3->tv_sec += sec; 136: -: 126: /* Handle carry to the integer seconds field */ 137: #####: 127: if (t3->tv_usec > 1.0e6) { 138: branch 0 never executed 139: branch 1 never executed 140: #####: 128: t3->tv_usec -= 1.0e6; 141: #####: 129: t3->tv_sec++; 8 line(s) not covered by tests in src/mpi/timer/mpidtime.c.gcov All code covered by tests in src/mpi/topo/cart_coords.c.gcov Uncovered lines in src/mpi/topo/cart_create.c.gcov 505: branch 2 never executed 506: branch 3 never executed 507: #####: 291: mpi_errno = comm_ptr->topo_fns->cartCreate( comm_ptr, ndims, 1 line(s) not covered by tests in src/mpi/topo/cart_create.c.gcov Uncovered lines in src/mpi/topo/cart_map.c.gcov 63: -: 50: "**topotoolarge", 64: -: 51: "**topotoolarge %d %d", size, nranks ); 65: #####: 52: return mpi_errno; 205: branch 2 never executed 206: branch 3 never executed 207: #####: 150: mpi_errno = comm_ptr->topo_fns->cartMap( comm_ptr, ndims, 2 line(s) not covered by tests in src/mpi/topo/cart_map.c.gcov All code covered by tests in src/mpi/topo/cart_rank.c.gcov Uncovered lines in src/mpi/topo/cart_sub.c.gcov 301: -: 177: } 302: -: 178: else { 303: #####: 179: toponew_ptr->topo.cart.dims = 0; 304: #####: 180: toponew_ptr->topo.cart.periodic = 0; 305: #####: 181: toponew_ptr->topo.cart.position = 0; 3 line(s) not covered by tests in src/mpi/topo/cart_sub.c.gcov All code covered by tests in src/mpi/topo/graph_get.c.gcov Uncovered lines in src/mpi/topo/graph_map.c.gcov 175: branch 2 never executed 176: branch 3 never executed 177: #####: 121: mpi_errno = comm_ptr->topo_fns->graphMap( comm_ptr, nnodes, 1 line(s) not covered by tests in src/mpi/topo/graph_map.c.gcov Uncovered lines in src/mpi/topo/graphcreate.c.gcov 61: -: 53: int nrank; 62: -: 54: MPI_Comm ncomm; 63: #####: 55: MPIU_THREADPRIV_DECL; 64: -: 56: 65: #####: 57: MPIU_THREADPRIV_GET; 76: -: 59: /* Allow the cart map routine to remap the assignment of ranks to 77: -: 60: processes */ 78: #####: 61: MPIR_Nest_incr(); 79: #####: 62: mpi_errno = NMPI_Graph_map( comm_ptr->handle, nnodes, 84: -: 66: the ranks (including the related internals, such as the connection 85: -: 67: tables */ 86: #####: 68: if (mpi_errno == 0) { 87: branch 0 never executed 88: branch 1 never executed 89: #####: 69: mpi_errno = NMPI_Comm_split( comm_ptr->handle, 93: -: 70: nrank == MPI_UNDEFINED ? MPI_UNDEFINED : 1, 94: -: 71: nrank, &ncomm ); 95: #####: 72: if (!mpi_errno) { 96: branch 0 never executed 97: branch 1 never executed 98: #####: 73: MPID_Comm_get_ptr( ncomm, newcomm_ptr ); 104: -: 74: } 105: -: 75: } 106: #####: 76: MPIR_Nest_decr(); 122: branch 0 taken 0% (fallthrough) 123: branch 1 taken 100% 124: #####: 89: *comm_graph = MPI_COMM_NULL; 125: #####: 90: goto fn_exit; 495: branch 3 never executed 496: -: 327: comm_ptr->topo_fns->graphCreate != NULL) { 497: #####: 328: mpi_errno = comm_ptr->topo_fns->graphCreate( comm_ptr, nnodes, 12 line(s) not covered by tests in src/mpi/topo/graphcreate.c.gcov All code covered by tests in src/mpi/topo/graphdimsget.c.gcov All code covered by tests in src/mpi/topo/cartdim_get.c.gcov All code covered by tests in src/mpi/topo/dist_gr_create_adj.c.gcov All code covered by tests in src/mpi/topo/mpiimpl.h.gcov All code covered by tests in src/mpi/topo/dist_gr_neighb_count.c.gcov Uncovered lines in src/mpi/topo/topoutil.c.gcov 58: branch 0 taken 100% (fallthrough) 59: branch 1 taken 0% 60: #####: 40: return 0; 370: -: 193: /* Return mpi_errno in case one of the copy array functions failed */ 371: 360: 194: return mpi_errno; 372: #####: 196: MPIU_CHKPMEM_REAP(); 2 line(s) not covered by tests in src/mpi/topo/topoutil.c.gcov All code covered by tests in src/mpi/topo/cart_get.c.gcov All code covered by tests in src/mpi/topo/cart_shift.c.gcov Uncovered lines in src/mpi/topo/dims_create.c.gcov 281: -: 230: "**argarrayneg", 282: -: 231: "**argarrayneg %s %d %d", "dims", i, dims[i]); 283: #####: 232: return mpi_errno; 523: branch 0 taken 0% (fallthrough) 524: branch 1 taken 100% 525: #####: 418: mpi_errno = MPIR_Process.dimsCreate( nnodes, ndims, dims ); 2 line(s) not covered by tests in src/mpi/topo/dims_create.c.gcov All code covered by tests in src/mpi/topo/graph_nbr.c.gcov All code covered by tests in src/mpi/topo/graphnbrcnt.c.gcov All code covered by tests in src/mpi/topo/topo_test.c.gcov Uncovered lines in src/mpi/topo/dist_gr_create.c.gcov 627: branch 0 taken 0% (fallthrough) 628: branch 1 taken 100% 629: #####: 320: in_capacity *= 2; 630: #####: 321: MPIU_REALLOC_ORJUMP(dist_graph_ptr->in, in_capacity*sizeof(int), mpi_errno); 635: branch 4 never executed 636: call 5 never executed 637: #####: 322: if (weights != MPI_UNWEIGHTED) 638: branch 0 never executed 639: branch 1 never executed 640: #####: 323: MPIU_REALLOC_ORJUMP(dist_graph_ptr->in_weights, in_capacity*sizeof(int), mpi_errno); 693: branch 0 taken 0% (fallthrough) 694: branch 1 taken 100% 695: #####: 350: out_capacity *= 2; 696: #####: 351: MPIU_REALLOC_ORJUMP(dist_graph_ptr->out, out_capacity*sizeof(int), mpi_errno); 701: branch 4 never executed 702: call 5 never executed 703: #####: 352: if (weights != MPI_UNWEIGHTED) 704: branch 0 never executed 705: branch 1 never executed 706: #####: 353: MPIU_REALLOC_ORJUMP(dist_graph_ptr->out_weights, out_capacity*sizeof(int), mpi_errno); 815: 320: 393: return mpi_errno; 816: -: 394: 817: #####: 396: if (dist_graph_ptr && dist_graph_ptr->in) 820: branch 2 never executed 821: branch 3 never executed 822: #####: 397: MPIU_Free(dist_graph_ptr->in); 823: call 0 never executed 824: #####: 398: if (dist_graph_ptr && dist_graph_ptr->in_weights) 827: branch 2 never executed 828: branch 3 never executed 829: #####: 399: MPIU_Free(dist_graph_ptr->in_weights); 830: call 0 never executed 831: #####: 400: if (dist_graph_ptr && dist_graph_ptr->out) 834: branch 2 never executed 835: branch 3 never executed 836: #####: 401: MPIU_Free(dist_graph_ptr->out); 837: call 0 never executed 838: #####: 402: if (dist_graph_ptr && dist_graph_ptr->out_weights) 841: branch 2 never executed 842: branch 3 never executed 843: #####: 403: MPIU_Free(dist_graph_ptr->out_weights); 844: call 0 never executed 845: #####: 404: MPIU_CHKPMEM_REAP(); 17 line(s) not covered by tests in src/mpi/topo/dist_gr_create.c.gcov All code covered by tests in src/mpi/topo/dist_gr_neighb.c.gcov All code covered by tests in src/util/info/infoutil.c.gcov All code covered by tests in src/util/info/info_create.c.gcov All code covered by tests in src/util/info/info_delete.c.gcov All code covered by tests in src/util/info/info_dup.c.gcov All code covered by tests in src/util/info/info_free.c.gcov All code covered by tests in src/util/info/info_get.c.gcov All code covered by tests in src/util/info/info_getn.c.gcov All code covered by tests in src/util/info/info_getnth.c.gcov All code covered by tests in src/util/info/info_getvallen.c.gcov All code covered by tests in src/util/info/info_set.c.gcov Uncovered lines in src/mpid/common/datatype/mpid_type_debug.c.gcov 508: branch 0 taken 100% (fallthrough) 509: branch 1 taken 0% 510: #####: 368: if (type == MPI_DOUBLE_PRECISION) return t_doubleprecision; 511: branch 0 never executed 512: branch 1 never executed 513: #####: 369: if (type == MPI_INTEGER) return t_integer; 514: branch 0 never executed 515: branch 1 never executed 516: #####: 370: if (type == MPI_2INTEGER) return t_2integer; 517: branch 0 never executed 518: branch 1 never executed 519: #####: 371: if (type == MPI_2COMPLEX) return t_2complex; 520: branch 0 never executed 521: branch 1 never executed 522: #####: 372: if (type == MPI_2DOUBLE_COMPLEX) return t_2doublecomplex; 523: branch 0 never executed 524: branch 1 never executed 525: #####: 373: if (type == MPI_2REAL) return t_2real; 526: branch 0 never executed 527: branch 1 never executed 528: #####: 374: if (type == MPI_2DOUBLE_PRECISION) return t_2doubleprecision; 529: branch 0 never executed 530: branch 1 never executed 531: #####: 375: if (type == MPI_CHARACTER) return t_character; 533: branch 1 never executed 534: -: 376: 535: #####: 377: return NULL; 588: branch 0 taken 100% (fallthrough) 589: branch 1 taken 0% 590: #####: 415: if (combiner == MPI_COMBINER_HVECTOR_INTEGER) return c_hvector_integer; 591: branch 0 never executed 592: branch 1 never executed 593: #####: 416: if (combiner == MPI_COMBINER_HINDEXED_INTEGER) return c_hindexed_integer; 594: branch 0 never executed 595: branch 1 never executed 596: #####: 417: if (combiner == MPI_COMBINER_INDEXED_BLOCK) return c_indexed_block; 597: branch 0 never executed 598: branch 1 never executed 599: #####: 418: if (combiner == MPI_COMBINER_STRUCT_INTEGER) return c_struct_integer; 600: branch 0 never executed 601: branch 1 never executed 602: #####: 419: if (combiner == MPI_COMBINER_SUBARRAY) return c_subarray; 603: branch 0 never executed 604: branch 1 never executed 605: #####: 420: if (combiner == MPI_COMBINER_DARRAY) return c_darray; 606: branch 0 never executed 607: branch 1 never executed 608: #####: 421: if (combiner == MPI_COMBINER_F90_REAL) return c_f90_real; 609: branch 0 never executed 610: branch 1 never executed 611: #####: 422: if (combiner == MPI_COMBINER_F90_COMPLEX) return c_f90_complex; 612: branch 0 never executed 613: branch 1 never executed 614: #####: 423: if (combiner == MPI_COMBINER_F90_INTEGER) return c_f90_integer; 615: branch 0 never executed 616: branch 1 never executed 617: #####: 424: if (combiner == MPI_COMBINER_RESIZED) return c_resized; 619: branch 1 never executed 620: -: 425: 621: #####: 426: return NULL; 20 line(s) not covered by tests in src/mpid/common/datatype/mpid_type_debug.c.gcov Uncovered lines in src/mpid/common/datatype/mpid_segment.c.gcov 190: -: 177: DLOOP_Offset *lengthp) 191: function MPID_Segment_flatten called 0 returned 0% blocks executed 0% 192: #####: 178:{ 196: -: 182:MPIDI_FUNC_ENTER(MPID_STATE_MPID_SEGMENT_FLATTEN); 197: -: 183: 198: #####: 184:packvec_params.u.flatten.offp = (int64_t *) offp; 199: #####: 185:packvec_params.u.flatten.sizep = sizep; 200: #####: 186:packvec_params.u.flatten.index = 0; 201: #####: 187:packvec_params.u.flatten.length = *lengthp; 202: -: 188: 203: #####: 189:MPIU_Assert(*lengthp > 0); 207: call 3 never executed 208: -: 190: 209: #####: 191:MPID_Segment_manipulate(segp, 219: -: 200: 220: -: 201:/* last value already handled by MPID_Segment_manipulate */ 221: #####: 202:*lengthp = packvec_params.u.flatten.index; 459: -: 410: void *v_paramp) 460: function MPID_Segment_contig_flatten called 0 returned 0% blocks executed 0% 461: #####: 411:{ 462: -: 412: int index, el_size; 463: -: 413: DLOOP_Offset size; 464: #####: 414: struct MPID_Segment_piece_params *paramp = v_paramp; 467: -: 417: MPIDI_FUNC_ENTER(MPID_STATE_MPID_SEGMENT_CONTIG_FLATTEN); 468: -: 418: 469: #####: 419: el_size = MPID_Datatype_get_basic_size(el_type); 470: #####: 420: size = *blocks_p * (DLOOP_Offset) el_size; 471: #####: 421: index = paramp->u.flatten.index; 480: -: 430:#endif 481: -: 431: 482: #####: 432: if (index > 0 && ((DLOOP_Offset) MPI_VOID_PTR_CAST_TO_MPI_AINT bufp + rel_off) == 489: -: 435: { 490: -: 436: /* add this size to the last vector rather than using up another one */ 491: #####: 437: paramp->u.flatten.sizep[index - 1] += size; 492: -: 438: } 493: -: 439: else { 494: #####: 440: paramp->u.flatten.offp[index] = ((int64_t) MPI_VOID_PTR_CAST_TO_MPI_AINT bufp) + (int64_t) rel_off; 495: #####: 441: paramp->u.flatten.sizep[index] = size; 496: -: 442: 497: #####: 443: paramp->u.flatten.index++; 499: -: 445: * return 1 to stop processing 500: -: 446: */ 501: #####: 447: if (paramp->u.flatten.index == paramp->u.flatten.length) 504: branch 1 never executed 505: -: 448: { 506: #####: 450: return 1; 508: -: 451: } 509: -: 452: } 510: #####: 454: return 0; 534: -: 478: void *v_paramp) 535: function MPID_Segment_vector_flatten called 0 returned 0% blocks executed 0% 536: #####: 479:{ 537: -: 480: int i; 538: -: 481: DLOOP_Offset size, blocks_left, basic_size; 539: #####: 482: struct MPID_Segment_piece_params *paramp = v_paramp; 542: -: 485: MPIDI_FUNC_ENTER(MPID_STATE_MPID_SEGMENT_VECTOR_FLATTEN); 543: -: 486: 544: #####: 487: basic_size = (DLOOP_Offset) MPID_Datatype_get_basic_size(el_type); 545: #####: 488: blocks_left = *blocks_p; 546: -: 489: 547: #####: 490: for (i=0; i < count && blocks_left > 0; i++) { 548: branch 0 never executed 549: branch 1 never executed 550: #####: 491: int index = paramp->u.flatten.index; 551: -: 492: 552: #####: 493: if (blocks_left > (DLOOP_Offset) blksz) { 553: branch 0 never executed 554: branch 1 never executed 555: #####: 494: size = ((DLOOP_Offset) blksz) * basic_size; 556: #####: 495: blocks_left -= (DLOOP_Offset) blksz; 558: -: 497: else { 559: -: 498: /* last pass */ 560: #####: 499: size = blocks_left * basic_size; 561: #####: 500: blocks_left = 0; 562: -: 501: } 563: -: 502: 564: #####: 503: if (index > 0 && ((DLOOP_Offset) MPI_VOID_PTR_CAST_TO_MPI_AINT bufp + rel_off) == 570: -: 505: { 571: -: 506: /* add this size to the last region rather than using up another one */ 572: #####: 507: paramp->u.flatten.sizep[index - 1] += size; 573: -: 508: } 574: #####: 509: else if (index < paramp->u.flatten.length) { 576: branch 1 never executed 577: -: 510: /* take up another region */ 578: #####: 511: paramp->u.flatten.offp[index] = (DLOOP_Offset) MPI_VOID_PTR_CAST_TO_MPI_AINT bufp + rel_off; 579: #####: 512: paramp->u.flatten.sizep[index] = size; 580: #####: 513: paramp->u.flatten.index++; 582: -: 515: else { 583: -: 516: /* we tried to add to the end of the last region and failed; add blocks back in */ 584: #####: 517: *blocks_p = *blocks_p - blocks_left + (size / basic_size); 585: #####: 517: *blocks_p = *blocks_p - blocks_left + (size / basic_size); 586: #####: 519: return 1; 587: -: 520: } 588: #####: 521: rel_off += stride; 597: -: 522: 598: -: 523: } 599: #####: 528: return 0; 42 line(s) not covered by tests in src/mpid/common/datatype/mpid_segment.c.gcov Uncovered lines in src/mpid/common/datatype/mpid_ext32_segment.c.gcov 99: branch 1 taken 100% 100: -: 79: { 101: #####: 80: while(src_ptr != src_end) 103: branch 1 never executed 104: -: 81: { 105: #####: 82: BASIC_convert16((*(TWO_BYTE_BASIC_TYPE *)src_ptr), 106: -: 83: (*(TWO_BYTE_BASIC_TYPE *)dest_ptr)); 107: -: 84: 108: #####: 85: src_ptr += src_el_size; 109: #####: 86: dest_ptr += dest_el_size; 125: -: 98: } 126: -: 99: } 127: #####: 100: else if (src_el_size == 8) 129: branch 1 never executed 130: -: 101: { 131: #####: 102: while(src_ptr != src_end) 133: branch 1 never executed 134: -: 103: { 135: #####: 104: BASIC_convert64(src_ptr, dest_ptr); 136: call 0 never executed 137: -: 105: 138: #####: 106: src_ptr += src_el_size; 139: #####: 107: dest_ptr += dest_el_size; 172: branch 1 taken 100% 173: -: 132: { 174: #####: 133: while(src_ptr != src_end) 176: branch 1 never executed 177: -: 134: { 178: #####: 135: FLOAT_convert((*(FOUR_BYTE_FLOAT_TYPE *)src_ptr), 187: -: 136: (*(FOUR_BYTE_FLOAT_TYPE *)dest_ptr)); 188: -: 137: 189: #####: 138: src_ptr += src_el_size; 190: #####: 139: dest_ptr += dest_el_size; 13 line(s) not covered by tests in src/mpid/common/datatype/mpid_ext32_segment.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_ext32_segment.h.gcov All code covered by tests in src/mpid/common/datatype/mpiimpl.h.gcov Uncovered lines in src/mpid/common/datatype/mpid_ext32_datatype.c.gcov 105: -: 91: } 106: -: 92: else { 107: #####: 93: MPID_Dataloop *dlp = NULL; 108: -: 94: 109: #####: 95: MPID_Datatype_get_loopptr_macro(type, dlp, MPID_DATALOOP_HETEROGENEOUS); 113: call 3 never executed 114: -: 96: 115: #####: 97: return MPID_Dataloop_stream_size(dlp, 3 line(s) not covered by tests in src/mpid/common/datatype/mpid_ext32_datatype.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_dup.c.gcov Uncovered lines in src/mpid/common/datatype/mpir_type_get_contig_blocks.c.gcov 32: -: 27: int *nr_blocks_p) 33: function MPIR_Type_get_contig_blocks called 0 returned 0% blocks executed 0% 34: #####: 28:{ 35: -: 29: MPID_Datatype *datatype_ptr; 36: -: 30: 37: #####: 31: if (HANDLE_GET_KIND(type) == HANDLE_KIND_BUILTIN) { 38: branch 0 never executed 39: branch 1 never executed 40: #####: 32: *nr_blocks_p = 1; 41: #####: 33: return 0; 42: -: 34: } 43: -: 35: 44: #####: 36: MPID_Datatype_get_ptr(type, datatype_ptr); 48: branch 3 never executed 49: call 4 never executed 50: #####: 37: MPIU_Assert(datatype_ptr->is_committed); 54: call 3 never executed 55: -: 38: 56: #####: 39: *nr_blocks_p = datatype_ptr->max_contig_blocks; 57: #####: 40: return 0; 8 line(s) not covered by tests in src/mpid/common/datatype/mpir_type_get_contig_blocks.c.gcov Uncovered lines in src/mpid/common/datatype/mpir_type_flatten.c.gcov 34: -: 29: MPI_Aint *array_len_p) 35: function MPIR_Type_flatten called 0 returned 0% blocks executed 0% 36: #####: 30:{ 39: -: 33: MPID_Segment *segp; 40: -: 34: 41: #####: 35: if (HANDLE_GET_KIND(type) == HANDLE_KIND_BUILTIN) { 42: branch 0 never executed 43: branch 1 never executed 44: #####: 36: off_array[0] = 0; 45: #####: 37: MPID_Datatype_get_size_macro(type, size_array[0]); 49: branch 3 never executed 50: call 4 never executed 51: #####: 38: *array_len_p = 1; 52: #####: 39: return 0; 53: -: 40: } 54: -: 41: 55: #####: 42: MPID_Datatype_get_ptr(type, datatype_ptr); 59: branch 3 never executed 60: call 4 never executed 61: #####: 43: MPIU_Assert(datatype_ptr->is_committed); 64: call 2 never executed 65: call 3 never executed 66: #####: 44: MPIU_Assert(*array_len_p >= datatype_ptr->max_contig_blocks); 70: call 3 never executed 71: -: 45: 72: #####: 46: segp = MPID_Segment_alloc(); 73: call 0 never executed 74: #####: 47: MPID_Segment_init(0, 1, type, segp, 0); /* first 0 is bufptr, 78: -: 50: */ 79: -: 51: 80: #####: 52: first = 0; 81: #####: 53: last = SEGMENT_IGNORE_LAST; 82: -: 54: 83: #####: 55: MPID_Segment_flatten(segp, 89: -: 60: array_len_p); 90: -: 61: 91: #####: 62: MPID_Segment_free(segp); 92: call 0 never executed 93: -: 63: 94: #####: 64: return 0; 16 line(s) not covered by tests in src/mpid/common/datatype/mpir_type_flatten.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_commit.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_vector.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_contiguous.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_blockindexed.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_indexed.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_get_envelope.c.gcov Uncovered lines in src/mpid/common/datatype/mpid_datatype_contents.c.gcov 59: branch 0 taken 0% (fallthrough) 60: branch 1 taken 100% 61: #####: 51: struct_sz += align_sz - epsilon; 64: branch 0 taken 0% (fallthrough) 65: branch 1 taken 100% 66: #####: 54: types_sz += align_sz - epsilon; 69: branch 0 taken 0% (fallthrough) 70: branch 1 taken 100% 71: #####: 57: ints_sz += align_sz - epsilon; 233: branch 0 taken 0% (fallthrough) 234: branch 1 taken 100% 235: #####: 120: struct_sz += align_sz - epsilon; 301: branch 0 taken 0% (fallthrough) 302: branch 1 taken 100% 303: #####: 159: struct_sz += align_sz - epsilon; 306: branch 0 taken 0% (fallthrough) 307: branch 1 taken 100% 308: #####: 162: types_sz += align_sz - epsilon; 370: branch 0 taken 0% (fallthrough) 371: branch 1 taken 100% 372: #####: 196: struct_sz += align_sz - epsilon; 375: branch 0 taken 0% (fallthrough) 376: branch 1 taken 100% 377: #####: 199: types_sz += align_sz - epsilon; 380: branch 0 taken 0% (fallthrough) 381: branch 1 taken 100% 382: #####: 202: ints_sz += align_sz - epsilon; 440: branch 0 taken 0% (fallthrough) 441: branch 1 taken 100% 442: #####: 232: struct_sz += align_sz - epsilon; 10 line(s) not covered by tests in src/mpid/common/datatype/mpid_datatype_contents.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_get_contents.c.gcov Uncovered lines in src/mpid/common/datatype/mpid_contents_support.c.gcov 68: branch 0 taken 0% (fallthrough) 69: branch 1 taken 100% 70: #####: 42: struct_sz += align_sz - epsilon; 73: branch 0 taken 0% (fallthrough) 74: branch 1 taken 100% 75: #####: 45: types_sz += align_sz - epsilon; 78: branch 0 taken 0% (fallthrough) 79: branch 1 taken 100% 80: #####: 48: ints_sz += align_sz - epsilon; 3 line(s) not covered by tests in src/mpid/common/datatype/mpid_contents_support.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_zerolen.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_create_resized.c.gcov Uncovered lines in src/mpid/common/datatype/mpid_type_struct.c.gcov 247: branch 1 taken 100% 248: -: 207: { 249: #####: 208: MPIU_Handle_obj_free(&MPID_Datatype_mem, new_dtp); 250: call 0 never executed 251: #####: 209: return MPID_Type_zerolen(newtype); 2 line(s) not covered by tests in src/mpid/common/datatype/mpid_type_struct.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_datatype_free.c.gcov All code covered by tests in src/mpid/common/datatype/mpid_type_create_pairtype.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/dataloop.c.gcov 269: -: 208: { 270: -: 209: MPID_Ensure_Aint_fits_in_pointer(MPI_VOID_PTR_CAST_TO_MPI_AINT (char *) dataloop->loop_params.i_t.dataloop + ptrdiff); 271: #####: 210: dataloop->loop_params.i_t.dataloop = 277: branch 0 taken 0% (fallthrough) 278: branch 1 taken 100% 279: #####: 216: PREPEND_PREFIX(Dataloop_update)(dataloop->loop_params.i_t.dataloop, ptrdiff); 440: -: 343: case DLOOP_KIND_STRUCT: 441: -: 344: /* need space for dataloop pointers and extents */ 442: #####: 345: ptr_sz = count * sizeof(DLOOP_Dataloop *); 443: #####: 346: extent_sz = count * sizeof(DLOOP_Offset); 452: -: 355: break; 453: -: 356: default: 454: #####: 357: DLOOP_Assert(0); 492: branch 0 taken 0% (fallthrough) 493: branch 1 taken 100% 494: #####: 382: *new_loop_p = NULL; 495: #####: 383: return; 523: -: 405: * - extents 524: -: 406: */ 525: #####: 407: new_loop->loop_params.s_t.dataloop_array = 526: -: 408: (DLOOP_Dataloop **) (((char *) new_loop) + loop_sz); 527: #####: 409: new_loop->loop_params.s_t.blocksize_array = 528: -: 410: (DLOOP_Count *) (((char *) new_loop) + loop_sz + ptr_sz); 529: #####: 411: new_loop->loop_params.s_t.offset_array = 530: -: 412: (DLOOP_Offset *) (((char *) new_loop) + loop_sz + 531: -: 413: ptr_sz + blk_sz); 532: #####: 414: new_loop->loop_params.s_t.el_extent_array = 533: -: 415: (DLOOP_Offset *) (((char *) new_loop) + loop_sz + 534: -: 416: ptr_sz + blk_sz + off_sz); 535: #####: 417: break; 593: -: 467: break; 594: -: 468: default: 595: #####: 469: DLOOP_Assert(0); 710: branch 0 taken 0% (fallthrough) 711: branch 1 taken 100% 712: #####: 563: *new_loop_p = NULL; 713: #####: 564: return; 773: branch 0 taken 0% (fallthrough) 774: branch 1 taken 100% 775: #####: 614: *new_loop_p = NULL; 776: #####: 615: return; 796: -: 634: DLOOP_Offset (*sizefn)(DLOOP_Type el_type)) 797: function MPID_Dataloop_stream_size called 0 returned 0% blocks executed 0% 798: #####: 635:{ 799: #####: 636: DLOOP_Offset tmp_sz, tmp_ct = 1; 801: -: 638: for (;;) 802: -: 639: { 803: #####: 640: if ((dl_p->kind & DLOOP_KIND_MASK) == DLOOP_KIND_STRUCT) 807: -: 642: int i; 808: -: 643: 809: #####: 644: tmp_sz = 0; 810: #####: 645: for (i = 0; i < dl_p->loop_params.s_t.count; i++) 812: branch 1 never executed 813: -: 646: { 814: #####: 647: tmp_sz += (DLOOP_Offset)(dl_p->loop_params.s_t.blocksize_array[i]) * 816: -: 648: PREPEND_PREFIX(Dataloop_stream_size)(dl_p->loop_params.s_t.dataloop_array[i], sizefn); 817: -: 649: } 818: #####: 650: return tmp_sz * tmp_ct; 819: -: 651: } 820: -: 652: 821: #####: 653: switch (dl_p->kind & DLOOP_KIND_MASK) { 826: branch 4 never executed 827: -: 654: case DLOOP_KIND_CONTIG: 828: #####: 655: tmp_ct *= (DLOOP_Offset)(dl_p->loop_params.c_t.count); 831: -: 658: (int) dl_p->loop_params.c_t.count, (MPI_Aint) tmp_ct); 832: -: 659:#endif 833: #####: 660: break; 834: -: 661: case DLOOP_KIND_VECTOR: 835: #####: 662: tmp_ct *= (DLOOP_Offset)(dl_p->loop_params.v_t.count) * 841: -: 668: (MPI_Aint) tmp_ct); 842: -: 669:#endif 843: #####: 670: break; 844: -: 671: case DLOOP_KIND_BLOCKINDEXED: 845: #####: 672: tmp_ct *= (DLOOP_Offset)(dl_p->loop_params.bi_t.count) * 851: -: 678: (MPI_Aint) tmp_ct); 852: -: 679:#endif 853: #####: 680: break; 854: -: 681: case DLOOP_KIND_INDEXED: 855: #####: 682: tmp_ct *= (DLOOP_Offset)(dl_p->loop_params.i_t.total_blocks); 859: -: 686: (MPI_Aint) tmp_ct); 860: -: 687:#endif 861: #####: 688: break; 869: -: 694: } 870: -: 695: 871: #####: 696: if (dl_p->kind & DLOOP_FINAL_MASK) break; 873: branch 1 never executed 874: -: 697: else { 875: #####: 698: DLOOP_Assert(dl_p->loop_params.cm_t.dataloop != NULL); 878: call 2 never executed 879: call 3 never executed 880: #####: 699: dl_p = dl_p->loop_params.cm_t.dataloop; 883: -: 702: 884: -: 703: /* call fn for size using bottom type, or use size if fnptr is NULL */ 885: #####: 704: tmp_sz = ((sizefn) ? sizefn(dl_p->el_type) : dl_p->el_size); 888: call 2 never executed 889: -: 705: 890: #####: 706: return tmp_sz * tmp_ct; 38 line(s) not covered by tests in src/mpid/common/datatype/dataloop/dataloop.c.gcov All code covered by tests in src/mpid/common/datatype/dataloop/mpiimpl.h.gcov Uncovered lines in src/mpid/common/datatype/dataloop/segment.c.gcov 115: branch 1 taken 100% 116: -: 88: /* only use the builtin */ 117: #####: 89: sblp->kind = DLOOP_KIND_CONTIG | DLOOP_FINAL_MASK; 118: #####: 90: sblp->loop_params.c_t.count = 0; 119: #####: 91: sblp->loop_params.c_t.dataloop = 0; 120: #####: 92: sblp->el_size = 0; 121: #####: 93: sblp->el_extent = 0; 122: -: 94: 123: #####: 95: dlp = sblp; 124: #####: 96: depth = 1; 285: 27992: 190: break; 286: -: 191: case DLOOP_KIND_STRUCT: 287: #####: 192: dlp = dlp->loop_params.s_t.dataloop_array[0]; 288: #####: 193: break; 473: branch 1 taken 100% 474: -: 369: /* nothing to do */ 475: #####: 370: DLOOP_dbg_printf("dloop_segment_manipulate: warning: first == last (" MPI_AINT_FMT_DEC_SPEC ")\n", first); 476: call 0 never executed 477: #####: 371: return; 499: branch 0 taken 0% (fallthrough) 500: branch 1 taken 100% 501: #####: 387: DLOOP_Offset tmp_last = first; 504: -: 390: * stream offset 505: -: 391: */ 506: #####: 392: PREPEND_PREFIX(Segment_manipulate)(segp, 685: branch 5 taken 0% 686: -: 519: case PF_NULL: 687: #####: 520: piecefn_indicated_exit = 0; 689: -: 522: DLOOP_dbg_printf("\tNULL piecefn for this piece\n"); 690: -: 523:#endif 691: #####: 524: break; 961: 34: 711: break; 962: -: 712: case DLOOP_KIND_STRUCT: 963: #####: 713: cur_elmp->orig_block = 965: branch 1 never executed 966: -: 714: DLOOP_STACKELM_STRUCT_BLOCKSIZE(cur_elmp, cur_elmp->curcount ? cur_elmp->orig_count - cur_elmp->curcount : 0); 967: #####: 715: break; 1000: branch 0 taken 0% (fallthrough) 1001: branch 1 taken 100% 1002: #####: 742: DLOOP_Dataloop *load_dlp = NULL; 1003: #####: 743: switch (cur_elmp->loop_p->kind & DLOOP_KIND_MASK) { 1009: -: 746: case DLOOP_KIND_BLOCKINDEXED: 1010: -: 747: case DLOOP_KIND_INDEXED: 1011: #####: 748: load_dlp = cur_elmp->loop_p->loop_params.cm_t.dataloop; 1012: #####: 749: break; 1013: -: 750: case DLOOP_KIND_STRUCT: 1014: #####: 751: load_dlp = DLOOP_STACKELM_STRUCT_DATALOOP(cur_elmp, 1015: -: 752: count_index); 1016: #####: 753: break; 1031: -: 766:#endif 1032: -: 767: 1033: #####: 768: DLOOP_Stackelm_load(next_elmp, 1075: 171: 803: break; 1076: -: 804: case DLOOP_KIND_STRUCT: 1077: #####: 805: next_elmp->orig_offset = cur_elmp->orig_offset + 1078: -: 806: (DLOOP_Offset) block_index * DLOOP_STACKELM_STRUCT_EL_EXTENT(cur_elmp, count_index) + 1079: -: 807: DLOOP_STACKELM_STRUCT_OFFSET(cur_elmp, count_index); 1080: #####: 808: break; 1120: 4695168: 841: break; 1121: -: 842: case DLOOP_KIND_STRUCT: 1122: #####: 843: next_elmp->curcount = next_elmp->orig_count; 1123: #####: 844: next_elmp->curblock = 1124: -: 845: DLOOP_STACKELM_STRUCT_BLOCKSIZE(next_elmp, 0); 1125: #####: 846: next_elmp->curoffset = next_elmp->orig_offset + 1126: -: 847: DLOOP_STACKELM_STRUCT_OFFSET(next_elmp, 0); 1127: #####: 848: break; 1190: -: 902: break; 1191: -: 903: case DLOOP_KIND_STRUCT: 1192: #####: 904: return dlp->loop_params.s_t.blocksize_array[elmp->orig_count - elmp->curcount]; 1200: -: 906: default: 1201: -: 911: } 1202: #####: 912: return -1; 1235: -: 939: break; 1236: -: 940: case DLOOP_KIND_STRUCT: 1237: #####: 941: return dlp->loop_params.s_t.offset_array[elmp->orig_count - elmp->curcount]; 1245: -: 943: default: 1246: -: 948: } 1247: #####: 949: return -1; 1274: branch 3 taken 100% 1275: -: 970: { 1276: #####: 971: elmp->may_require_reloading = 1; 35 line(s) not covered by tests in src/mpid/common/datatype/dataloop/segment.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/segment_ops.c.gcov 596: branch 0 taken 0% (fallthrough) 597: branch 1 taken 100% 598: #####: 124: DLOOP_Memcpy(cbufp, paramp->streambuf, ((DLOOP_Offset) blocks_left) * el_size); 627: -: 128: MPID_Ensure_Aint_fits_in_pointer((MPI_VOID_PTR_CAST_TO_MPI_AINT (paramp->streambuf)) + 628: -: 129: ((DLOOP_Offset) blocks_left) * el_size); 629: #####: 130: paramp->streambuf += ((DLOOP_Offset) blocks_left) * el_size; 1065: branch 0 taken 0% (fallthrough) 1066: branch 1 taken 100% 1067: #####: 169: DLOOP_Memcpy(paramp->streambuf, cbufp, (DLOOP_Offset) blocks_left * el_size); 1096: -: 173: MPID_Ensure_Aint_fits_in_pointer((MPI_VOID_PTR_CAST_TO_MPI_AINT (paramp->streambuf)) + 1097: -: 174: (DLOOP_Offset) blocks_left * el_size); 1098: #####: 175: paramp->streambuf += (DLOOP_Offset) blocks_left * el_size; 1170: -: 227: MPIR_ALIGN8_TEST(src, dest)) 1171: -: 228: { 1172: #####: 229: MPIDI_COPY_FROM_VEC(src, dest, 0, int64_t, blocklen, 1); 1264: branch 0 taken 0% (fallthrough) 1265: branch 1 taken 100% 1266: #####: 237: MPIDI_COPY_FROM_VEC(src, dest, 0, int16_t, blocklen, 1); 1415: -: 301: MPIR_ALIGN8_TEST(src, dest)) 1416: -: 302: { 1417: #####: 303: MPIDI_COPY_FROM_VEC(src, dest, 0, int64_t, cur_block_sz, 1); 1509: branch 0 taken 0% (fallthrough) 1510: branch 1 taken 100% 1511: #####: 311: MPIDI_COPY_FROM_VEC(src, dest, 0, int16_t, cur_block_sz, 1); 1695: -: 412: { 1696: -: 413: /* this region is adjacent to the last */ 1697: #####: 414: paramp->last_loc += size; 1761: -: 460: { 1762: -: 461: /* first block sits at end of last block */ 1763: #####: 462: new_blk_count--; 1783: -: 482: void *v_paramp) 1784: function DLOOP_Segment_blkidx_count_block called 0 returned 0% blocks executed 0% 1785: #####: 483:{ 1786: -: 484: DLOOP_Count i, new_blk_count; 1787: -: 485: DLOOP_Offset size, el_size, last_loc; 1788: #####: 486: struct PREPEND_PREFIX(contig_blocks_params) *paramp = v_paramp; 1789: -: 487: 1790: #####: 488: DLOOP_Assert(count > 0 && blksz > 0 && *blocks_p > 0); 1796: call 5 never executed 1797: -: 489: 1798: #####: 490: DLOOP_Handle_get_size_macro(el_type, el_size); 1802: branch 3 never executed 1803: call 4 never executed 1804: #####: 491: size = el_size * (DLOOP_Offset) blksz; 1805: #####: 492: new_blk_count = count; 1806: -: 493: 1807: #####: 494: if (paramp->count > 0 && ((rel_off + offsetarray[0]) == paramp->last_loc)) 1812: -: 495: { 1813: -: 496: /* first block sits at end of last block */ 1814: #####: 497: new_blk_count--; 1815: -: 498: } 1816: -: 499: 1817: #####: 500: last_loc = rel_off + offsetarray[0] + size; 1818: #####: 501: for (i=1; i < count; i++) { 1819: branch 0 never executed 1820: branch 1 never executed 1821: #####: 502: if (last_loc == rel_off + offsetarray[i]) new_blk_count--; 1823: branch 1 never executed 1824: -: 503: 1825: #####: 504: last_loc = rel_off + offsetarray[i] + size; 1826: -: 505: } 1827: -: 506: 1828: #####: 507: paramp->last_loc = last_loc; 1829: #####: 508: paramp->count += new_blk_count; 1830: #####: 509: return 0; 1985: -: 638: * sizeof a pointer is less than the sizeof an MPI_Aint. 1986: -: 639: */ 1987: #####: 640: last_end = (char*) MPI_AINT_CAST_TO_VOID_PTR 2004: -: 653: * function that we are done (and that we didn't process any blocks). 2005: -: 654: */ 2006: #####: 655: *blocks_p = 0; 2007: #####: 656: return 1; 2014: -: 659: { 2015: -: 660: /* add this size to the last vector rather than using up another one */ 2016: #####: 661: paramp->blklens[last_idx] += size; 2114: -: 743: * the end of the last one. 2115: -: 744: */ 2116: #####: 745: *blocks_p -= (blocks_left + (size / (int) el_size)); 2120: -: 749: *blocks_p); 2121: -: 750:#endif 2122: #####: 751: return 1; 2129: -: 754: { 2130: -: 755: /* add this size to the last vector rather than using up new one */ 2131: #####: 756: paramp->blklens[last_idx] += size; 2171: -: 792: void *v_paramp) 2172: function DLOOP_Segment_blkidx_mpi_flatten called 0 returned 0% blocks executed 0% 2173: #####: 793:{ 2174: -: 794: int i, size, blocks_left; 2175: -: 795: DLOOP_Offset el_size; 2176: #####: 796: struct PREPEND_PREFIX(mpi_flatten_params) *paramp = v_paramp; 2177: -: 797: 2178: #####: 798: DLOOP_Handle_get_size_macro(el_type, el_size); 2182: branch 3 never executed 2183: call 4 never executed 2184: #####: 799: blocks_left = *blocks_p; 2185: -: 800: 2186: #####: 801: for (i=0; i < count && blocks_left > 0; i++) { 2188: branch 1 never executed 2189: -: 802: int last_idx; 2190: #####: 803: char *last_end = NULL; 2191: -: 804: 2192: #####: 805: if (blocks_left > blksz) { 2193: branch 0 never executed 2194: branch 1 never executed 2195: #####: 806: size = blksz * (int) el_size; 2196: #####: 807: blocks_left -= blksz; 2198: -: 809: else { 2199: -: 810: /* last pass */ 2200: #####: 811: size = blocks_left * (int) el_size; 2201: #####: 812: blocks_left = 0; 2202: -: 813: } 2203: -: 814: 2204: #####: 815: last_idx = paramp->index - 1; 2205: #####: 816: if (last_idx >= 0) { 2213: -: 822: * than the sizeof an MPI_Aint. 2214: -: 823: */ 2215: #####: 824: last_end = (char*) MPI_AINT_CAST_TO_VOID_PTR 2222: -: 831: * sum fits in a pointer. Just let it truncate. 2223: -: 832: */ 2224: #####: 833: if ((last_idx == paramp->length-1) && 2232: -: 837: * the end of the last one. 2233: -: 838: */ 2234: #####: 839: *blocks_p -= ((DLOOP_Offset) blocks_left + 2235: -: 840: (((DLOOP_Offset) size) / el_size)); 2236: #####: 841: return 1; 2237: -: 842: } 2238: #####: 843: else if (last_idx >= 0 && (last_end == ((char *) bufp + rel_off))) 2243: -: 844: { 2244: -: 845: /* add this size to the last vector rather than using up new one */ 2245: #####: 846: paramp->blklens[last_idx] += size; 2250: -: 851: * Just let it sign extend. 2251: -: 852: */ 2252: #####: 853: paramp->disps[last_idx+1] = MPI_PTR_DISP_CAST_TO_MPI_AINT bufp + 2253: -: 854: rel_off + offsetarray[i]; 2254: #####: 855: paramp->blklens[last_idx+1] = size; 2255: #####: 856: paramp->index++; 2260: -: 861: * blocks_p 2261: -: 862: */ 2262: #####: 863: DLOOP_Assert(blocks_left == 0); 2265: call 2 never executed 2266: call 3 never executed 2267: #####: 864: return 0; 2338: -: 919: * the end of the last one. 2339: -: 920: */ 2340: #####: 921: *blocks_p -= (blocks_left + (size / (int) el_size)); 2341: #####: 922: return 1; 58 line(s) not covered by tests in src/mpid/common/datatype/dataloop/segment_ops.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/dataloop_create.c.gcov 52: branch 0 taken 0% (fallthrough) 53: branch 1 taken 100% 54: #####: 45: DLOOP_Dataloop_create_named(type, dlp_p, dlsz_p, dldepth_p, flag); 55: call 0 never executed 56: #####: 46: return; 74: branch 1 taken 100% 75: -: 55: /* dataloop already created; just return it. */ 76: #####: 56: *dlp_p = old_dlp; 77: #####: 57: DLOOP_Handle_get_loopsize_macro(type, *dlsz_p, flag); 84: branch 6 never executed 85: branch 7 never executed 86: #####: 58: DLOOP_Handle_get_loopdepth_macro(type, *dldepth_p, flag); 290: branch 0 taken 0% (fallthrough) 291: branch 1 taken 100% 292: #####: 172: stride = (MPI_Aint) ints[2]; 331: branch 0 taken 0% (fallthrough) 332: branch 1 taken 100% 333: #####: 208: disps = (MPI_Aint *) DLOOP_Malloc(ints[0] * sizeof(MPI_Aint)); 334: call 0 never executed 335: -: 209: 336: #####: 210: for (i=0; i < ints[0]; i++) { 337: branch 0 never executed 338: branch 1 never executed 339: #####: 211: disps[i] = (MPI_Aint) ints[ints[0] + 1 + i]; 356: branch 0 taken 0% (fallthrough) 357: branch 1 taken 100% 358: #####: 227: DLOOP_Free(disps); 430: branch 0 taken 0% (fallthrough) 431: branch 1 taken 100% 432: #####: 258: disps = (MPI_Aint *) DLOOP_Malloc(ints[0] * sizeof(MPI_Aint)); 433: call 0 never executed 434: -: 259: 435: #####: 260: for (i=0; i < ints[0]; i++) { 436: branch 0 never executed 437: branch 1 never executed 438: #####: 261: disps[i] = (MPI_Aint) ints[ints[0] + 1 + i]; 454: branch 0 taken 0% (fallthrough) 455: branch 1 taken 100% 456: #####: 276: DLOOP_Free(disps); 508: -: 321: /* TODO: WHAT DO I DO HERE? */ 509: -: 322: default: 510: #####: 323: DLOOP_Assert(0); 541: -: 351: int flag) 542: function DLOOP_Dataloop_create_named called 0 returned 0% blocks executed 0% 543: #####: 352:{ 553: -: 362: * case. 554: -: 363: */ 555: #####: 364: if (type == MPI_FLOAT_INT || type == MPI_DOUBLE_INT || 561: -: 366: type == MPI_LONG_DOUBLE_INT) 562: -: 367: { 563: #####: 368: DLOOP_Handle_get_loopptr_macro(type, dlp, flag); 570: branch 6 never executed 571: branch 7 never executed 572: #####: 369: if (dlp != NULL) { 574: branch 1 never executed 575: -: 370: /* dataloop already created; just return it. */ 576: #####: 371: *dlp_p = dlp; 577: #####: 372: DLOOP_Handle_get_loopsize_macro(type, *dlsz_p, flag); 584: branch 6 never executed 585: branch 7 never executed 586: #####: 373: DLOOP_Handle_get_loopdepth_macro(type, *dldepth_p, flag); 595: -: 374: } 596: -: 375: else { 597: #####: 376: PREPEND_PREFIX(Dataloop_create_pairtype)(type, 606: -: 384: /* no other combiners need dataloops; exit. */ 607: -: 385: else { 608: #####: 386: *dlp_p = NULL; 609: #####: 387: *dlsz_p = 0; 610: #####: 388: *dldepth_p = 0; 611: #####: 389: return; 27 line(s) not covered by tests in src/mpid/common/datatype/dataloop/dataloop_create.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/dataloop_create_contig.c.gcov 142: branch 1 taken 100% 143: -: 88: { 144: #####: 89: count *= basic_sz; 145: #####: 90: new_dlp->el_size = 1; 146: #####: 91: new_dlp->el_extent = 1; 147: #####: 92: new_dlp->el_type = MPI_BYTE; 4 line(s) not covered by tests in src/mpid/common/datatype/dataloop/dataloop_create_contig.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/dataloop_create_vector.c.gcov 60: -: 52: { 61: -: 53: 62: #####: 54: err = PREPEND_PREFIX(Dataloop_create_contiguous)(0, 67: -: 58: dldepth_p, 68: -: 59: flag); 69: #####: 60: return err; 152: -: 110: { 153: -: 111: 154: #####: 112: blocklength *= basic_sz; 155: #####: 113: new_dlp->el_size = 1; 156: #####: 114: new_dlp->el_extent = 1; 157: #####: 115: new_dlp->el_type = MPI_BYTE; 158: -: 116: 159: #####: 117: if(!strideinbytes) 163: -: 119: that we're using bytes, rather than oldtype, we 164: -: 120: need to update stride. */ 165: #####: 121: stride *= basic_sz; 8 line(s) not covered by tests in src/mpid/common/datatype/dataloop/dataloop_create_vector.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/dataloop_create_blockindexed.c.gcov 63: branch 1 taken 100% 64: -: 56: { 65: #####: 57: err = PREPEND_PREFIX(Dataloop_create_contiguous)(0, 70: -: 61: dldepth_p, 71: -: 62: flag); 72: #####: 63: return err; 245: branch 1 taken 100% 246: -: 188: { 247: #####: 189: blklen *= old_extent; 248: #####: 190: new_dlp->el_size = 1; 249: #####: 191: new_dlp->el_extent = 1; 250: #####: 192: new_dlp->el_type = MPI_BYTE; 6 line(s) not covered by tests in src/mpid/common/datatype/dataloop/dataloop_create_blockindexed.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/dataloop_create_indexed.c.gcov 69: branch 1 taken 100% 70: -: 62: { 71: #####: 63: err = PREPEND_PREFIX(Dataloop_create_contiguous)(0, 76: -: 67: dldepth_p, 77: -: 68: flag); 78: #####: 69: return err; 264: -: 205: { 265: -: 206: /* blocklengths are modified below */ 266: #####: 207: new_dlp->el_size = 1; 267: #####: 208: new_dlp->el_extent = 1; 268: #####: 209: new_dlp->el_type = MPI_BYTE; 355: -: 260: { 356: -: 261: DLOOP_Count *tmp_blklen_array = 357: #####: 262: new_dlp->loop_params.i_t.blocksize_array; 358: -: 263: 359: #####: 264: for (i=0; i < contig_count; i++) 362: -: 265: { 363: -: 266: /* increase block lengths so they are in bytes */ 364: #####: 267: tmp_blklen_array[i] *= old_extent; 365: -: 268: } 366: -: 269: 367: #####: 270: new_dlp->loop_params.i_t.total_blocks *= old_extent; 423: branch 1 taken 100% 424: -: 316: { 425: #####: 317: continue; 10 line(s) not covered by tests in src/mpid/common/datatype/dataloop/dataloop_create_indexed.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/dataloop_create_struct.c.gcov 96: branch 1 taken 100% 97: -: 89: { 98: #####: 90: err = PREPEND_PREFIX(Dataloop_create_contiguous)(0, 103: -: 94: dldepth_p, 104: -: 95: flag); 105: #####: 96: return err; 180: branch 1 taken 100% 181: -: 154: { 182: #####: 155: err = PREPEND_PREFIX(Dataloop_create_contiguous)(0, 187: -: 159: dldepth_p, 188: -: 160: flag); 189: #####: 161: return err; 4 line(s) not covered by tests in src/mpid/common/datatype/dataloop/dataloop_create_struct.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/dataloop_create_pairtype.c.gcov 89: 6918: 68: break; 90: -: 69: case MPI_2INT: 91: #####: 70: PAIRTYPE_CONTENTS(MPI_INT, int, MPI_INT, int); 1 line(s) not covered by tests in src/mpid/common/datatype/dataloop/dataloop_create_pairtype.c.gcov All code covered by tests in src/mpid/common/datatype/dataloop/subarray_support.c.gcov Uncovered lines in src/mpid/common/datatype/dataloop/darray_support.c.gcov 66: branch 1 taken 100% 67: -: 54: /* dimension 0 changes fastest */ 68: #####: 55: for (i=0; idim; i--) stride *= (MPI_Aint)(array_of_gsizes[i]); 338: branch 1 never executed 339: -: 254: 340: #####: 255: NMPI_Type_hvector(count, blksize, stride, type_old, type_new); 341: call 0 never executed 342: -: 256: 343: #####: 257: if (rem) { 347: -: 259: it separately using MPI_Type_struct */ 348: -: 260: 349: #####: 261: types[0] = *type_new; 350: #####: 262: types[1] = type_old; 351: #####: 263: disps[0] = 0; 352: #####: 264: disps[1] = ((MPI_Aint) count) * stride; 353: #####: 265: blklens[0] = 1; 354: #####: 266: blklens[1] = rem; 355: -: 267: 356: #####: 268: NMPI_Type_struct(2, blklens, disps, types, &type_tmp); 357: call 0 never executed 358: -: 269: 359: #####: 270: NMPI_Type_free(type_new); 360: call 0 never executed 361: #####: 271: *type_new = type_tmp; 364: -: 274: /* In the first iteration, we need to set the displacement in that 365: -: 275: dimension correctly. */ 366: #####: 276: if (((order == MPI_ORDER_FORTRAN) && (dim == 0)) || 372: branch 5 never executed 373: -: 277: ((order == MPI_ORDER_C) && (dim == ndims-1))) { 374: #####: 278: types[0] = MPI_LB; 375: #####: 279: disps[0] = 0; 376: #####: 280: types[1] = *type_new; 377: #####: 281: disps[1] = ((MPI_Aint) rank) * ((MPI_Aint) blksize) * orig_extent; 378: #####: 282: types[2] = MPI_UB; 379: #####: 283: disps[2] = orig_extent * ((MPI_Aint)(array_of_gsizes[dim])); 380: #####: 284: blklens[0] = blklens[1] = blklens[2] = 1; 381: #####: 285: NMPI_Type_struct(3, blklens, disps, types, &type_tmp); 382: call 0 never executed 383: #####: 286: NMPI_Type_free(type_new); 384: call 0 never executed 385: #####: 287: *type_new = type_tmp; 386: -: 288: 387: #####: 289: *st_offset = 0; /* set it to 0 because it is taken care of in 389: -: 291: } 390: -: 292: else { 391: #####: 293: *st_offset = ((MPI_Aint) rank) * ((MPI_Aint) blksize); 394: -: 296: } 395: -: 297: 396: #####: 298: if (local_size == 0) *st_offset = 0; 398: branch 1 never executed 399: -: 299: 400: #####: 300: return MPI_SUCCESS; 62 line(s) not covered by tests in src/mpid/common/datatype/dataloop/darray_support.c.gcov All code covered by tests in src/mpid/ch3/channels/sock/src/ch3_finalize.c.gcov Uncovered lines in src/mpid/ch3/channels/sock/src/ch3_init.c.gcov 78: 3459: 56: fn_exit: 79: 3459: 58: return mpi_errno; 80: #####: 60: if (publish_bc_orig != NULL) { 81: branch 0 never executed 82: branch 1 never executed 83: #####: 61: MPIU_Free(publish_bc_orig); 100: -: 76:int MPIDI_CH3_RMAFnsInit( MPIDI_RMAFns *a ATTRIBUTE((unused)) ) 101: function MPIDI_CH3_RMAFnsInit called 0 returned 0% blocks executed 0% 102: #####: 77:{ 103: -: 78: MPIU_UNREFERENCED_ARG(a); 104: #####: 79: return 0; 120: -: 93:const char * MPIDI_CH3_VC_GetStateString( struct MPIDI_VC *vc ) 121: function MPIDI_CH3_VC_GetStateString called 0 returned 0% blocks executed 0% 122: #####: 94:{ 124: -: 96: return MPIDI_CH3_VC_SockGetStateString( vc ); 125: -: 97:#else 126: #####: 98: return "unknown"; 6 line(s) not covered by tests in src/mpid/ch3/channels/sock/src/ch3_init.c.gcov Uncovered lines in src/mpid/ch3/channels/sock/src/ch3_isend.c.gcov 123: -: 79: else { 124: -: 80: int complete; 125: #####: 81: mpi_errno = reqFn( vc, sreq, &complete ); 129: branch 1 never executed 130: call 2 never executed 131: #####: 83: if (!complete) { 132: branch 0 never executed 133: branch 1 never executed 134: #####: 84: MPIDI_CH3I_SendQ_enqueue_head(vcch, sreq); 138: -: 86: (MPIU_DBG_FDEST, 139: -: 87: "posting writev, vc=0x%p, sreq=0x%08x", vc, sreq->handle)); 140: #####: 88: vcch->conn->send_active = sreq; 141: #####: 89: mpi_errno = MPIDU_Sock_post_writev( 161: -: 105: MPIU_DBG_MSG_D(CH3_CHANNEL,VERBOSE, 162: -: 106: "partial write of " MPIDI_MSG_SZ_FMT " bytes, request enqueued at head", nb); 163: #####: 107: update_request(sreq, hdr, hdr_sz, nb); 164: call 0 never executed 165: #####: 108: MPIDI_CH3I_SendQ_enqueue_head(vcch, sreq); 168: -: 109: MPIU_DBG_MSG_FMT(CH3_CHANNEL,VERBOSE, 169: -: 110: (MPIU_DBG_FDEST,"posting write, vc=0x%p, sreq=0x%08x", vc, sreq->handle)); 170: #####: 111: vcch->conn->send_active = sreq; 171: #####: 112: mpi_errno = MPIDU_Sock_post_write(vcch->conn->sock, 273: -: 176: } 274: -: 177: } 275: #####: 178: else if (vcch->state != MPIDI_CH3I_VC_STATE_FAILED) 279: -: 180: /* Unable to send data at the moment, so queue it for later */ 280: -: 181: MPIU_DBG_VCUSE(vc,"still connecting. Enqueuing request"); 281: #####: 182: update_request(sreq, hdr, hdr_sz, 0); 282: call 0 never executed 283: #####: 183: MPIDI_CH3I_SendQ_enqueue(vcch, sreq); 12 line(s) not covered by tests in src/mpid/ch3/channels/sock/src/ch3_isend.c.gcov Uncovered lines in src/mpid/ch3/channels/sock/src/ch3_isendv.c.gcov 317: -: 208: } 318: -: 209: } 319: #####: 210: else if (vcch->state != MPIDI_CH3I_VC_STATE_FAILED) 323: -: 212: /* Unable to send data at the moment, so queue it for later */ 324: -: 213: MPIU_DBG_VCUSE(vc,"still connecting. enqueuing request"); 325: #####: 214: update_request(sreq, iov, n_iov, 0, 0); 326: call 0 never executed 327: #####: 215: MPIDI_CH3I_SendQ_enqueue(vcch, sreq); 3 line(s) not covered by tests in src/mpid/ch3/channels/sock/src/ch3_isendv.c.gcov Uncovered lines in src/mpid/ch3/channels/sock/src/ch3_istartmsg.c.gcov 245: call 0 returned 100% 246: -: 181: } 247: #####: 182: else if (vcch->state != MPIDI_CH3I_VC_STATE_FAILED) 251: -: 184: /* Unable to send data at the moment, so queue it for later */ 252: -: 185: MPIU_DBG_VCUSE(vc,"forming connection, request enqueued"); 253: #####: 186: sreq = create_request(hdr, hdr_sz, 0); 254: call 0 never executed 255: #####: 187: if (!sreq) { 259: call 0 never executed 260: -: 189: } 261: #####: 190: MPIDI_CH3I_SendQ_enqueue(vcch, sreq); 4 line(s) not covered by tests in src/mpid/ch3/channels/sock/src/ch3_istartmsg.c.gcov Uncovered lines in src/mpid/ch3/channels/sock/src/ch3_istartmsgv.c.gcov 247: -: 191: 248: -: 192: /* queue the data so it can be sent after the connection is formed */ 249: #####: 193: sreq = create_request(iov, n_iov, 0, 0); 250: call 0 never executed 251: #####: 194: if (sreq == NULL) { 255: call 0 never executed 256: -: 196: } 257: #####: 197: MPIDI_CH3I_SendQ_enqueue(vcch, sreq); 283: call 0 returned 100% 284: -: 213: } 285: #####: 214: else if (vcch->state != MPIDI_CH3I_VC_STATE_FAILED) 289: -: 216: /* Unable to send data at the moment, so queue it for later */ 290: -: 217: MPIU_DBG_VCUSE(vc,"forming connection, request enqueued"); 291: #####: 218: sreq = create_request(iov, n_iov, 0, 0); 292: call 0 never executed 293: #####: 219: if (sreq == NULL) { 297: call 0 never executed 298: -: 221: } 299: #####: 222: MPIDI_CH3I_SendQ_enqueue(vcch, sreq); 7 line(s) not covered by tests in src/mpid/ch3/channels/sock/src/ch3_istartmsgv.c.gcov Uncovered lines in src/mpid/ch3/channels/sock/src/ch3_progress.c.gcov 89: -: 81: */ 90: -: 82: 91: #####: 83: goto fn_exit; 1 line(s) not covered by tests in src/mpid/ch3/channels/sock/src/ch3_progress.c.gcov All code covered by tests in src/mpid/ch3/src/stdlib.h.gcov Uncovered lines in src/mpid/ch3/src/ch3u_buffer.c.gcov 301: -: 210: MPIU_DBG_MSG_FMT(CH3_OTHER, VERBOSE, (MPIU_DBG_FDEST, 302: -: 211: "moved " MPIDI_MSG_SZ_FMT " bytes to the beginning of the tmp buffer", buf_off)); 303: #####: 212: memmove(buf, buf_end - buf_off, buf_off); 1 line(s) not covered by tests in src/mpid/ch3/src/ch3u_buffer.c.gcov All code covered by tests in src/mpid/ch3/src/mpiimpl.h.gcov Uncovered lines in src/mpid/ch3/src/ch3u_comm_spawn_multiple.c.gcov 65: branch 0 taken 0% (fallthrough) 66: branch 1 taken 100% 67: #####: 51: goto fn_exit; 214: branch 0 taken 0% (fallthrough) 215: branch 1 taken 100% 216: #####: 142: for (i=0; istate, vc ); 350: call 0 never executed 351: #####: 272: fflush(stdout); 4 line(s) not covered by tests in src/mpid/ch3/src/ch3u_handle_connection.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_handle_recv_pkt.c.gcov 59: -: 54: MPIDI_msg_sz_t *buflen, MPID_Request ** rreqp) 60: function MPIDI_CH3U_Handle_recv_pkt called 0 returned 0% blocks executed 0% 61: #####: 55:{ 62: #####: 56: int mpi_errno = MPI_SUCCESS; 77: -: 71: */ 78: -: 72: 79: #####: 73: if (needsInit) { 80: branch 0 never executed 81: branch 1 never executed 82: #####: 74: MPIDI_CH3_PktHandler_Init( pktArray, MPIDI_CH3_PKT_END_CH3 ); 83: call 0 never executed 84: #####: 75: needsInit = 0; 85: -: 76: } 86: -: 77: /* Packet type is an enum and hence >= 0 */ 87: #####: 78: MPIU_Assert(pkt->type <= MPIDI_CH3_PKT_END_CH3); 90: call 2 never executed 91: call 3 never executed 92: #####: 79: mpi_errno = pktArray[pkt->type](vc, pkt, buflen, rreqp); 94: call 0 never executed 95: -: 80: 96: #####: 82: return mpi_errno; 178: -: 147: MPIU_DBG_MSG(CH3_OTHER,VERBOSE,"Copying contiguous data to user buffer"); 179: -: 148: /* copy data out of the receive buffer */ 180: #####: 149: MPIU_Memcpy((char*)(rreq->dev.user_buf) + dt_true_lb, buf, data_sz); 204: call 23 never executed 205: call 24 never executed 206: #####: 150: *buflen = data_sz; 207: #####: 151: *complete = TRUE; 252: -: 187: MPIDI_msg_sz_t last; 253: -: 188: MPIU_DBG_MSG(CH3_OTHER,VERBOSE,"Copying noncontiguous data to user buffer"); 254: #####: 189: last = data_sz; 255: #####: 190: MPID_Segment_unpack(rreq->dev.segment_ptr, rreq->dev.segment_first, 273: call 0 never executed 274: -: 191: &last, buf); 275: #####: 206: *buflen = data_sz; 276: #####: 207: rreq->dev.OnDataAvail = 0; 277: #####: 208: *complete = TRUE; 336: branch 1 taken 100% 337: -: 257: { 338: #####: 258: MPIU_Memcpy(rreq->dev.tmpbuf, buf, rreq->dev.recv_data_sz); 362: call 23 never executed 363: call 24 never executed 364: #####: 259: *buflen = rreq->dev.recv_data_sz; 365: #####: 260: rreq->dev.recv_pending_count = 1; 366: #####: 261: *complete = TRUE; 394: -: 289:int MPIDI_CH3U_Post_data_receive_found(MPID_Request * rreq) 395: function MPIDI_CH3U_Post_data_receive_found called 0 returned 0% blocks executed 0% 396: #####: 290:{ 397: #####: 291: int mpi_errno = MPI_SUCCESS; 399: -: 293: MPI_Aint dt_true_lb; 400: -: 294: MPIDI_msg_sz_t userbuf_sz; 401: #####: 295: MPID_Datatype * dt_ptr = NULL; 407: -: 301: MPIU_DBG_MSG(CH3_OTHER,VERBOSE,"posted request found"); 408: -: 302: 409: #####: 303: MPIDI_Datatype_get_info(rreq->dev.user_count, rreq->dev.datatype, 417: -: 304: dt_contig, userbuf_sz, dt_ptr, dt_true_lb); 418: -: 305: 419: #####: 306: if (rreq->dev.recv_data_sz <= userbuf_sz) { 420: branch 0 never executed 421: branch 1 never executed 422: #####: 307: data_sz = rreq->dev.recv_data_sz; 433: -: 317: rreq->status.MPI_SOURCE, rreq->status.MPI_TAG, 434: -: 318: rreq->dev.recv_data_sz, userbuf_sz ); 435: #####: 319: rreq->status.count = userbuf_sz; 436: #####: 320: data_sz = userbuf_sz; 437: -: 321: } 438: -: 322: 439: #####: 323: if (dt_contig && data_sz == rreq->dev.recv_data_sz) 447: -: 327: (this code describes how to read the data into the destination) */ 448: -: 328: MPIU_DBG_MSG(CH3_OTHER,VERBOSE,"IOV loaded for contiguous read"); 449: #####: 329: rreq->dev.iov[0].MPID_IOV_BUF = 450: -: 330: (MPID_IOV_BUF_CAST)((char*)(rreq->dev.user_buf) + dt_true_lb); 451: #####: 331: rreq->dev.iov[0].MPID_IOV_LEN = data_sz; 452: #####: 332: rreq->dev.iov_count = 1; 454: -: 334: function, which depends on whether this is an RMA 455: -: 335: request or a pt-to-pt request. */ 456: #####: 336: rreq->dev.OnDataAvail = 0; 460: -: 340: the entire message */ 461: -: 341: MPIU_DBG_MSG(CH3_OTHER,VERBOSE,"IOV loaded for non-contiguous read"); 462: #####: 342: rreq->dev.segment_ptr = MPID_Segment_alloc( ); 463: call 0 never executed 464: #####: 343: MPIU_ERR_CHKANDJUMP1((rreq->dev.segment_ptr == NULL), mpi_errno, MPI_ERR_OTHER, "**nomem", "**nomem %s", "MPID_Segment_alloc"); 466: branch 1 never executed 467: call 2 never executed 468: #####: 344: MPID_Segment_init(rreq->dev.user_buf, rreq->dev.user_count, 469: call 0 never executed 470: -: 345: rreq->dev.datatype, rreq->dev.segment_ptr, 0); 471: #####: 346: rreq->dev.segment_first = 0; 472: #####: 347: rreq->dev.segment_size = data_sz; 473: #####: 348: mpi_errno = MPIDI_CH3U_Request_load_recv_iov(rreq); 474: call 0 never executed 475: #####: 349: if (mpi_errno != MPI_SUCCESS) { 482: -: 353: } 483: -: 354: 484: #####: 355: fn_exit: 485: #####: 355: fn_exit: 486: #####: 357: return mpi_errno; 495: -: 366:int MPIDI_CH3U_Post_data_receive_unexpected(MPID_Request * rreq) 496: function MPIDI_CH3U_Post_data_receive_unexpected called 0 returned 0% blocks executed 0% 497: #####: 367:{ 498: #####: 368: int mpi_errno = MPI_SUCCESS; 507: -: 377: MPIU_DBG_MSG(CH3_OTHER,VERBOSE,"unexpected request allocated"); 508: -: 378: 509: #####: 379: rreq->dev.tmpbuf = MPIU_Malloc(rreq->dev.recv_data_sz); 510: call 0 never executed 511: #####: 380: if (!rreq->dev.tmpbuf) { 515: call 0 never executed 516: -: 382: } 517: #####: 383: rreq->dev.tmpbuf_sz = rreq->dev.recv_data_sz; 518: -: 384: 519: #####: 385: rreq->dev.iov[0].MPID_IOV_BUF = (MPID_IOV_BUF_CAST)rreq->dev.tmpbuf; 520: #####: 386: rreq->dev.iov[0].MPID_IOV_LEN = rreq->dev.recv_data_sz; 521: #####: 387: rreq->dev.iov_count = 1; 522: #####: 388: rreq->dev.OnDataAvail = MPIDI_CH3_ReqHandler_UnpackUEBufComplete; 523: #####: 389: rreq->dev.recv_pending_count = 2; 525: #####: 389: rreq->dev.recv_pending_count = 2; 526: -: 390: 527: #####: 393: return mpi_errno; 622: -: 479: MPIDI_msg_sz_t *buflen, MPID_Request **rreqp) 623: function MPIDI_CH3_PktHandler_FlowCntlUpdate called 0 returned 0% blocks executed 0% 624: #####: 480:{ 625: #####: 481: *buflen = sizeof(MPIDI_CH3_Pkt_t); 626: #####: 482: return MPI_SUCCESS; 637: -: 493: MPID_Request **rreqp ATTRIBUTE((unused)) ) 638: function MPIDI_CH3_PktHandler_EndCH3 called 0 returned 0% blocks executed 0% 639: #####: 494:{ 644: -: 498: 645: -: 500: 646: #####: 501: return MPI_SUCCESS; 58 line(s) not covered by tests in src/mpid/ch3/src/ch3u_handle_recv_pkt.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_handle_recv_req.c.gcov 25: -: 20: int * complete) 26: function MPIDI_CH3U_Handle_recv_req called 0 returned 0% blocks executed 0% 27: #####: 21:{ 28: -: 22: static int in_routine = FALSE; 29: #####: 23: int mpi_errno = MPI_SUCCESS; 33: -: 27: MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3U_HANDLE_RECV_REQ); 34: -: 28: 35: #####: 29: MPIU_Assert(in_routine == FALSE); 38: call 2 never executed 39: call 3 never executed 40: #####: 30: in_routine = TRUE; 41: -: 31: 42: #####: 32: reqFn = rreq->dev.OnDataAvail; 43: #####: 33: if (!reqFn) { 44: branch 0 never executed 45: branch 1 never executed 46: #####: 34: MPIU_Assert(MPIDI_Request_get_type(rreq) == MPIDI_REQUEST_TYPE_RECV); 49: call 2 never executed 50: call 3 never executed 51: #####: 35: MPIDI_CH3U_Request_complete(rreq); 64: branch 12 never executed 65: call 13 never executed 66: #####: 36: *complete = TRUE; 67: -: 37: } 68: -: 38: else { 69: #####: 39: mpi_errno = reqFn( vc, rreq, complete ); 71: -: 40: } 72: -: 41: 73: #####: 42: in_routine = FALSE; 74: #####: 42: in_routine = FALSE; 75: #####: 44: return mpi_errno; 99: -: 68: int *complete ) 100: function MPIDI_CH3_ReqHandler_RecvComplete called 0 returned 0% blocks executed 0% 101: #####: 69:{ 102: -: 70: /* mark data transfer as complete and decrement CC */ 103: #####: 71: MPIDI_CH3U_Request_complete(rreq); 116: branch 12 never executed 117: call 13 never executed 118: #####: 72: *complete = TRUE; 119: #####: 73: return MPI_SUCCESS; 513: -: 347: int *complete ) 514: function MPIDI_CH3_ReqHandler_SinglePutAccumComplete called 0 returned 0% blocks executed 0% 515: #####: 348:{ 516: #####: 349: int mpi_errno = MPI_SUCCESS; 526: -: 359: operation. */ 527: -: 360: 528: #####: 361: MPID_Win_get_ptr(rreq->dev.target_win_handle, win_ptr); 532: call 3 never executed 533: -: 362: 534: #####: 363: lock_queue_entry = rreq->dev.lock_queue_entry; 535: -: 364: 536: #####: 365: if (MPIDI_CH3I_Try_acquire_win_lock(win_ptr, 541: -: 367: { 542: -: 368: 543: #####: 369: if (MPIDI_Request_get_type(rreq) == MPIDI_REQUEST_TYPE_PT_SINGLE_PUT) { 545: branch 1 never executed 546: -: 370: /* copy the data over */ 547: #####: 371: mpi_errno = MPIR_Localcopy(rreq->dev.user_buf, 554: -: 377: } 555: -: 378: else { 556: #####: 379: mpi_errno = do_simple_accumulate(lock_queue_entry->pt_single_op); 558: -: 380: } 559: -: 381: 560: #####: 382: if (mpi_errno) { 566: -: 385: 567: -: 386: /* increment counter */ 568: #####: 387: win_ptr->my_pt_rma_puts_accs++; 569: -: 388: 570: -: 389: /* send done packet */ 571: #####: 390: mpi_errno = MPIDI_CH3I_Send_pt_rma_done_pkt(vc, 572: call 0 never executed 573: -: 391: lock_queue_entry->source_win_handle); 574: #####: 392: if (mpi_errno) { 581: -: 396: /* free lock_queue_entry including data buffer and remove 582: -: 397: it from the queue. */ 583: #####: 398: curr_ptr = (MPIDI_Win_lock_queue *) win_ptr->lock_queue; 584: #####: 399: curr_ptr_ptr = (MPIDI_Win_lock_queue **) &(win_ptr->lock_queue); 585: #####: 400: while (curr_ptr != lock_queue_entry) { 586: branch 0 never executed 587: branch 1 never executed 588: #####: 401: curr_ptr_ptr = &(curr_ptr->next); 589: #####: 402: curr_ptr = curr_ptr->next; 590: -: 403: } 591: #####: 404: *curr_ptr_ptr = curr_ptr->next; 592: -: 405: 593: #####: 406: MPIU_Free(lock_queue_entry->pt_single_op->data); 594: call 0 never executed 595: #####: 407: MPIU_Free(lock_queue_entry->pt_single_op); 596: call 0 never executed 597: #####: 408: MPIU_Free(lock_queue_entry); 599: -: 409: 600: -: 410: /* Release lock and grant next lock if there is one. */ 601: #####: 411: mpi_errno = MPIDI_CH3I_Release_lock(win_ptr); 604: -: 413: else { 605: -: 414: /* could not acquire lock. mark data recd as 1 */ 606: #####: 415: lock_queue_entry->pt_single_op->data_recd = 1; 608: -: 417: 609: -: 418: /* mark data transfer as complete and decrement CC */ 610: #####: 419: MPIDI_CH3U_Request_complete(rreq); 623: branch 12 never executed 624: call 13 never executed 625: #####: 420: *complete = TRUE; 626: call 13 never executed 627: #####: 420: *complete = TRUE; 628: #####: 423: return mpi_errno; 1104: branch 0 taken 0% (fallthrough) 1105: branch 1 taken 100% 1106: #####: 773: entered_count++; 1107: #####: 774: goto fn_exit; 1154: -: 808: MPIDI_PT_single_op * single_op; 1155: -: 809: 1156: #####: 810: single_op = lock_queue->pt_single_op; 1157: #####: 811: if (single_op->type == MPIDI_RMA_PUT) { 1158: branch 0 never executed 1159: branch 1 never executed 1160: #####: 812: mpi_errno = MPIR_Localcopy(single_op->data, 1166: -: 817: single_op->datatype); 1167: -: 818: } 1168: #####: 819: else if (single_op->type == MPIDI_RMA_ACCUMULATE) { 1169: branch 0 never executed 1170: branch 1 never executed 1171: #####: 820: mpi_errno = do_simple_accumulate(single_op); 1172: call 0 never executed 1173: -: 821: } 1174: #####: 822: else if (single_op->type == MPIDI_RMA_GET) { 1175: branch 0 never executed 1176: branch 1 never executed 1177: #####: 823: mpi_errno = do_simple_get(win_ptr, lock_queue); 1179: -: 824: } 1180: -: 825: 1181: #####: 826: if (mpi_errno != MPI_SUCCESS) goto fn_exit; 1184: -: 827: 1185: -: 828: /* if put or accumulate, send rma done packet and release lock. */ 1186: #####: 829: if (single_op->type != MPIDI_RMA_GET) { 1188: branch 1 never executed 1189: -: 830: /* increment counter */ 1190: #####: 831: win_ptr->my_pt_rma_puts_accs++; 1191: -: 832: 1192: #####: 833: mpi_errno = 1194: -: 834: MPIDI_CH3I_Send_pt_rma_done_pkt(lock_queue->vc, 1195: -: 835: lock_queue->source_win_handle); 1196: #####: 836: if (mpi_errno != MPI_SUCCESS) goto fn_exit; 1199: -: 837: 1200: -: 838: /* release the lock */ 1201: #####: 839: if (win_ptr->current_lock_type == MPI_LOCK_SHARED) { 1204: -: 840: /* decr ref cnt */ 1205: -: 841: /* FIXME: MT: Must be done atomically */ 1206: #####: 842: win_ptr->shared_lock_ref_cnt--; 1210: -: 846: (which is also true if the lock is an 1211: -: 847: exclusive lock), release the lock. */ 1212: #####: 848: if (win_ptr->shared_lock_ref_cnt == 0) { 1215: -: 849: /* FIXME: MT: The setting of the lock type 1216: -: 850: must be done atomically */ 1217: #####: 851: win_ptr->current_lock_type = MPID_LOCK_NONE; 1219: -: 853: 1220: -: 854: /* dequeue entry from lock queue */ 1221: #####: 855: MPIU_Free(single_op->data); 1222: call 0 never executed 1223: #####: 856: MPIU_Free(single_op); 1224: call 0 never executed 1225: #####: 857: *lock_queue_ptr = lock_queue->next; 1226: #####: 858: MPIU_Free(lock_queue); 1227: call 0 never executed 1228: #####: 859: lock_queue = *lock_queue_ptr; 1236: -: 867: next operation. */ 1237: -: 868: 1238: #####: 869: MPIU_Free(single_op); 1239: call 0 never executed 1240: #####: 870: *lock_queue_ptr = lock_queue->next; 1241: #####: 871: MPIU_Free(lock_queue); 1242: call 0 never executed 1243: #####: 872: lock_queue = *lock_queue_ptr; 1244: -: 873: 1245: #####: 874: if (requested_lock == MPI_LOCK_EXCLUSIVE) 1246: branch 0 never executed 1247: branch 1 never executed 1248: #####: 875: break; 1273: -: 896: } 1274: -: 897: else { 1275: #####: 898: lock_queue_ptr = &(lock_queue->next); 1276: #####: 899: lock_queue = lock_queue->next; 1324: branch 1 taken 100% 1325: -: 939: { 1326: #####: 940: MPID_Request_release(req); 1346: -: 953:static int do_simple_accumulate(MPIDI_PT_single_op *single_op) 1347: function do_simple_accumulate called 0 returned 0% blocks executed 0% 1348: #####: 954:{ 1349: #####: 955: int mpi_errno = MPI_SUCCESS; 1353: -: 959: MPIDI_FUNC_ENTER(MPID_STATE_DO_SIMPLE_ACCUMULATE); 1354: -: 960: 1355: #####: 961: if (single_op->op == MPI_REPLACE) 1358: -: 962: { 1359: -: 963: /* simply copy the data */ 1360: #####: 964: mpi_errno = MPIR_Localcopy(single_op->data, single_op->count, 1362: -: 965: single_op->datatype, single_op->addr, 1363: -: 966: single_op->count, single_op->datatype); 1364: #####: 967: if (mpi_errno) { 1371: -: 971: } 1372: -: 972: 1373: #####: 973: if (HANDLE_GET_KIND(single_op->op) == HANDLE_KIND_BUILTIN) 1376: -: 974: { 1377: -: 975: /* get the function by indexing into the op table */ 1378: #####: 976: uop = MPIR_Op_table[(single_op->op)%16 - 1]; 1388: -: 985: 1389: -: 986: /* only basic datatypes supported for this optimization. */ 1390: #####: 987: (*uop)(single_op->data, single_op->addr, 1393: -: 988: &(single_op->count), &(single_op->datatype)); 1394: -: 989: 1395: #####: 991: fn_exit: 1396: #####: 991: fn_exit: 1397: #####: 993: return mpi_errno; 1406: -: 1002:static int do_simple_get(MPID_Win *win_ptr, MPIDI_Win_lock_queue *lock_queue) 1407: function do_simple_get called 0 returned 0% blocks executed 0% 1408: #####: 1003:{ 1409: -: 1004: MPIDI_CH3_Pkt_t upkt; 1410: #####: 1005: MPIDI_CH3_Pkt_get_resp_t * get_resp_pkt = &upkt.get_resp; 1411: -: 1006: MPID_Request *req; 1412: -: 1007: MPID_IOV iov[MPID_IOV_LIMIT]; 1413: #####: 1008: int type_size, mpi_errno=MPI_SUCCESS; 1416: -: 1011: MPIDI_FUNC_ENTER(MPID_STATE_DO_SIMPLE_GET); 1417: -: 1012: 1418: #####: 1013: req = MPID_Request_create(); 1419: call 0 never executed 1420: #####: 1014: if (req == NULL) { 1424: call 0 never executed 1425: -: 1016: } 1426: #####: 1017: req->dev.target_win_handle = win_ptr->handle; 1427: #####: 1018: req->dev.source_win_handle = lock_queue->source_win_handle; 1428: #####: 1019: req->dev.single_op_opt = 1; 1429: -: 1020: 1430: #####: 1021: MPIDI_Request_set_type(req, MPIDI_REQUEST_TYPE_GET_RESP); 1431: #####: 1022: req->kind = MPID_REQUEST_SEND; 1432: #####: 1023: req->dev.OnDataAvail = MPIDI_CH3_ReqHandler_GetSendRespComplete; 1433: #####: 1024: req->dev.OnFinal = MPIDI_CH3_ReqHandler_GetSendRespComplete; 1434: -: 1025: 1435: #####: 1026: MPIDI_Pkt_init(get_resp_pkt, MPIDI_CH3_PKT_GET_RESP); 1436: #####: 1027: get_resp_pkt->request_handle = lock_queue->pt_single_op->request_handle; 1437: -: 1028: 1438: #####: 1029: iov[0].MPID_IOV_BUF = (MPID_IOV_BUF_CAST) get_resp_pkt; 1439: #####: 1030: iov[0].MPID_IOV_LEN = sizeof(*get_resp_pkt); 1440: -: 1031: 1441: #####: 1032: iov[1].MPID_IOV_BUF = (MPID_IOV_BUF_CAST)lock_queue->pt_single_op->addr; 1442: #####: 1033: MPID_Datatype_get_size_macro(lock_queue->pt_single_op->datatype, type_size); 1446: branch 3 never executed 1447: call 4 never executed 1448: #####: 1034: iov[1].MPID_IOV_LEN = lock_queue->pt_single_op->count * type_size; 1450: -: 1036: /* Because this is in a packet handler, it is already within a critical section */ 1451: -: 1037: /* MPIU_THREAD_CS_ENTER(CH3COMM,vc); */ 1452: #####: 1038: mpi_errno = MPIU_CALL(MPIDI_CH3,iSendv(lock_queue->vc, req, iov, 2)); 1469: -: 1048: 1470: -: 1051: 1471: #####: 1052: return mpi_errno; 105 line(s) not covered by tests in src/mpid/ch3/src/ch3u_handle_recv_req.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_handle_send_req.c.gcov 19: -: 14: int *complete) 20: function MPIDI_CH3U_Handle_send_req called 0 returned 0% blocks executed 0% 21: #####: 15:{ 22: #####: 16: int mpi_errno = MPI_SUCCESS; 28: -: 22: /* Use the associated function rather than switching on the old ca field */ 29: -: 23: /* Routines can call the attached function directly */ 30: #####: 24: reqFn = sreq->dev.OnDataAvail; 31: #####: 25: if (!reqFn) { 32: branch 0 never executed 33: branch 1 never executed 34: #####: 26: MPIU_Assert(MPIDI_Request_get_type(sreq) != MPIDI_REQUEST_TYPE_GET_RESP); 37: call 2 never executed 38: call 3 never executed 39: #####: 27: MPIDI_CH3U_Request_complete(sreq); 52: branch 12 never executed 53: call 13 never executed 54: #####: 28: *complete = 1; 55: -: 29: } 56: -: 30: else { 57: #####: 31: mpi_errno = reqFn( vc, sreq, complete ); 60: -: 32: } 61: -: 33: 62: #####: 35: return mpi_errno; 9 line(s) not covered by tests in src/mpid/ch3/src/ch3u_handle_send_req.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_port.c.gcov 769: branch 0 taken 0% (fallthrough) 770: branch 1 taken 100% 771: #####: 602: pg_trailer = pg_trailer->next; 820: 1337: 638: fn_exit: 821: 1337: 640: return mpi_errno; 822: #####: 642: MPIU_CHKPMEM_REAP(); 1020: branch 1 taken 100% 1021: -: 781: /* FIXME: Error, the pg_list is broken */ 1022: #####: 782: printf( "Unexpected end of pg_list\n" ); fflush(stdout); 1023: call 0 never executed 1024: call 1 never executed 1025: #####: 783: break; 4 line(s) not covered by tests in src/mpid/ch3/src/ch3u_port.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_recvq.c.gcov 265: branch 0 taken 0% (fallthrough) 266: branch 1 taken 100% 267: #####: 220: matching_prev_rreq->dev.next = matching_cur_rreq->dev.next; 624: branch 0 taken 0% (fallthrough) 625: branch 1 taken 100% 626: #####: 497: goto top_loop; 790: -: 622:int MPIDI_CH3U_Recvq_count_unexp(void) 791: function MPIDI_CH3U_Recvq_count_unexp called 0 returned 0% blocks executed 0% 792: #####: 623:{ 793: #####: 624: int count = 0; 794: #####: 625: MPID_Request *req = recvq_unexpected_head; 795: -: 626: 796: #####: 627: while (req) 798: branch 1 never executed 799: -: 628: { 800: #####: 629: ++count; 801: #####: 630: req = req->dev.next; 802: -: 631: } 803: -: 632: 804: #####: 633: return count; 9 line(s) not covered by tests in src/mpid/ch3/src/ch3u_recvq.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_request.c.gcov 648: -: 468: MPIU_DBG_MSG(CH3_CHANNEL,VERBOSE, 649: -: 469: "updating rreq to read overflow data into the SRBuf and reload IOV"); 650: #####: 470: rreq->dev.iov[0].MPID_IOV_LEN = rreq->dev.tmpbuf_sz; 651: #####: 471: rreq->dev.segment_first += rreq->dev.tmpbuf_sz; 652: #####: 472: rreq->dev.OnDataAvail = MPIDI_CH3_ReqHandler_ReloadIOV; 745: -: 549: Note: memmove() is used since the data regions could 746: -: 550: overlap. */ 747: #####: 551: memmove(rreq->dev.tmpbuf, (char *) rreq->dev.tmpbuf + 4 line(s) not covered by tests in src/mpid/ch3/src/ch3u_request.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_rma_ops.c.gcov 274: -: 154: 275: -: 155: /* poke the progress engine until the two are equal */ 276: #####: 156: MPID_Progress_start(&progress_state); 277: #####: 157: while (total_pt_rma_puts_accs != (*win_ptr)->my_pt_rma_puts_accs) 279: branch 1 never executed 280: -: 158: { 281: #####: 159: mpi_errno = MPID_Progress_wait(&progress_state); 381: branch 1 taken 100% 382: -: 220: { 383: #####: 221: goto fn_exit; 556: branch 1 taken 100% 557: -: 323: { 558: #####: 324: goto fn_exit; 736: branch 1 taken 100% 737: -: 431: { 738: #####: 432: goto fn_exit; 775: branch 1 taken 100% 776: -: 453: { 777: #####: 454: mpi_errno = MPIR_Localcopy(origin_addr, origin_count, 780: -: 456: (char *) win_ptr->base + win_ptr->disp_unit * 781: -: 457: target_disp, target_count, target_datatype); 782: #####: 458: goto fn_exit; 866: -: 510: /* target predefined type, origin derived datatype */ 867: -: 511: 868: #####: 512: (*uop)(tmp_buf, (char *) win_ptr->base + win_ptr->disp_unit * 9 line(s) not covered by tests in src/mpid/ch3/src/ch3u_rma_ops.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_rma_sync.c.gcov 89: branch 1 taken 100% 90: -: 73: { 91: #####: 74: MPID_Progress_start(&progress_state); 92: #####: 75: while (win_ptr->current_lock_type != MPID_LOCK_NONE) 95: -: 76: { 96: -: 77: /* poke the progress engine */ 97: #####: 78: mpi_errno = MPID_Progress_wait(&progress_state); 1353: -: 840: 1354: -: 841: /* poke the progress engine */ 1355: #####: 842: MPID_Progress_start(&progress_state); 1356: #####: 843: while (win_ptr->current_lock_type != MPID_LOCK_NONE) 1358: branch 1 never executed 1359: -: 844: { 1360: #####: 845: mpi_errno = MPID_Progress_wait(&progress_state); 1529: -: 957: 1530: -: 958: /* poke the progress engine */ 1531: #####: 959: MPID_Progress_start(&progress_state); 1532: #####: 960: while (win_ptr->current_lock_type != MPID_LOCK_NONE) 1534: branch 1 never executed 1535: -: 961: { 1536: #####: 962: mpi_errno = MPID_Progress_wait(&progress_state); 2163: -: 1368: MPID_Progress_state progress_state; 2164: -: 1369: 2165: #####: 1370: MPID_Progress_start(&progress_state); 2166: #####: 1371: while (MPIDI_CH3I_Try_acquire_win_lock(win_ptr, lock_type) == 0) 2169: branch 2 never executed 2170: -: 1372: { 2171: #####: 1373: mpi_errno = MPID_Progress_wait(&progress_state); 2395: branch 1 taken 100% 2396: -: 1518: { 2397: #####: 1519: MPID_Request_release(req); 2535: branch 0 taken 0% 2536: branch 1 taken 100% (fallthrough) 2537: #####: 1625: curr_ptr = curr_ptr->next; 2541: branch 1 taken 100% 2542: -: 1628: /* last operation is a get. no need to wait for rma done pkt */ 2543: #####: 1629: *wait_for_rma_done_pkt = 0; 2558: branch 0 taken 0% (fallthrough) 2559: branch 1 taken 100% 2560: #####: 1642: *wait_for_rma_done_pkt = 0; 2561: #####: 1643: *curr_ptr_ptr = curr_ptr->next; 2562: #####: 1644: tmp_ptr = curr_ptr; 2563: #####: 1645: while (curr_ptr->next != NULL) 2564: branch 0 never executed 2565: branch 1 never executed 2566: #####: 1646: curr_ptr = curr_ptr->next; 2567: #####: 1647: curr_ptr->next = tmp_ptr; 2568: #####: 1648: tmp_ptr->next = NULL; 2569: #####: 1649: break; 2863: -: 1848: } 2864: -: 1849: 2865: #####: 1850: else if (rma_op->type == MPIDI_RMA_ACCUMULATE) { 2866: branch 0 never executed 2867: branch 1 never executed 2868: #####: 1851: MPIDI_Pkt_init(lock_accum_unlock_pkt, MPIDI_CH3_PKT_LOCK_ACCUM_UNLOCK); 2869: #####: 1852: lock_accum_unlock_pkt->target_win_handle = 2870: -: 1853: win_ptr->all_win_handles[rma_op->target_rank]; 2871: #####: 1854: lock_accum_unlock_pkt->source_win_handle = win_ptr->handle; 2872: #####: 1855: lock_accum_unlock_pkt->lock_type = lock_type; 2873: -: 1856: 2874: #####: 1857: lock_accum_unlock_pkt->addr = 2876: -: 1859: win_ptr->disp_units[rma_op->target_rank] * rma_op->target_disp; 2877: -: 1860: 2878: #####: 1861: lock_accum_unlock_pkt->count = rma_op->target_count; 2879: #####: 1862: lock_accum_unlock_pkt->datatype = rma_op->target_datatype; 2880: #####: 1863: lock_accum_unlock_pkt->op = rma_op->op; 2881: -: 1864: 2882: #####: 1865: iov[0].MPID_IOV_BUF = (MPID_IOV_BUF_CAST) lock_accum_unlock_pkt; 2883: #####: 1866: iov[0].MPID_IOV_LEN = sizeof(*lock_accum_unlock_pkt); 2911: branch 1 taken 100% 2912: -: 1874: { 2913: #####: 1875: origin_dt_derived = 1; 2914: #####: 1876: MPID_Datatype_get_ptr(rma_op->origin_datatype, origin_dtp); 2956: -: 1902: /* derived datatype on origin */ 2957: -: 1903: 2958: #####: 1904: iovcnt = 1; 2959: -: 1905: 2960: #####: 1906: request = MPID_Request_create(); 2961: call 0 never executed 2962: #####: 1907: if (request == NULL) { 2967: -: 1909: } 2968: -: 1910: 2969: #####: 1911: MPIU_Object_set_ref(request, 2); 2970: #####: 1912: request->kind = MPID_REQUEST_SEND; 2971: -: 1913: 2972: #####: 1914: request->dev.datatype_ptr = origin_dtp; 2974: -: 1916: is freed. */ 2975: -: 1917: 2976: #####: 1918: request->dev.segment_ptr = MPID_Segment_alloc( ); 2977: call 0 never executed 2978: #####: 1919: MPIU_ERR_CHKANDJUMP1(request->dev.segment_ptr == NULL, mpi_errno, MPI_ERR_OTHER, "**nomem", "**nomem %s", "MPID_Segment_alloc"); 2981: call 2 never executed 2982: -: 1920: 2983: #####: 1921: MPID_Segment_init(rma_op->origin_addr, rma_op->origin_count, 2985: -: 1922: rma_op->origin_datatype, 2986: -: 1923: request->dev.segment_ptr, 0); 2987: #####: 1924: request->dev.segment_first = 0; 2988: #####: 1925: request->dev.segment_size = rma_op->origin_count * origin_type_size; 2989: -: 1926: 2990: #####: 1927: request->dev.OnFinal = 0; 2991: #####: 1928: request->dev.OnDataAvail = 0; 2992: -: 1929: 2993: #####: 1930: mpi_errno = vc->sendNoncontig_fn(vc, request, iov[0].MPID_IOV_BUF, iov[0].MPID_IOV_LEN); 3025: branch 0 taken 0% (fallthrough) 3026: branch 1 taken 100% 3027: #####: 1943: if (*(request->cc_ptr) != 0) 3031: -: 1945: MPID_Progress_state progress_state; 3032: -: 1946: 3033: #####: 1947: MPID_Progress_start(&progress_state); 3034: #####: 1948: while (*(request->cc_ptr) != 0) 3036: branch 1 never executed 3037: -: 1949: { 3038: #####: 1950: mpi_errno = MPID_Progress_wait(&progress_state); 3052: -: 1960: } 3053: -: 1961: 3054: #####: 1962: mpi_errno = request->status.MPI_ERROR; 3055: #####: 1963: if (mpi_errno != MPI_SUCCESS) { 3060: -: 1965: } 3061: -: 1966: 3062: #####: 1967: MPID_Request_release(request); 3146: branch 1 taken 100% 3147: -: 2024: { 3148: #####: 2025: MPID_Datatype_get_ptr(rreq->dev.datatype, dtp); 3152: branch 3 never executed 3153: call 4 never executed 3154: #####: 2026: rreq->dev.datatype_ptr = dtp; 3196: branch 1 taken 100% 3197: -: 2056: { 3198: #####: 2057: MPID_Request_release(sreq); 3303: branch 1 taken 100% 3304: -: 2129: { 3305: #####: 2130: MPID_Request_release(req); 3424: branch 0 taken 0% (fallthrough) 3425: branch 1 taken 100% 3426: #####: 2208: MPIDI_CH3U_Request_complete( req ); 3439: branch 12 never executed 3440: call 13 never executed 3441: #####: 2209: *buflen = sizeof(MPIDI_CH3_Pkt_t); 3442: #####: 2210: *rreqp = NULL; 3443: #####: 2211: goto fn_exit; 3468: branch 1 taken 100% 3469: -: 2229: { 3470: #####: 2230: mpi_errno = MPIDI_CH3_ReqHandler_PutAccumRespComplete(vc, req, &complete); 3475: call 2 never executed 3476: -: 2232: 3477: #####: 2233: if (complete) 3479: branch 1 never executed 3480: -: 2234: { 3481: #####: 2235: *rreqp = NULL; 3482: #####: 2236: goto fn_exit; 3517: -: 2261: { 3518: -: 2262: /* copy all of dtype_info and dataloop */ 3519: #####: 2263: MPIU_Memcpy(req->dev.dtype_info, data_buf, sizeof(MPIDI_RMA_dtype_info)); 3541: call 21 never executed 3542: call 22 never executed 3543: #####: 2264: MPIU_Memcpy(req->dev.dataloop, data_buf + sizeof(MPIDI_RMA_dtype_info), put_pkt->dataloop_size); 3568: call 24 never executed 3569: -: 2265: 3570: #####: 2266: *buflen = sizeof(MPIDI_CH3_Pkt_t) + sizeof(MPIDI_RMA_dtype_info) + put_pkt->dataloop_size; 3571: -: 2267: 3572: -: 2268: /* All dtype data has been received, call req handler */ 3573: #####: 2269: mpi_errno = MPIDI_CH3_ReqHandler_PutRespDerivedDTComplete(vc, req, &complete); 3574: call 0 never executed 3575: #####: 2270: MPIU_ERR_CHKANDJUMP1(mpi_errno, mpi_errno, MPI_ERR_OTHER, "**ch3|postrecv", 3578: call 2 never executed 3579: -: 2271: "**ch3|postrecv %s", "MPIDI_CH3_PKT_PUT"); 3580: #####: 2272: if (complete) 3582: branch 1 never executed 3583: -: 2273: { 3584: #####: 2274: *rreqp = NULL; 3585: #####: 2275: goto fn_exit; 3749: -: 2400: { 3750: -: 2401: /* copy all of dtype_info and dataloop */ 3751: #####: 2402: MPIU_Memcpy(req->dev.dtype_info, data_buf, sizeof(MPIDI_RMA_dtype_info)); 3773: call 21 never executed 3774: call 22 never executed 3775: #####: 2403: MPIU_Memcpy(req->dev.dataloop, data_buf + sizeof(MPIDI_RMA_dtype_info), get_pkt->dataloop_size); 3800: call 24 never executed 3801: -: 2404: 3802: #####: 2405: *buflen = sizeof(MPIDI_CH3_Pkt_t) + sizeof(MPIDI_RMA_dtype_info) + get_pkt->dataloop_size; 3803: -: 2406: 3804: -: 2407: /* All dtype data has been received, call req handler */ 3805: #####: 2408: mpi_errno = MPIDI_CH3_ReqHandler_GetRespDerivedDTComplete(vc, req, &complete); 3806: call 0 never executed 3807: #####: 2409: MPIU_ERR_CHKANDJUMP1(mpi_errno, mpi_errno, MPI_ERR_OTHER, "**ch3|postrecv", 3810: call 2 never executed 3811: -: 2410: "**ch3|postrecv %s", "MPIDI_CH3_PKT_GET"); 3812: #####: 2411: if (complete) 3813: branch 0 never executed 3814: branch 1 never executed 3815: #####: 2412: *rreqp = NULL; 3946: branch 0 taken 0% (fallthrough) 3947: branch 1 taken 100% 3948: #####: 2501: MPIDI_CH3U_Request_complete(req); 3961: branch 12 never executed 3962: call 13 never executed 3963: #####: 2502: *buflen = sizeof(MPIDI_CH3_Pkt_t); 3964: #####: 2503: *rreqp = NULL; 3988: branch 1 taken 100% 3989: -: 2520: { 3990: #####: 2521: mpi_errno = MPIDI_CH3_ReqHandler_PutAccumRespComplete(vc, req, &complete); 3994: branch 1 never executed 3995: call 2 never executed 3996: #####: 2523: if (complete) 3998: branch 1 never executed 3999: -: 2524: { 4000: #####: 2525: *rreqp = NULL; 4001: #####: 2526: goto fn_exit; 4034: -: 2549: { 4035: -: 2550: /* copy all of dtype_info and dataloop */ 4036: #####: 2551: MPIU_Memcpy(req->dev.dtype_info, data_buf, sizeof(MPIDI_RMA_dtype_info)); 4058: call 21 never executed 4059: call 22 never executed 4060: #####: 2552: MPIU_Memcpy(req->dev.dataloop, data_buf + sizeof(MPIDI_RMA_dtype_info), accum_pkt->dataloop_size); 4085: call 24 never executed 4086: -: 2553: 4087: #####: 2554: *buflen = sizeof(MPIDI_CH3_Pkt_t) + sizeof(MPIDI_RMA_dtype_info) + accum_pkt->dataloop_size; 4088: -: 2555: 4089: -: 2556: /* All dtype data has been received, call req handler */ 4090: #####: 2557: mpi_errno = MPIDI_CH3_ReqHandler_AccumRespDerivedDTComplete(vc, req, &complete); 4091: call 0 never executed 4092: #####: 2558: MPIU_ERR_CHKANDJUMP1(mpi_errno, mpi_errno, MPI_ERR_OTHER, "**ch3|postrecv", 4095: call 2 never executed 4096: -: 2559: "**ch3|postrecv %s", "MPIDI_CH3_ACCUMULATE"); 4097: #####: 2560: if (complete) 4099: branch 1 never executed 4100: -: 2561: { 4101: #####: 2562: *rreqp = NULL; 4102: #####: 2563: goto fn_exit; 4277: -: 2704: MPIDI_Win_lock_queue *curr_ptr, *prev_ptr, *new_ptr; 4278: -: 2705: 4279: #####: 2706: new_ptr = (MPIDI_Win_lock_queue *) MPIU_Malloc(sizeof(MPIDI_Win_lock_queue)); 4280: call 0 never executed 4281: #####: 2707: if (!new_ptr) { 4286: -: 2709: } 4287: -: 2710: 4288: #####: 2711: new_ptr->pt_single_op = (MPIDI_PT_single_op *) MPIU_Malloc(sizeof(MPIDI_PT_single_op)); 4289: call 0 never executed 4290: #####: 2712: if (new_ptr->pt_single_op == NULL) { 4297: -: 2716: /* FIXME: MT: The queuing may need to be done atomically. */ 4298: -: 2717: 4299: #####: 2718: curr_ptr = (MPIDI_Win_lock_queue *) win_ptr->lock_queue; 4300: #####: 2719: prev_ptr = curr_ptr; 4301: #####: 2720: while (curr_ptr != NULL) 4303: branch 1 never executed 4304: -: 2721: { 4305: #####: 2722: prev_ptr = curr_ptr; 4306: #####: 2723: curr_ptr = curr_ptr->next; 4307: -: 2724: } 4308: -: 2725: 4309: #####: 2726: if (prev_ptr != NULL) 4310: branch 0 never executed 4311: branch 1 never executed 4312: #####: 2727: prev_ptr->next = new_ptr; 4313: -: 2728: else 4314: #####: 2729: win_ptr->lock_queue = new_ptr; 4315: -: 2730: 4316: #####: 2731: new_ptr->next = NULL; 4317: #####: 2732: new_ptr->lock_type = lock_put_unlock_pkt->lock_type; 4318: #####: 2733: new_ptr->source_win_handle = lock_put_unlock_pkt->source_win_handle; 4319: #####: 2734: new_ptr->vc = vc; 4320: -: 2735: 4321: #####: 2736: new_ptr->pt_single_op->type = MPIDI_RMA_PUT; 4322: #####: 2737: new_ptr->pt_single_op->addr = lock_put_unlock_pkt->addr; 4323: #####: 2738: new_ptr->pt_single_op->count = lock_put_unlock_pkt->count; 4324: #####: 2739: new_ptr->pt_single_op->datatype = lock_put_unlock_pkt->datatype; 4325: -: 2740: /* allocate memory to receive the data */ 4326: #####: 2741: new_ptr->pt_single_op->data = MPIU_Malloc(req->dev.recv_data_sz); 4327: call 0 never executed 4328: #####: 2742: if (new_ptr->pt_single_op->data == NULL) { 4333: -: 2744: } 4334: -: 2745: 4335: #####: 2746: new_ptr->pt_single_op->data_recd = 0; 4336: -: 2747: 4337: #####: 2748: MPIDI_Request_set_type(req, MPIDI_REQUEST_TYPE_PT_SINGLE_PUT); 4338: #####: 2749: req->dev.OnDataAvail = MPIDI_CH3_ReqHandler_SinglePutAccumComplete; 4339: #####: 2750: req->dev.user_buf = new_ptr->pt_single_op->data; 4340: #####: 2751: req->dev.lock_queue_entry = new_ptr; 4344: branch 0 taken 0% (fallthrough) 4345: branch 1 taken 100% 4346: #####: 2755: *buflen = sizeof(MPIDI_CH3_Pkt_t); 4347: #####: 2756: MPIDI_CH3U_Request_complete(req); 4360: branch 12 never executed 4361: call 13 never executed 4362: #####: 2757: *rreqp = NULL; 4383: branch 1 taken 100% 4384: -: 2773: { 4385: #####: 2774: mpi_errno = fcn(vc, req, &complete); 4386: call 0 never executed 4387: #####: 2775: if (complete) 4389: branch 1 never executed 4390: -: 2776: { 4391: #####: 2777: *rreqp = NULL; 4499: -: 2863: /* FIXME: MT: This may need to be done atomically. */ 4500: -: 2864: 4501: #####: 2865: curr_ptr = (MPIDI_Win_lock_queue *) win_ptr->lock_queue; 4502: #####: 2866: prev_ptr = curr_ptr; 4503: #####: 2867: while (curr_ptr != NULL) 4505: branch 1 never executed 4506: -: 2868: { 4507: #####: 2869: prev_ptr = curr_ptr; 4508: #####: 2870: curr_ptr = curr_ptr->next; 4509: -: 2871: } 4510: -: 2872: 4511: #####: 2873: new_ptr = (MPIDI_Win_lock_queue *) MPIU_Malloc(sizeof(MPIDI_Win_lock_queue)); 4512: call 0 never executed 4513: #####: 2874: if (!new_ptr) { 4517: call 0 never executed 4518: -: 2876: } 4519: #####: 2877: new_ptr->pt_single_op = (MPIDI_PT_single_op *) MPIU_Malloc(sizeof(MPIDI_PT_single_op)); 4520: call 0 never executed 4521: #####: 2878: if (new_ptr->pt_single_op == NULL) { 4526: -: 2880: } 4527: -: 2881: 4528: #####: 2882: if (prev_ptr != NULL) 4529: branch 0 never executed 4530: branch 1 never executed 4531: #####: 2883: prev_ptr->next = new_ptr; 4532: -: 2884: else 4533: #####: 2885: win_ptr->lock_queue = new_ptr; 4534: -: 2886: 4535: #####: 2887: new_ptr->next = NULL; 4536: #####: 2888: new_ptr->lock_type = lock_get_unlock_pkt->lock_type; 4537: #####: 2889: new_ptr->source_win_handle = lock_get_unlock_pkt->source_win_handle; 4538: #####: 2890: new_ptr->vc = vc; 4539: -: 2891: 4540: #####: 2892: new_ptr->pt_single_op->type = MPIDI_RMA_GET; 4541: #####: 2893: new_ptr->pt_single_op->addr = lock_get_unlock_pkt->addr; 4542: #####: 2894: new_ptr->pt_single_op->count = lock_get_unlock_pkt->count; 4543: #####: 2895: new_ptr->pt_single_op->datatype = lock_get_unlock_pkt->datatype; 4544: #####: 2896: new_ptr->pt_single_op->data = NULL; 4545: #####: 2897: new_ptr->pt_single_op->request_handle = lock_get_unlock_pkt->request_handle; 4546: #####: 2898: new_ptr->pt_single_op->data_recd = 1; 4562: -: 2914: MPIDI_msg_sz_t *buflen, MPID_Request **rreqp ) 4563: function MPIDI_CH3_PktHandler_LockAccumUnlock called 0 returned 0% blocks executed 0% 4564: #####: 2915:{ 4565: -: 2916: MPIDI_CH3_Pkt_lock_accum_unlock_t * lock_accum_unlock_pkt = 4566: #####: 2917: &pkt->lock_accum_unlock; 4567: #####: 2918: MPID_Request *req = NULL; 4568: #####: 2919: MPID_Win *win_ptr = NULL; 4569: #####: 2920: MPIDI_Win_lock_queue *curr_ptr = NULL, *prev_ptr = NULL, *new_ptr = NULL; 4570: -: 2921: int type_size; 4571: -: 2922: int complete; 4572: #####: 2923: char *data_buf = NULL; 4573: -: 2924: MPIDI_msg_sz_t data_len; 4574: #####: 2925: int mpi_errno = MPI_SUCCESS; 4582: -: 2933: data into a temporary buffer first */ 4583: -: 2934: 4584: #####: 2935: data_len = *buflen - sizeof(MPIDI_CH3_Pkt_t); 4585: #####: 2936: data_buf = (char *)pkt + sizeof(MPIDI_CH3_Pkt_t); 4586: -: 2937: 4587: #####: 2938: req = MPID_Request_create(); 4588: call 0 never executed 4589: #####: 2939: MPIU_Object_set_ref(req, 1); 4590: -: 2940: 4591: #####: 2941: req->dev.datatype = lock_accum_unlock_pkt->datatype; 4592: #####: 2942: MPID_Datatype_get_size_macro(lock_accum_unlock_pkt->datatype, type_size); 4596: branch 3 never executed 4597: call 4 never executed 4598: #####: 2943: req->dev.recv_data_sz = type_size * lock_accum_unlock_pkt->count; 4599: #####: 2944: req->dev.user_count = lock_accum_unlock_pkt->count; 4600: #####: 2945: req->dev.target_win_handle = lock_accum_unlock_pkt->target_win_handle; 4602: -: 2947: /* queue the information */ 4603: -: 2948: 4604: #####: 2949: new_ptr = (MPIDI_Win_lock_queue *) MPIU_Malloc(sizeof(MPIDI_Win_lock_queue)); 4605: call 0 never executed 4606: #####: 2950: if (!new_ptr) { 4611: -: 2952: } 4612: -: 2953: 4613: #####: 2954: new_ptr->pt_single_op = (MPIDI_PT_single_op *) MPIU_Malloc(sizeof(MPIDI_PT_single_op)); 4614: call 0 never executed 4615: #####: 2955: if (new_ptr->pt_single_op == NULL) { 4620: -: 2957: } 4621: -: 2958: 4622: #####: 2959: MPID_Win_get_ptr(lock_accum_unlock_pkt->target_win_handle, win_ptr); 4628: -: 2961: /* FIXME: MT: The queuing may need to be done atomically. */ 4629: -: 2962: 4630: #####: 2963: curr_ptr = (MPIDI_Win_lock_queue *) win_ptr->lock_queue; 4631: #####: 2964: prev_ptr = curr_ptr; 4632: #####: 2965: while (curr_ptr != NULL) 4634: branch 1 never executed 4635: -: 2966: { 4636: #####: 2967: prev_ptr = curr_ptr; 4637: #####: 2968: curr_ptr = curr_ptr->next; 4638: -: 2969: } 4639: -: 2970: 4640: #####: 2971: if (prev_ptr != NULL) 4641: branch 0 never executed 4642: branch 1 never executed 4643: #####: 2972: prev_ptr->next = new_ptr; 4644: -: 2973: else 4645: #####: 2974: win_ptr->lock_queue = new_ptr; 4646: -: 2975: 4647: #####: 2976: new_ptr->next = NULL; 4648: #####: 2977: new_ptr->lock_type = lock_accum_unlock_pkt->lock_type; 4649: #####: 2978: new_ptr->source_win_handle = lock_accum_unlock_pkt->source_win_handle; 4650: #####: 2979: new_ptr->vc = vc; 4651: -: 2980: 4652: #####: 2981: new_ptr->pt_single_op->type = MPIDI_RMA_ACCUMULATE; 4653: #####: 2982: new_ptr->pt_single_op->addr = lock_accum_unlock_pkt->addr; 4654: #####: 2983: new_ptr->pt_single_op->count = lock_accum_unlock_pkt->count; 4655: #####: 2984: new_ptr->pt_single_op->datatype = lock_accum_unlock_pkt->datatype; 4656: #####: 2985: new_ptr->pt_single_op->op = lock_accum_unlock_pkt->op; 4657: -: 2986: /* allocate memory to receive the data */ 4658: #####: 2987: new_ptr->pt_single_op->data = MPIU_Malloc(req->dev.recv_data_sz); 4659: call 0 never executed 4660: #####: 2988: if (new_ptr->pt_single_op->data == NULL) { 4665: -: 2990: } 4666: -: 2991: 4667: #####: 2992: new_ptr->pt_single_op->data_recd = 0; 4668: -: 2993: 4669: #####: 2994: MPIDI_Request_set_type(req, MPIDI_REQUEST_TYPE_PT_SINGLE_ACCUM); 4670: #####: 2995: req->dev.user_buf = new_ptr->pt_single_op->data; 4671: #####: 2996: req->dev.lock_queue_entry = new_ptr; 4672: -: 2997: 4673: #####: 2998: *rreqp = req; 4674: #####: 2999: if (req->dev.recv_data_sz == 0) { 4675: branch 0 never executed 4676: branch 1 never executed 4677: #####: 3000: *buflen = sizeof(MPIDI_CH3_Pkt_t); 4678: #####: 3001: MPIDI_CH3U_Request_complete(req); 4691: branch 12 never executed 4692: call 13 never executed 4693: #####: 3002: *rreqp = NULL; 4694: -: 3003: } 4695: -: 3004: else { 4696: #####: 3005: mpi_errno = MPIDI_CH3U_Receive_data_found(req, data_buf, &data_len, 4700: -: 3008: post_data_receive reset the handler. There should 4701: -: 3009: be a cleaner way to do this */ 4702: #####: 3010: if (!req->dev.OnDataAvail) { 4703: branch 0 never executed 4704: branch 1 never executed 4705: #####: 3011: req->dev.OnDataAvail = MPIDI_CH3_ReqHandler_SinglePutAccumComplete; 4706: -: 3012: } 4707: #####: 3013: if (mpi_errno != MPI_SUCCESS) { 4713: -: 3016: } 4714: -: 3017: /* return the number of bytes processed in this function */ 4715: #####: 3018: *buflen = data_len + sizeof(MPIDI_CH3_Pkt_t); 4716: -: 3019: 4717: #####: 3020: if (complete) 4719: branch 1 never executed 4720: -: 3021: { 4721: #####: 3022: mpi_errno = MPIDI_CH3_ReqHandler_SinglePutAccumComplete(vc, req, &complete); 4722: call 0 never executed 4723: #####: 3023: if (complete) 4725: branch 1 never executed 4726: -: 3024: { 4727: #####: 3025: *rreqp = NULL; 4731: -: 3027: } 4732: -: 3028: } 4733: #####: 3031: return mpi_errno; 4779: branch 0 taken 0% (fallthrough) 4780: branch 1 taken 100% 4781: #####: 3067: MPIDI_CH3U_Request_complete( req ); 4794: branch 12 never executed 4795: call 13 never executed 4796: #####: 3068: *buflen = sizeof(MPIDI_CH3_Pkt_t); 4797: #####: 3069: *rreqp = NULL; 4810: branch 1 taken 100% 4811: -: 3077: { 4812: #####: 3078: MPIDI_CH3U_Request_complete(req); 4825: branch 12 never executed 4826: call 13 never executed 4827: #####: 3079: *rreqp = NULL; 219 line(s) not covered by tests in src/mpid/ch3/src/ch3u_rma_sync.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_rndv.c.gcov 86: branch 1 taken 100% 87: -: 70: { 88: #####: 71: MPIU_Object_set_ref(sreq, 0); 89: #####: 72: MPIDI_CH3_Request_destroy(sreq); 90: call 0 never executed 91: #####: 73: *sreq_p = NULL; 92: #####: 73: *sreq_p = NULL; 93: call 0 never executed 94: #####: 75: MPID_Request_release(rts_sreq); 289: branch 1 taken 100% 290: -: 224: { 291: #####: 225: MPID_Request_release(rts_sreq); 397: branch 0 taken 0% (fallthrough) 398: branch 1 taken 100% 399: #####: 297: *buflen = sizeof(MPIDI_CH3_Pkt_t); 400: #####: 298: MPIDI_CH3U_Request_complete(req); 413: branch 12 never executed 414: call 13 never executed 415: #####: 299: *rreqp = NULL; 433: branch 1 taken 100% 434: -: 312: { 435: #####: 313: MPIDI_CH3U_Request_complete(req); 448: branch 12 never executed 449: call 13 never executed 450: #####: 314: *rreqp = NULL; 503: -: 360: This would avoid our having to decrement the 504: -: 361: reference count on a req we don't want/need. */ 505: #####: 362: MPID_Request_release(cts_req); 11 line(s) not covered by tests in src/mpid/ch3/src/ch3u_rndv.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_eager.c.gcov 164: 383450: 135: fn_exit: 165: 383450: 136: return mpi_errno; 166: #####: 138: *sreq_p = NULL; 167: #####: 139: goto fn_exit; 773: branch 1 taken 100% 774: -: 622: { 775: #####: 623: MPIDI_CH3U_Request_complete(rreq); 788: branch 12 never executed 789: call 13 never executed 790: #####: 624: *rreqp = NULL; 888: branch 1 taken 100% 889: -: 693: { 890: #####: 694: MPIDI_CH3U_Request_complete(rreq); 903: branch 12 never executed 904: call 13 never executed 905: #####: 695: *rreqp = NULL; 929: -: 718: ready_pkt->match.parts.rank, 930: -: 719: ready_pkt->match.parts.tag); 931: #####: 720: rreq->status.count = 0; 932: #####: 721: if (rreq->dev.recv_data_sz > 0) 935: -: 722: { 936: -: 723: /* force read of extra data */ 937: #####: 724: *rreqp = rreq; 938: #####: 725: rreq->dev.segment_first = 0; 939: #####: 726: rreq->dev.segment_size = 0; 940: #####: 727: mpi_errno = MPIDI_CH3U_Request_load_recv_iov(rreq); 941: call 0 never executed 942: #####: 728: if (mpi_errno != MPI_SUCCESS) { 951: -: 734: { 952: -: 735: /* mark data transfer as complete and decrement CC */ 953: #####: 736: MPIDI_CH3U_Request_complete(rreq); 966: branch 12 never executed 967: call 13 never executed 968: #####: 737: *rreqp = NULL; 969: -: 738: } 970: -: 739: /* we didn't process anything but the header in this case */ 971: #####: 740: *buflen = sizeof(MPIDI_CH3_Pkt_t); 16 line(s) not covered by tests in src/mpid/ch3/src/ch3u_eager.c.gcov Uncovered lines in src/mpid/ch3/src/ch3u_eagersync.c.gcov 132: 3957: 107: fn_exit: 133: 3957: 108: return mpi_errno; 134: #####: 110: *sreq_p = NULL; 135: #####: 111: goto fn_exit; 222: branch 1 taken 100% 223: -: 184: { 224: #####: 185: MPID_Request_release(esa_req); 338: branch 1 taken 100% 339: -: 263: { 340: #####: 264: MPIDI_CH3U_Request_complete(rreq); 353: branch 12 never executed 354: call 13 never executed 355: #####: 265: *rreqp = NULL; 431: branch 1 taken 100% 432: -: 307: { 433: #####: 308: MPIDI_CH3U_Request_complete(rreq); 446: branch 12 never executed 447: call 13 never executed 448: #####: 309: *rreqp = NULL; 7 line(s) not covered by tests in src/mpid/ch3/src/ch3u_eagersync.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_abort.c.gcov 55: branch 1 taken 100% 56: -: 48: /* Create a default error message */ 57: #####: 49: error_msg = error_str; 60: -: 52: communicator, so using other than the rank in comm world does not 61: -: 53: identify the process, as the message suggests */ 62: #####: 54: if (comm) 64: branch 1 never executed 65: -: 55: { 66: #####: 56: rank = comm->rank; 68: -: 58: else 69: -: 59: { 70: #####: 60: if (MPIR_Process.comm_world != NULL) 72: branch 1 never executed 73: -: 61: { 74: #####: 62: rank = MPIR_Process.comm_world->rank; 76: -: 64: else 77: -: 65: { 78: #####: 66: rank = -1; 80: -: 68: } 81: -: 69: 82: #####: 70: if (mpi_errno != MPI_SUCCESS) 84: branch 1 never executed 85: -: 71: { 86: #####: 72: MPIR_Err_get_string(mpi_errno, msg, MPI_MAX_ERROR_STRING, NULL); 87: call 0 never executed 88: -: 73: /* FIXME: Not internationalized */ 89: #####: 74: MPIU_Snprintf(error_str, sizeof(error_str), "internal ABORT - process %d: %s", rank, msg); 93: -: 77: { 94: -: 78: /* FIXME: Not internationalized */ 95: #####: 79: MPIU_Snprintf(error_str, sizeof(error_str), "internal ABORT - process %d", rank); 120: -: 101: /* ch3_abort should not return but if it does, exit here. If it does, 121: -: 102: add the function exit code before calling the final exit. */ 122: #####: 104: MPIU_Exit(exit_code); 123: call 0 never executed 124: -: 105: 125: #####: 106: return MPI_ERR_INTERN; 163: -: 140: 164: -: 141: /* if abort returns for some reason, exit here */ 165: #####: 142: exit(exit_code); 13 line(s) not covered by tests in src/mpid/ch3/src/mpid_abort.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_cancel_recv.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_cancel_send.c.gcov 42: branch 1 taken 100% 43: -: 31: { 44: #####: 32: goto fn_exit; 57: branch 1 taken 100% 58: -: 44: { 59: #####: 45: goto fn_exit; 76: -: 58: 77: -: 59: MPIU_THREAD_CS_ENTER(MSGQUEUE,); 78: #####: 60: rreq = MPIDI_CH3U_Recvq_FDU(sreq->handle, &sreq->dev.match); 79: call 0 never executed 80: -: 61: MPIU_THREAD_CS_EXIT(MSGQUEUE,); 81: #####: 62: if (rreq) 83: branch 1 never executed 84: -: 63: { 85: #####: 64: MPIU_Assert(rreq->partner_request == sreq); 93: -: 68: sreq->handle, rreq->handle)); 94: -: 69: 95: #####: 70: MPIU_Object_set_ref(rreq, 0); 96: #####: 71: MPIDI_CH3_Request_destroy(rreq); 97: call 0 never executed 98: -: 72: 99: #####: 73: sreq->status.cancelled = TRUE; 100: -: 74: /* no other thread should be waiting on sreq, so it is safe to 101: -: 75: reset ref_count and cc */ 102: #####: 76: sreq->cc = 0; 103: #####: 77: MPIU_Object_set_ref(sreq, 1); 105: -: 79: else 106: -: 80: { 107: #####: 81: sreq->status.cancelled = FALSE; 138: branch 1 taken 100% 139: -: 109: { 140: #####: 110: cancelled = FALSE; 142: -: 112: /* since we attempted to cancel a RTS request, then we are 143: -: 113: responsible for releasing that request */ 144: #####: 114: MPID_Request_release(rts_sreq); 163: -: 115: 164: -: 124: 165: #####: 125: if (cancelled) 167: branch 1 never executed 168: -: 126: { 169: #####: 127: sreq->status.cancelled = TRUE; 170: -: 128: /* no other thread should be waiting on sreq, so it is 171: -: 129: safe to reset ref_count and cc */ 172: #####: 130: sreq->cc = 0; 173: #####: 131: MPIU_Object_set_ref(sreq, 1); 174: #####: 132: goto fn_exit; 183: branch 1 taken 100% 184: -: 140: { 185: #####: 141: sreq->status.cancelled = TRUE; 186: -: 142: /* no other thread should be waiting on sreq, so it is safe to 187: -: 143: reset ref_count and cc */ 188: #####: 144: sreq->cc = 0; 189: #####: 145: MPIU_Object_set_ref(sreq, 1); 190: #####: 146: goto fn_exit; 347: branch 1 taken 100% 348: -: 263: { 349: #####: 264: MPID_Request_release(resp_sreq); 23 line(s) not covered by tests in src/mpid/ch3/src/mpid_cancel_send.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_comm_disconnect.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_comm_spawn_multiple.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_finalize.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_get_universe_size.c.gcov 65: branch 1 taken 100% 66: -: 54: { 67: #####: 55: *universe_size = MPIR_UNIVERSE_SIZE_NOT_AVAILABLE; 1 line(s) not covered by tests in src/mpid/ch3/src/mpid_get_universe_size.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_getpname.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_init.c.gcov 79: branch 2 never executed 80: branch 3 never executed 81: #####: 70: MPIDI_Use_pmi2_api = TRUE; 552: -: 441: else { 553: -: 442: /* Create a default pg id */ 554: #####: 443: pg_id = MPIU_Malloc(2); 555: call 0 never executed 556: #####: 444: if (pg_id == NULL) { 560: call 0 never executed 561: -: 446: } 562: #####: 447: MPIU_Strncpy( pg_id, "0", 2 ); 4 line(s) not covered by tests in src/mpid/ch3/src/mpid_init.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_iprobe.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_irecv.c.gcov 144: branch 1 taken 100% 145: -: 107: { 146: #####: 108: MPID_Datatype_get_ptr(datatype, rreq->dev.datatype_ptr); 150: branch 3 never executed 151: call 4 never executed 152: #####: 109: MPID_Datatype_add_ref(rreq->dev.datatype_ptr); 177: branch 1 taken 100% 178: -: 121: { 179: #####: 122: MPID_Datatype_get_ptr(datatype, rreq->dev.datatype_ptr); 183: branch 3 never executed 184: call 4 never executed 185: #####: 123: MPID_Datatype_add_ref(rreq->dev.datatype_ptr); 4 line(s) not covered by tests in src/mpid/ch3/src/mpid_irecv.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_irsend.c.gcov 71: branch 1 taken 100% 72: -: 52: { 73: #####: 53: MPIU_Object_set_ref(sreq, 1); 74: #####: 54: sreq->cc = 0; 75: #####: 55: goto fn_exit; 110: -: 79: MPIU_DBG_MSG(CH3_OTHER,VERBOSE,"sending zero length message"); 111: -: 80: 112: #####: 81: sreq->dev.OnDataAvail = 0; 117: -: 86: 118: -: 87: MPIU_THREAD_CS_ENTER(CH3COMM,vc); 119: #####: 88: mpi_errno = MPIU_CALL(MPIDI_CH3,iSend(vc, sreq, ready_pkt, sizeof(*ready_pkt))); 161: branch 2 taken 0% (fallthrough) 162: branch 3 taken 100% 163: #####: 119: sreq->dev.datatype_ptr = dt_ptr; 164: #####: 120: MPID_Datatype_add_ref(dt_ptr); 7 line(s) not covered by tests in src/mpid/ch3/src/mpid_irsend.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_isend.c.gcov 192: branch 2 taken 0% (fallthrough) 193: branch 3 taken 100% 194: #####: 146: sreq->dev.datatype_ptr = dt_ptr; 195: #####: 147: MPID_Datatype_add_ref(dt_ptr); 219: branch 1 taken 100% 220: -: 165: { 221: #####: 166: sreq->dev.datatype_ptr = dt_ptr; 222: #####: 167: MPID_Datatype_add_ref(dt_ptr); 4 line(s) not covered by tests in src/mpid/ch3/src/mpid_isend.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_issend.c.gcov 86: branch 1 taken 100% 87: -: 63: { 88: #####: 64: MPIU_Object_set_ref(sreq, 1); 89: #####: 65: sreq->cc = 0; 90: #####: 66: goto fn_exit; 104: branch 1 taken 100% 105: -: 72: { 106: #####: 73: mpi_errno = MPIDI_CH3_EagerSyncZero( &sreq, rank, tag, comm, 107: call 0 never executed 108: -: 74: context_offset ); 109: #####: 75: goto fn_exit; 126: branch 2 taken 0% (fallthrough) 127: branch 3 taken 100% 128: #####: 87: sreq->dev.datatype_ptr = dt_ptr; 129: #####: 88: MPID_Datatype_add_ref(dt_ptr); 153: branch 1 taken 100% 154: -: 106: { 155: #####: 107: sreq->dev.datatype_ptr = dt_ptr; 156: #####: 108: MPID_Datatype_add_ref(dt_ptr); 9 line(s) not covered by tests in src/mpid/ch3/src/mpid_issend.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_port.c.gcov 122: branch 0 taken 0% (fallthrough) 123: branch 1 taken 100% 124: #####: 105: MPIU_CALL(MPIDI_CH3,PortFnsInit( &portFns )); 125: call 0 never executed 126: #####: 106: setupPortFunctions = 0; 320: -: 259: 321: -: 261: /* Everything is used up */ 322: #####: 262: *port_name_tag = -1; 323: #####: 263: mpi_errno = MPI_ERR_OTHER; 324: #####: 264: goto fn_exit; 371: branch 0 taken 0% (fallthrough) 372: branch 1 taken 100% 373: #####: 304: mpi_errno = MPI_SUCCESS; 444: branch 1 taken 100% 445: -: 364: { 446: #####: 365: mpi_errno = MPI_SUCCESS; 7 line(s) not covered by tests in src/mpid/ch3/src/mpid_port.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_probe.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_recv.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_rsend.c.gcov 125: -: 95: { 126: -: 96: MPIDI_Request_set_seqnum(sreq, seqnum); 127: #####: 97: MPIDI_Request_set_type(sreq, MPIDI_REQUEST_TYPE_RSEND); 1 line(s) not covered by tests in src/mpid/ch3/src/mpid_rsend.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_send.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_ssend.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_startall.c.gcov 230: branch 1 taken 100% 231: -: 184: { 232: #####: 185: MPID_Datatype_get_ptr(datatype, sreq->dev.datatype_ptr); 236: branch 3 never executed 237: call 4 never executed 238: #####: 186: MPID_Datatype_add_ref(sreq->dev.datatype_ptr); 279: branch 1 taken 100% 280: -: 214: { 281: #####: 215: MPID_Datatype_get_ptr(datatype, sreq->dev.datatype_ptr); 285: branch 3 never executed 286: call 4 never executed 287: #####: 216: MPID_Datatype_add_ref(sreq->dev.datatype_ptr); 377: branch 1 taken 100% 378: -: 274: { 379: #####: 275: MPID_Datatype_get_ptr(datatype, sreq->dev.datatype_ptr); 383: branch 3 never executed 384: call 4 never executed 385: #####: 276: MPID_Datatype_add_ref(sreq->dev.datatype_ptr); 431: branch 1 taken 100% 432: -: 311: { 433: #####: 315: goto fn_exit; 7 line(s) not covered by tests in src/mpid/ch3/src/mpid_startall.c.gcov Uncovered lines in src/mpid/ch3/src/mpid_vc.c.gcov 104: 1120393: 86: MPIU_CHKPMEM_COMMIT(); 105: 1120393: 88: return mpi_errno; 106: #####: 90: MPIU_CHKPMEM_REAP(); 240: -: 186: vc->pg_rank == MPIDI_Process.my_pg_rank) 241: -: 187: { 242: #####: 188: MPIDI_PG_release_ref(vc->pg, &inuse); 245: call 2 never executed 246: call 3 never executed 247: #####: 189: if (inuse == 0) 249: branch 1 never executed 250: -: 190: { 251: #####: 191: MPIDI_PG_Destroy(vc->pg); 456: branch 0 taken 0% (fallthrough) 457: branch 1 taken 100% 458: #####: 351: *singlePG = 0; 521: branch 1 taken 100% 522: -: 406: /* Internal error. This gpid is unknown on this process */ 523: #####: 407: printf("No matching pg foung for id = %d\n", pgid ); 524: call 0 never executed 525: #####: 408: lpid[i] = -1; 527: call 0 never executed 528: -: 410: "**unknowngpid %d %d", gpid[0], gpid[1] ); 529: #####: 411: return mpi_errno; 544: -: 421: } 545: -: 422: else { 546: #####: 423: lpid[i] = -1; 548: call 0 never executed 549: -: 425: "**unknowngpid %d %d", gpid[0], gpid[1] ); 550: #####: 426: return mpi_errno; 757: -: 594:static int MPIDI_CH3U_VC_FinishPending( MPIDI_VCRT_t *vcrt ) 758: function MPIDI_CH3U_VC_FinishPending called 0 returned 0% blocks executed 0% 759: #####: 595:{ 760: #####: 596: int mpi_errno = MPI_SUCCESS; 770: -: 606: A virtual connection has pending operations if the state 771: -: 607: is not INACTIVE or if the sendq is not null */ 772: #####: 608: nPending = 0; 773: #####: 609: vc = vcrt->vcr_table; 774: #####: 610: size = vcrt->size; 775: -: 611: /* printf( "Size = %d\n", size ); fflush(stdout); */ 776: #####: 612: for (i=0; istate != MPIDI_VC_STATE_INACTIVE) { 781: branch 1 never executed 782: -: 614: /* FIXME: Printf for debugging */ 783: #####: 615: printf ("state for vc[%d] is %d\n", 784: call 0 never executed 785: #####: 616: i, vc[i]->state ); fflush(stdout); 786: call 0 never executed 787: #####: 617: nPending++; 799: -: 629:#endif 800: -: 630: } 801: #####: 631: if (nPending > 0) { 802: branch 0 never executed 803: branch 1 never executed 804: #####: 632: printf( "Panic! %d pending operations!\n", nPending ); 805: call 0 never executed 806: #####: 633: fflush(stdout); 807: call 0 never executed 808: #####: 634: MPIU_Assert( nPending == 0 ); 813: -: 635: } 814: -: 636: else { 815: #####: 637: break; 816: -: 638: } 817: -: 639: 818: #####: 640: MPID_Progress_start(&progress_state); 820: -: 642: "Waiting for %d close operations", 821: -: 643: nPending); 822: #####: 644: mpi_errno = MPID_Progress_wait(&progress_state); 833: call 0 never executed 834: -: 652: MPID_Progress_end(&progress_state); 835: #####: 653: } while(nPending > 0); 837: branch 1 never executed 838: -: 654: 839: #####: 655: fn_exit: 840: #####: 655: fn_exit: 841: #####: 657: return mpi_errno; 860: -: 676:int MPIDI_CH3U_Comm_FinishPending( MPID_Comm *comm_ptr ) 861: function MPIDI_CH3U_Comm_FinishPending called 0 returned 0% blocks executed 0% 862: #####: 677:{ 863: #####: 678: int mpi_errno = MPI_SUCCESS; 866: -: 681: MPIDI_FUNC_ENTER(MPID_STATE_MPIDI_CH3U_COMM_FINISHPENDING); 867: -: 682: 868: #####: 683: mpi_errno = MPIDI_CH3U_VC_FinishPending( comm_ptr->vcrt ); 869: call 0 never executed 870: #####: 684: if (!mpi_errno && comm_ptr->local_vcrt) { 873: branch 2 never executed 874: branch 3 never executed 875: #####: 685: mpi_errno = MPIDI_CH3U_VC_FinishPending( comm_ptr->local_vcrt ); 878: -: 686: } 879: -: 687: 880: #####: 689: return mpi_errno; 1113: -: 866: * process layout on the part of the process manager. Consider this a 1114: -: 867: * non-fatal error case. */ 1115: #####: 868: *type = NULL_MAPPING; 1116: #####: 869: *map = NULL; 1117: #####: 870: *nblocks = 0; 1118: #####: 871: goto fn_exit; 1119: -: 872: } 1120: -: 873: 1121: #####: 874: skip_space(c); 1146: 2854: 880: *type = VECTOR_MAPPING; 1147: -: 881: else 1148: #####: 882: parse_error(); 1204: branch 1 taken 0% (fallthrough) 1205: branch 2 taken 100% 1206: #####: 905: parse_error(); 1226: branch 1 taken 0% (fallthrough) 1227: branch 2 taken 100% 1228: #####: 913: parse_error(); 1248: branch 1 taken 0% (fallthrough) 1249: branch 2 taken 100% 1250: #####: 921: parse_error(); 1274: 2854: 932:fn_exit: 1275: 2854: 934: return mpi_errno; 1276: #####: 936: MPIU_CHKPMEM_REAP(); 1388: branch 0 taken 0% (fallthrough) 1389: branch 1 taken 100% 1390: #####: 1029: *num_nodes = node_id; 1400: 2854: 1035: goto fn_exit; 1401: -: 1036: } 1402: #####: 1037: ++node_id; 1411: call 0 returned 100% 1412: 2854: 1045: return mpi_errno; 1413: #####: 1047: *did_map = 0; 1414: #####: 1048: goto fn_exit; 1480: branch 2 never executed 1481: branch 3 never executed 1482: #####: 1106: no_local = 1; 1496: branch 2 never executed 1497: branch 3 never executed 1498: #####: 1117: odd_even_cliques = 1; 1503: branch 1 taken 100% 1504: -: 1121: /* just assign 0 to n-1 as node ids and bail */ 1505: #####: 1122: for (i = 0; i < pg->size; ++i) { 1506: branch 0 never executed 1507: branch 1 never executed 1508: #####: 1123: pg->vct[i].node_id = g_num_nodes++; 1563: -: 1176: /* FIXME this routine can't handle the dynamic process case at this 1564: -: 1177: time. This will require more support from the process manager. */ 1565: #####: 1178: MPIU_Assert(0); 1746: -: 1266: may leave nodes ids with no processes assigned to them, but 1747: -: 1267: I think this is OK */ 1748: #####: 1268: for (i = 0; i < pg->size; ++i) 1749: branch 0 never executed 1750: branch 1 never executed 1751: #####: 1269: if (i & 0x1) 1752: branch 0 never executed 1753: branch 1 never executed 1754: #####: 1270: pg->vct[i].node_id += g_num_nodes; 1755: #####: 1271: g_num_nodes *= 2; 59 line(s) not covered by tests in src/mpid/ch3/src/mpid_vc.c.gcov All code covered by tests in src/mpid/ch3/src/mpid_rma.c.gcov All code covered by tests in src/mpid/ch3/src/mpidi_isend_self.c.gcov Uncovered lines in src/mpid/ch3/src/mpidi_pg.c.gcov 80: branch 22 never executed 81: branch 23 never executed 82: #####: 51: verbose = 1; 105: branch 10 taken 100% 106: -: 58: int j; 107: #####: 59: verbose = 1; 108: #####: 60: for (j=i; jnext; 461: -: 331: } 462: -: 332: else { 463: #####: 333: MPIU_Free(pg->connData); 562: -: 417:int MPIDI_PG_Has_next(MPIDI_PG_iterator *iter) 563: function MPIDI_PG_Has_next called 0 returned 0% blocks executed 0% 564: #####: 418:{ 565: #####: 419: return (*iter != NULL); 910: branch 0 taken 0% (fallthrough) 911: branch 1 taken 100% 912: #####: 711: MPIDI_PG_CheckForSingleton(); 913: call 0 never executed 914: #####: 712: pmi_errno = PMI_KVS_Get(pg->connData, key, buf, bufsize ); 971: branch 0 taken 0% (fallthrough) 972: branch 1 taken 100% 973: #####: 755: MPIU_Internal_error_printf( 1005: branch 0 taken 0% (fallthrough) 1006: branch 1 taken 100% 1007: #####: 782: char *nstring = 0; 1008: #####: 783: curSlen += (pg->size - i) * (vallen + 1 ); 1009: #####: 784: nstring = MPIU_Realloc( string, curSlen); 1010: call 0 never executed 1011: #####: 785: if (!nstring) { 1015: call 0 never executed 1016: -: 787: } 1017: #####: 788: string = nstring; 1036: 1336: 800: fn_exit: 1037: 1336: 801: return mpi_errno; 1038: #####: 803: if (string) MPIU_Free(string); 1045: -: 807: MPIDI_PG_t *pg ATTRIBUTE((unused)) ) 1046: function connFromStringKVS called 0 returned 0% blocks executed 0% 1047: #####: 808:{ 1048: -: 809: /* Fixme: this should be a failure to call this routine */ 1049: #####: 810: return MPI_SUCCESS; 1122: 3459: 865: fn_exit: 1123: 3459: 866: return mpi_errno; 1124: #####: 868: if (pg->connData) { MPIU_Free(pg->connData); } 1160: branch 5 taken 100% 1161: -: 894: /* FIXME: Turn this into a valid error code create/return */ 1162: #####: 895: printf( "Fatal error in getConnInfo (rank = %d)\n", rank ); 1163: call 0 never executed 1164: #####: 896: printf( "connInfo = %p\n", connInfo );fflush(stdout); 1165: call 0 never executed 1166: call 1 never executed 1167: #####: 897: if (connInfo) { 1168: branch 0 never executed 1169: branch 1 never executed 1170: #####: 898: printf( "connInfo->connStrings = %p\n", connInfo->connStrings ); 1172: -: 899: } 1173: -: 900: /* Fatal error. Connection information missing */ 1174: #####: 901: fflush(stdout); 1227: -: 938: MPIU_Assertp(0); /* don't know what to do here for pmi2 yet. DARIUS */ 1228: -: 939:#else 1229: #####: 940: PMI_Get_id( pg->id, 256 ); 1258: branch 0 taken 0% (fallthrough) 1259: branch 1 taken 100% 1260: #####: 959: *buf_p = 0; 1261: #####: 960: *slen = 0; 1262: #####: 961: MPIU_ERR_INTERNALANDJUMP(mpi_errno, "len > connInfo->toStringLen"); 1271: 201: 968: MPIU_CHKPMEM_COMMIT(); 1272: 201: 969: return mpi_errno; 1273: #####: 971: MPIU_CHKPMEM_REAP(); 1426: -: 1097: } 1427: -: 1098: else { 1428: #####: 1099: MPIU_Internal_error_printf( "Panic: no getConnInfo defined!\n" ); 1606: -: 1235:int MPIU_PG_Printall( FILE *fp ) 1607: function MPIU_PG_Printall called 0 returned 0% blocks executed 0% 1608: #####: 1236:{ 1610: -: 1238: int i; 1611: -: 1239: 1612: #####: 1240: pg = MPIDI_PG_list; 1613: -: 1241: 1614: #####: 1242: fprintf( fp, "Process groups:\n" ); 1615: call 0 never executed 1616: #####: 1243: while (pg) { 1618: branch 1 never executed 1619: -: 1244: /* XXX DJG FIXME-MT should we be checking this? */ 1620: #####: 1245: fprintf( fp, "size = %d, refcount = %d, id = %s\n", 1621: call 0 never executed 1622: -: 1246: pg->size, MPIU_Object_get_ref(pg), (char *)pg->id ); 1623: #####: 1247: for (i=0; isize; i++) { 1624: branch 0 never executed 1625: branch 1 never executed 1626: #####: 1248: fprintf( fp, "\tVCT rank = %d, refcount = %d, lpid = %d, state = %d \n", 1629: -: 1250: pg->vct[i].lpid, (int)pg->vct[i].state ); 1630: -: 1251: } 1631: #####: 1252: fflush(fp); 1632: call 0 never executed 1633: #####: 1253: pg = pg->next; 1634: -: 1254: } 1635: -: 1255: 1636: #####: 1256: return 0; 1650: -: 1266: char buf[256]; 1651: -: 1267: /* Force an enroll */ 1652: #####: 1268: PMI_KVS_Get( "foobar", "foobar", buf, sizeof(buf) ); 1653: call 0 never executed 1654: #####: 1269: PMI_Get_id( pg_world->id, 256 ); 1655: call 0 never executed 1656: #####: 1270: PMI_KVS_Get_my_name( pg_world->connData, 256 ); 52 line(s) not covered by tests in src/mpid/ch3/src/mpidi_pg.c.gcov Uncovered lines in src/mpid/ch3/src/mpidi_printf.c.gcov 32: -: 27:void MPIDI_dbg_printf(int level, char * func, char * fmt, ...) 33: function MPIDI_dbg_printf called 0 returned 0% blocks executed 0% 34: #####: 28:{ 42: -: 36: va_list list; 43: -: 37: 44: #####: 38: if (MPIR_Process.comm_world) 46: branch 1 never executed 47: -: 39: { 48: #####: 40: MPIU_dbglog_printf("[%d] %s(): ", MPIR_Process.comm_world->rank, func); 51: -: 42: else 52: -: 43: { 53: #####: 44: MPIU_dbglog_printf("[-1] %s(): ", func); 54: call 0 never executed 55: -: 45: } 56: #####: 46: va_start(list, fmt); 57: call 0 never executed 58: #####: 47: MPIU_dbglog_vprintf(fmt, list); 59: call 0 never executed 60: #####: 48: va_end(list); 61: call 0 never executed 62: #####: 49: MPIU_dbglog_printf("\n"); 63: call 0 never executed 64: #####: 50: fflush(stdout); 70: -: 55:void MPIDI_err_printf(char * func, char * fmt, ...) 71: function MPIDI_err_printf called 0 returned 0% blocks executed 0% 72: #####: 56:{ 74: -: 58: va_list list; 75: -: 59: 76: #####: 60: if (MPIR_Process.comm_world) 78: branch 1 never executed 79: -: 61: { 80: #####: 62: printf("[%d] ERROR - %s(): ", MPIR_Process.comm_world->rank, func); 83: -: 64: else 84: -: 65: { 85: #####: 66: printf("[-1] ERROR - %s(): ", func); 86: call 0 never executed 87: -: 67: } 88: #####: 68: va_start(list, fmt); 89: call 0 never executed 90: #####: 69: vprintf(fmt, list); 91: call 0 never executed 92: #####: 70: va_end(list); 93: call 0 never executed 94: #####: 71: printf("\n"); 95: call 0 never executed 96: #####: 72: fflush(stdout); 240: -: 215:const char * MPIDI_VC_GetStateString(int state) 241: function MPIDI_VC_GetStateString called 0 returned 0% blocks executed 0% 242: #####: 216:{ 243: #####: 217: switch (state) 250: -: 218: { 251: -: 219: case MPIDI_VC_STATE_INACTIVE: 252: #####: 220: return "MPIDI_VC_STATE_INACTIVE"; 253: -: 221: case MPIDI_VC_STATE_ACTIVE: 254: #####: 222: return "MPIDI_VC_STATE_ACTIVE"; 255: -: 223: case MPIDI_VC_STATE_LOCAL_CLOSE: 256: #####: 224: return "MPIDI_VC_STATE_LOCAL_CLOSE"; 257: -: 225: case MPIDI_VC_STATE_REMOTE_CLOSE: 258: #####: 226: return "MPIDI_VC_STATE_REMOTE_CLOSE"; 259: -: 227: case MPIDI_VC_STATE_CLOSE_ACKED: 260: #####: 228: return "MPIDI_VC_STATE_CLOSE_ACKED"; 261: -: 229: default: 262: #####: 230: return "unknown"; 271: -: 239:const char *MPIDI_Pkt_GetDescString( MPIDI_CH3_Pkt_t *pkt ) 272: function MPIDI_Pkt_GetDescString called 0 returned 0% blocks executed 0% 273: #####: 240:{ 275: -: 242: 276: -: 243: /* For data messages, the string (...) is (context,tag,rank,size) */ 277: #####: 244: switch(pkt->type) { 299: branch 21 never executed 300: -: 245: case MPIDI_CH3_PKT_EAGER_SEND: 301: #####: 246: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 306: -: 250: pkt->eager_send.match.parts.rank, 307: -: 251: pkt->eager_send.data_sz ); 308: #####: 252: break; 309: -: 253: case MPIDI_CH3_PKT_EAGER_SYNC_SEND: 310: #####: 254: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 316: -: 259: pkt->eager_sync_send.data_sz, 317: -: 260: pkt->eager_sync_send.sender_req_id ); 318: #####: 261: break; 319: -: 262: case MPIDI_CH3_PKT_EAGER_SYNC_ACK: 320: #####: 263: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 322: -: 264: "EAGER_SYNC_ACK - req=%d", 323: -: 265: pkt->eager_sync_ack.sender_req_id ); 324: #####: 266: break; 325: -: 267: case MPIDI_CH3_PKT_READY_SEND: 326: #####: 268: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 331: -: 272: pkt->ready_send.match.parts.rank, 332: -: 273: pkt->ready_send.data_sz ); 333: #####: 274: break; 334: -: 275: case MPIDI_CH3_PKT_RNDV_REQ_TO_SEND: 335: #####: 276: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 341: -: 281: pkt->rndv_req_to_send.data_sz, 342: -: 282: pkt->rndv_req_to_send.sender_req_id ); 343: #####: 283: break; 344: -: 284: case MPIDI_CH3_PKT_RNDV_CLR_TO_SEND: 345: #####: 285: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 348: -: 287: pkt->rndv_clr_to_send.sender_req_id, 349: -: 288: pkt->rndv_clr_to_send.receiver_req_id ); 350: #####: 289: break; 351: -: 290: case MPIDI_CH3_PKT_RNDV_SEND: 352: #####: 291: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 354: -: 292: "RNDV_SEND - recv req=%d", 355: -: 293: pkt->rndv_send.receiver_req_id ); 356: #####: 294: break; 357: -: 295: case MPIDI_CH3_PKT_CANCEL_SEND_REQ: 358: #####: 296: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 360: -: 297: "CANCEL_SEND_REQ - req=%d", 361: -: 298: pkt->cancel_send_req.sender_req_id ); 362: #####: 299: break; 363: -: 300: case MPIDI_CH3_PKT_CANCEL_SEND_RESP: 364: #####: 301: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 367: -: 303: pkt->cancel_send_resp.sender_req_id, 368: -: 304: pkt->cancel_send_resp.ack ); 369: #####: 305: break; 370: -: 306: case MPIDI_CH3_PKT_PUT: 371: #####: 307: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 375: -: 310: pkt->put.count, 376: -: 311: pkt->put.target_win_handle ); 377: #####: 312: break; 378: -: 313: case MPIDI_CH3_PKT_GET: 379: #####: 314: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 384: -: 318: pkt->get.target_win_handle, 385: -: 319: pkt->get.request_handle ); 386: #####: 320: break; 387: -: 321: case MPIDI_CH3_PKT_GET_RESP: 388: #####: 322: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 390: -: 323: "GET_RESP - req=%d", 391: -: 324: pkt->get_resp.request_handle ); 392: #####: 325: break; 393: -: 326: case MPIDI_CH3_PKT_ACCUMULATE: 394: #####: 327: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 398: -: 330: pkt->accum.count, 399: -: 331: pkt->accum.target_win_handle ); 400: #####: 332: break; 401: -: 333: case MPIDI_CH3_PKT_LOCK: 402: #####: 334: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 404: -: 335: "LOCK - %d", 405: -: 336: pkt->lock.target_win_handle ); 406: #####: 337: break; 407: -: 338: case MPIDI_CH3_PKT_LOCK_PUT_UNLOCK: 408: #####: 339: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 412: -: 342: pkt->lock_put_unlock.count, 413: -: 343: pkt->lock_put_unlock.target_win_handle ); 414: #####: 344: break; 415: -: 345: case MPIDI_CH3_PKT_LOCK_ACCUM_UNLOCK: 416: #####: 346: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 420: -: 349: pkt->lock_accum_unlock.count, 421: -: 350: pkt->lock_accum_unlock.target_win_handle ); 422: #####: 351: break; 423: -: 352: case MPIDI_CH3_PKT_LOCK_GET_UNLOCK: 424: #####: 353: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 429: -: 357: pkt->lock_get_unlock.target_win_handle, 430: -: 358: pkt->lock_get_unlock.request_handle ); 431: #####: 359: break; 432: -: 360: case MPIDI_CH3_PKT_PT_RMA_DONE: 433: -: 361: /* There is no rma_done packet type */ 434: #####: 362: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 436: -: 363: "RMA_DONE - 0x%08X", 437: -: 364: pkt->lock_accum_unlock.source_win_handle ); 438: #####: 365: break; 439: -: 366: case MPIDI_CH3_PKT_LOCK_GRANTED: 440: #####: 367: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 442: -: 368: "LOCK_GRANTED - 0x%08X", 443: -: 369: pkt->lock_granted.source_win_handle ); 444: #####: 370: break; 445: -: 371: case MPIDI_CH3_PKT_FLOW_CNTL_UPDATE: 446: #####: 372: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 447: call 0 never executed 448: -: 373: "FLOW_CNTL_UPDATE" ); 449: #####: 374: break; 450: -: 375: case MPIDI_CH3_PKT_CLOSE: 451: #####: 376: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 453: -: 377: "CLOSE ack=%d", 454: -: 378: pkt->close.ack ); 455: #####: 379: break; 456: -: 380: 457: -: 381: default: 458: #####: 382: MPIU_Snprintf( pktmsg, sizeof(pktmsg), 462: -: 385: } 463: -: 386: 464: #####: 387: return pktmsg; 72 line(s) not covered by tests in src/mpid/ch3/src/mpidi_printf.c.gcov Uncovered lines in src/mpid/common/sock/poll/sock_wait.i.gcov 232: 36703602: 199: goto fn_exit; 233: -: 200: } 234: #####: 201: else if (errno == EINTR) 237: branch 2 never executed 238: -: 202: { 239: #####: 203: if (millisecond_timeout != MPIDU_SOCK_INFINITE_TIME) 241: branch 1 never executed 242: -: 204: { 243: #####: 205: mpi_errno = MPIDU_SOCK_ERR_TIMEOUT; 244: #####: 206: goto fn_exit; 331: -: 260: MPI_SUCCESS, MPIR_ERR_FATAL, FCNAME, __LINE__, MPIDU_SOCK_ERR_FAIL, "**sock|badhandle", 332: -: 261: "**sock|poll|badhandle %d %d %d %d", pollinfo->sock_set->id, pollinfo->sock_id, pollfd->fd, pollinfo->fd); 333: #####: 262: goto fn_exit; 532: -: 401:static int MPIDU_Socki_handle_pollhup(struct pollfd * const pollfd, struct pollinfo * const pollinfo) 533: function MPIDU_Socki_handle_pollhup called 0 returned 0% blocks executed 0% 534: #####: 402:{ 535: #####: 403: int mpi_errno = MPI_SUCCESS; 538: -: 406: MPIDI_FUNC_ENTER(MPID_STATE_MPIDU_SOCKI_HANDLE_POLLHUP); 539: -: 407: 540: #####: 408: if (pollinfo->state == MPIDU_SOCKI_STATE_CONNECTED_RW) 573: -: 413: */ 574: -: 428: } 575: #####: 429: else if (pollinfo->state == MPIDU_SOCKI_STATE_CONNECTED_RO) 585: -: 437: * list. 586: -: 438: */ 587: #####: 439: MPIU_Assert(pollinfo->state == MPIDU_SOCKI_STATE_CONNECTED_RO && (pollfd->events & POLLIN) && (pollfd->revents & POLLIN)); 595: call 7 never executed 596: -: 440: } 597: #####: 441: else if (pollinfo->state == MPIDU_SOCKI_STATE_DISCONNECTED) 602: -: 444: * We should never reach this state because pollfd->fd should be set to -1 if we are in the disconnected state. 603: -: 445: */ 604: #####: 446: MPIU_Assert(pollinfo->state == MPIDU_SOCKI_STATE_DISCONNECTED && pollfd->fd == -1); 610: call 5 never executed 611: -: 447: } 612: #####: 448: else if (pollinfo->state == MPIDU_SOCKI_STATE_CONNECTING) 617: -: 451: * The process we were connecting to died. Let the POLLOUT handler deal with the error. 618: -: 452: */ 619: #####: 453: MPIU_Assert(pollinfo->state == MPIDU_SOCKI_STATE_CONNECTING && (pollfd->events & POLLOUT)); 624: call 4 never executed 625: call 5 never executed 626: #####: 454: pollfd->revents = POLLOUT; 637: -: 455: } 638: -: 465: 639: #####: 466: fn_exit: 640: #####: 466: fn_exit: 641: #####: 468: return mpi_errno; 650: -: 477:static int MPIDU_Socki_handle_pollerr(struct pollfd * const pollfd, struct pollinfo * const pollinfo) 651: function MPIDU_Socki_handle_pollerr called 0 returned 0% blocks executed 0% 652: #####: 478:{ 653: #####: 479: int mpi_errno = MPI_SUCCESS; 669: -: 483: 670: -: 493: 671: #####: 494: if (pollinfo->state == MPIDU_SOCKI_STATE_CONNECTED_RW) 678: -: 499: * Here, we simple check that things are as we expect them to be. 679: -: 500: */ 680: #####: 501: MPIU_Assert((pollfd->events & (POLLIN | POLLOUT)) || pollfd->fd == -1); 687: -: 502: 688: -: 503: /* If a write was posted then cancel it and generate an write completion event */ 689: #####: 504: if (pollfd->events & POLLOUT) 695: -: 508: int event_mpi_errno; 696: -: 509: 697: #####: 510: MPIDU_SOCKI_GET_SOCKET_ERROR(pollinfo, os_errno, mpi_errno, fn_exit); 706: call 8 never executed 707: -: 511: 708: #####: 512: event_mpi_errno = MPIDU_Socki_os_to_mpi_errno(pollinfo, os_errno, FCNAME, __LINE__, &disconnected); 719: call 0 never executed 720: -: 520: 721: #####: 521: MPIDU_SOCKI_EVENT_ENQUEUE(pollinfo, MPIDU_SOCK_OP_WRITE, pollinfo->write_nb, pollinfo->user_ptr, 725: call 3 never executed 726: -: 522: event_mpi_errno, mpi_errno, fn_exit); 727: #####: 523: MPIDU_SOCKI_POLLFD_OP_CLEAR(pollfd, pollinfo, POLLOUT); 731: branch 3 never executed 732: call 4 never executed 733: #####: 524: pollinfo->state = MPIDU_SOCKI_STATE_CONNECTED_RO; 734: -: 525: } 735: -: 526: } 736: #####: 527: else if (pollinfo->state == MPIDU_SOCKI_STATE_CONNECTED_RO) 746: -: 535: * list. 747: -: 536: */ 748: #####: 537: MPIU_Assert(pollinfo->state == MPIDU_SOCKI_STATE_CONNECTED_RO && (pollfd->events & POLLIN) && (pollfd->revents & POLLIN)); 756: call 7 never executed 757: -: 538: } 758: #####: 539: else if (pollinfo->state == MPIDU_SOCKI_STATE_CONNECTING) 763: -: 542: * The process we were connecting to died. Let the POLLOUT handler deal with the error. 764: -: 543: */ 765: #####: 544: MPIU_Assert(pollinfo->state == MPIDU_SOCKI_STATE_CONNECTING && (pollfd->events & POLLOUT)); 770: call 4 never executed 771: call 5 never executed 772: #####: 545: pollfd->revents = POLLOUT; 773: -: 546: } 774: #####: 547: else if (pollinfo->state == MPIDU_SOCKI_STATE_DISCONNECTED) 777: -: 548: { 778: -: 549: /* We are already disconnected! Why are we handling an error? */ 779: #####: 550: MPIU_Assert(pollfd->fd == -1); 794: -: 551: } 795: -: 561: 796: #####: 562: fn_exit: 797: #####: 562: fn_exit: 798: #####: 564: return mpi_errno; 916: -: 617: } 917: -: 618: } 918: #####: 640: else if (errno == EAGAIN && errno == EWOULDBLOCK) 922: -: 641: { 923: -: 642: /* do nothing... */ 924: #####: 643: goto fn_exit; 1070: -: 736: } 1071: -: 737: } 1072: #####: 738: else if (errno == EAGAIN || errno == EWOULDBLOCK) 1076: -: 739: { 1077: -: 740: /* do nothing... */ 1078: #####: 741: goto fn_exit; 40 line(s) not covered by tests in src/mpid/common/sock/poll/sock_wait.i.gcov Uncovered lines in src/mpid/common/sock/poll/sock_misc.i.gcov 53: -: 48: char * host_description, int len) 54: function MPIDU_Sock_get_host_description called 0 returned 0% blocks executed 0% 55: #####: 49:{ 56: -: 50: char * env_hostname; 57: -: 51: int rc; 58: #####: 52: int mpi_errno = MPI_SUCCESS; 79: -: 70: name? What if a different interface is needed? */ 80: -: 71: /* Use hostname supplied in environment variable, if it exists */ 81: #####: 72: env_hostname = getenv("MPICH_INTERFACE_HOSTNAME"); 82: call 0 never executed 83: -: 73: 84: #####: 74: if (!env_hostname) { 89: -: 77: environment to each process */ 90: -: 78: char namebuf[1024]; 91: #####: 79: MPIU_Snprintf( namebuf, sizeof(namebuf), 92: call 0 never executed 93: -: 80: "MPICH_INTERFACE_HOSTNAME_R_%d", myRank ); 94: #####: 81: env_hostname = getenv( namebuf ); 96: -: 82: } 97: -: 83: 98: #####: 84: if (env_hostname != NULL) 100: branch 1 never executed 101: -: 85: { 102: #####: 86: rc = MPIU_Strncpy(host_description, env_hostname, (size_t) len); 114: -: 94: } 115: -: 95: else { 116: #####: 96: rc = gethostname(host_description, len); 152: -: 117: } 153: -: 118: 154: #####: 119: fn_exit: 155: #####: 119: fn_exit: 156: #####: 121: return mpi_errno; 165: -: 130: struct MPIDU_Sock ** sockp) 166: function MPIDU_Sock_native_to_sock called 0 returned 0% blocks executed 0% 167: #####: 131:{ 168: #####: 132: struct MPIDU_Sock * sock = NULL; 171: -: 135: int rc; 172: -: 136: long flags; 173: #####: 137: int mpi_errno = MPI_SUCCESS; 179: -: 143: 180: -: 144: /* allocate sock and poll structures */ 181: #####: 145: mpi_errno = MPIDU_Socki_sock_alloc(sock_set, &sock); 193: call 0 never executed 194: -: 154: 195: #####: 155: pollfd = MPIDU_Socki_sock_get_pollfd(sock); 196: #####: 156: pollinfo = MPIDU_Socki_sock_get_pollinfo(sock); 197: -: 157: 198: -: 158: /* set file descriptor to non-blocking */ 199: #####: 159: flags = fcntl(fd, F_GETFL, 0); 213: #####: 159: flags = fcntl(fd, F_GETFL, 0); 214: call 0 never executed 215: #####: 168: rc = fcntl(fd, F_SETFL, flags | O_NONBLOCK); 231: -: 177: 232: -: 178: /* initialize sock and poll structures */ 233: #####: 179: pollfd->fd = -1; 234: #####: 180: pollfd->events = 0; 235: #####: 181: pollfd->revents = 0; 236: -: 182: 237: #####: 183: pollinfo->fd = fd; 238: #####: 184: pollinfo->user_ptr = user_ptr; 239: #####: 185: pollinfo->type = MPIDU_SOCKI_TYPE_COMMUNICATION; 240: #####: 186: pollinfo->state = MPIDU_SOCKI_STATE_CONNECTED_RW; 241: -: 187: 242: #####: 188: *sockp = sock; 243: -: 189: 244: #####: 190: fn_exit: 245: #####: 190: fn_exit: 246: #####: 192: return mpi_errno; 267: -: 210:int MPIDU_Sock_set_user_ptr(struct MPIDU_Sock * sock, void * user_ptr) 268: function MPIDU_Sock_set_user_ptr called 0 returned 0% blocks executed 0% 269: #####: 211:{ 270: #####: 212: int mpi_errno = MPI_SUCCESS; 275: -: 217: MPIDU_SOCKI_VERIFY_INIT(mpi_errno, fn_exit); 276: -: 218: 277: #####: 219: if (sock != MPIDU_SOCK_INVALID_SOCK && 282: -: 220: sock->sock_set != MPIDU_SOCK_INVALID_SET) 283: -: 221: { 284: #####: 222: MPIDU_Socki_sock_get_pollinfo(sock)->user_ptr = user_ptr; 297: -: 233: fn_exit: 298: -: 234:#endif 299: #####: 236: return mpi_errno; 309: -: 246:int MPIDU_Sock_get_sock_id(struct MPIDU_Sock * sock) 310: function MPIDU_Sock_get_sock_id called 0 returned 0% blocks executed 0% 311: #####: 247:{ 315: -: 251: MPIDI_FUNC_ENTER(MPID_STATE_MPIDU_SOCK_GET_SOCK_ID); 316: -: 252: 317: #####: 253: if (sock != MPIDU_SOCK_INVALID_SOCK) 319: branch 1 never executed 320: -: 254: { 321: #####: 255: if (sock->sock_set != MPIDU_SOCK_INVALID_SET) 323: branch 1 never executed 324: -: 256: { 325: #####: 257: id = MPIDU_Socki_sock_get_pollinfo(sock)->sock_id; 327: -: 259: else 328: -: 260: { 329: #####: 261: id = -1; 332: -: 264: else 333: -: 265: { 334: #####: 266: id = -1; 336: -: 267: } 337: -: 268: 338: #####: 270: return id; 345: -: 277:int MPIDU_Sock_get_sock_set_id(struct MPIDU_Sock_set * sock_set) 346: function MPIDU_Sock_get_sock_set_id called 0 returned 0% blocks executed 0% 347: #####: 278:{ 351: -: 282: MPIDI_FUNC_ENTER(MPID_STATE_MPIDU_SOCK_GET_SOCK_SET_ID); 352: -: 283: 353: #####: 284: if (sock_set != MPIDU_SOCK_INVALID_SET) 355: branch 1 never executed 356: -: 285: { 357: #####: 286: id = sock_set->id; 359: -: 288: else 360: -: 289: { 361: #####: 290: id = -1; 363: -: 291: } 364: -: 292: 365: #####: 294: return id; 46 line(s) not covered by tests in src/mpid/common/sock/poll/sock_misc.i.gcov Uncovered lines in src/mpid/common/sock/poll/sock_immed.i.gcov 333: -: 262: MPIU_Size_t * num_read) 334: function MPIDU_Sock_read called 0 returned 0% blocks executed 0% 335: #####: 263:{ 337: -: 265: struct pollinfo * pollinfo; 338: -: 266: size_t nb; 339: #####: 267: int mpi_errno = MPI_SUCCESS; 346: -: 274: MPIDU_SOCKI_VALIDATE_SOCK(sock, mpi_errno, fn_exit); 347: -: 275: 348: #####: 276: pollfd = MPIDU_Socki_sock_get_pollfd(sock); 349: #####: 277: pollinfo = MPIDU_Socki_sock_get_pollinfo(sock); 360: -: 288: (which is also missing!!!!) needs to be very clear about this 361: -: 289: requirement. */ 362: #####: 290: if (len > SSIZE_MAX) 364: branch 1 never executed 365: -: 291: { 366: #####: 292: len = SSIZE_MAX; 370: -: 296: { 371: -: 297: MPIDI_FUNC_ENTER(MPID_STATE_READ); 372: #####: 298: nb = read(pollinfo->fd, buf, len); 374: call 0 never executed 375: -: 300: } 376: #####: 301: while (nb == -1 && errno == EINTR); 381: branch 4 never executed 382: -: 302: 383: #####: 303: if (nb > 0) 385: branch 1 never executed 386: -: 304: { 387: #####: 305: *num_read = (MPIU_Size_t) nb; 484: -: 306: } 485: -: 368: 486: #####: 369: fn_exit: 487: #####: 369: fn_exit: 488: #####: 371: return mpi_errno; 681: branch 1 taken 100% 682: -: 518: { 683: #####: 519: len = SSIZE_MAX; 13 line(s) not covered by tests in src/mpid/common/sock/poll/sock_immed.i.gcov Uncovered lines in src/mpid/common/sock/poll/sock_post.i.gcov 198: -: 143: /* connection succeeded */ 199: -: 144: MPIU_DBG_MSG_P(CH3_CONNECT,TYPICAL,"Setting state to SOCKI_STATE_CONNECTED_RW for sock %p",sock); 200: #####: 145: pollinfo->state = MPIDU_SOCKI_STATE_CONNECTED_RW; 201: #####: 146: MPIDU_SOCKI_EVENT_ENQUEUE(pollinfo, MPIDU_SOCK_OP_CONNECT, 0, user_ptr, MPI_SUCCESS, mpi_errno, fn_fail); 404: branch 1 taken 100% 405: -: 295: { 406: #####: 296: optval = 1; 407: #####: 297: rc = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)); 494: branch 0 taken 100% (fallthrough) 495: branch 1 taken 0% 496: #####: 350: if (errno != EADDRINUSE && errno != EADDRNOTAVAIL) { 498: branch 1 never executed 499: branch 2 never executed 500: #####: 351: close(fd); 501: call 0 never executed 502: #####: 352: break; 508: -: 358: } 509: -: 359: else { 510: #####: 360: memset(&addr, 0, sizeof(addr)); 511: call 0 never executed 512: #####: 361: addr.sin_family = AF_INET; 513: #####: 362: addr.sin_addr.s_addr = htonl(INADDR_ANY); 515: branch 1 never executed 516: branch 2 never executed 517: #####: 363: addr.sin_port = htons((unsigned short) *port); 519: branch 1 never executed 520: branch 2 never executed 521: #####: 364: rc = bind(fd, (struct sockaddr *) &addr, sizeof(addr)); 12 line(s) not covered by tests in src/mpid/common/sock/poll/sock_post.i.gcov All code covered by tests in src/mpid/common/sock/poll/sock_set.i.gcov All code covered by tests in src/mpid/common/sock/poll/sock_init.i.gcov Uncovered lines in src/mpid/common/sock/poll/socki_util.i.gcov 389: -: 376: } 390: -: 377: 391: #####: 378: MPIU_Assertp(nb == 0 || errno == EINTR); 429: -: 404: } 430: -: 405: else { 431: #####: 406: sock_set->pollfds[elem].fd = -1; 441: -: 412: } 442: -: 413: else { 443: #####: 414: sock_set->pollfds[elem].revents = sock_set->pollfds_active[elem].revents & 453: branch 0 taken 0% (fallthrough) 454: branch 1 taken 100% 455: #####: 424: MPIU_Free(sock_set->pollfds_active); 731: -: 647:# else 732: -: 648: { 733: #####: 649: if (sock_set->pollfds_active == NULL) 735: branch 1 never executed 736: -: 650: { 737: #####: 651: memcpy(pollfds, sock_set->pollfds, sock_set->poll_array_sz * sizeof(struct pollfd)); 738: call 0 never executed 739: -: 652: } 740: #####: 653: if (sock_set->pollfds_active != sock_set->pollfds) 742: branch 1 never executed 743: -: 654: { 744: #####: 655: MPIU_Free(sock_set->pollfds); 748: -: 658:# endif 749: -: 659: 750: #####: 660: memcpy(pollinfos, sock_set->pollinfos, sock_set->poll_array_sz * sizeof(struct pollinfo)); 751: call 0 never executed 752: #####: 661: MPIU_Free(sock_set->pollinfos); 1176: -: 996: socklen_t bufsz_len; 1177: -: 997: 1178: #####: 998: bufsz = sockBufSize; 1179: #####: 999: bufsz_len = sizeof(bufsz); 1180: #####: 1000: rc = setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &bufsz, bufsz_len); 1181: call 0 never executed 1182: #####: 1001: if (rc == -1) { 1192: -: 1005: bufsz, errno, MPIU_Strerror(errno)); 1193: -: 1006: } 1194: #####: 1007: bufsz = sockBufSize; 1195: #####: 1008: bufsz_len = sizeof(bufsz); 1196: #####: 1009: rc = setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &bufsz, bufsz_len); 1197: call 0 never executed 1198: #####: 1010: if (rc == -1) { 1208: -: 1014: bufsz, errno, MPIU_Strerror(errno)); 1209: -: 1015: } 1210: #####: 1016: bufsz_len = sizeof(bufsz); 1211: -: 1017: 1212: #####: 1018: if (firm) { 1213: branch 0 never executed 1214: branch 1 never executed 1215: #####: 1019: rc = getsockopt(fd, SOL_SOCKET, SO_SNDBUF, &bufsz, &bufsz_len); 1229: call 0 never executed 1230: -: 1028: 1231: #####: 1029: bufsz_len = sizeof(bufsz); 1232: #####: 1030: rc = getsockopt(fd, SOL_SOCKET, SO_RCVBUF, &bufsz, &bufsz_len); 1254: -: 1046:int MPIDU_Sock_AddrToStr( MPIDU_Sock_ifaddr_t *ifaddr, char *str, int maxlen ) 1255: function MPIDU_Sock_AddrToStr called 0 returned 0% blocks executed 0% 1256: #####: 1047:{ 1257: -: 1048: int i; 1258: #####: 1049: unsigned char *p = ifaddr->ifaddr; 1259: #####: 1050: for (i=0; ilen && maxlen > 4; i++) { 1260: branch 0 never executed 1261: branch 1 never executed 1262: #####: 1051: snprintf( str, maxlen, "%.3d.", *p++ ); 1263: call 0 never executed 1264: #####: 1052: str += 4; 1265: #####: 1053: maxlen -= 4; 1266: -: 1054: } 1267: -: 1055: /* Change the last period to a null; but be careful in case len was zero */ 1268: #####: 1056: if (i > 0) *--str = 0; 1269: branch 0 never executed 1270: branch 1 never executed 1271: #####: 1057: else *str = 0; 1272: #####: 1058: return 0; 32 line(s) not covered by tests in src/mpid/common/sock/poll/socki_util.i.gcov All code covered by tests in src/mpid/ch3/util/sock/ch3u_init_sock.c.gcov Uncovered lines in src/mpid/ch3/util/sock/ch3u_connect_sock.c.gcov 111: branch 0 taken 0% (fallthrough) 112: branch 1 taken 100% 113: #####: 104: return mpi_errno; 153: branch 0 taken 0% (fallthrough) 154: branch 1 taken 100% 155: #####: 139: return mpi_errno; 236: 16954: 192: fn_exit: 237: 16954: 194: return mpi_errno; 238: #####: 196: MPIU_CHKPMEM_REAP(); 455: branch 1 taken 100% 456: -: 364: /* --BEGIN ERROR HANDLING */ 457: #####: 365: if (str_errno == MPIU_STR_FAIL) { 658: branch 0 taken 0% (fallthrough) 659: branch 1 taken 100% 660: #####: 530: if (mpi_errno == MPIU_STR_NOMEM) { 1407: -: 1104: * discarding one of the connections 1408: -: 1105: */ 1409: #####: 1106: mpi_errno = MPI_SUCCESS; 1410: #####: 1107: goto fn_exit; 1474: -: 1163: * discarding one of the connections 1475: -: 1164: */ 1476: #####: 1165: mpi_errno = MPI_SUCCESS; 1477: #####: 1166: goto fn_exit; 1512: -: 1191:#endif 1513: -: 1192: { 1514: #####: 1193: mpi_errno = MPIDU_Sock_post_connect(MPIDI_CH3I_sock_set, conn, 10 line(s) not covered by tests in src/mpid/ch3/util/sock/ch3u_connect_sock.c.gcov Uncovered lines in src/mpid/ch3/util/sock/ch3u_getinterfaces.c.gcov 102: -: 88: environment to each process */ 103: -: 89: char namebuf[1024]; 104: #####: 90: MPIU_Snprintf( namebuf, sizeof(namebuf), 105: call 0 never executed 106: -: 91: "MPICH_INTERFACE_HOSTNAME_R%d", myRank ); 107: #####: 92: ifname_string = getenv( namebuf ); 108: call 0 never executed 109: #####: 93: if (dbg_ifname && ifname_string) { 110: branch 0 never executed 111: branch 1 never executed 112: #####: 94: fprintf( stdout, "Found interface name %s from %s\n", 113: call 0 never executed 114: -: 95: ifname_string, namebuf ); 115: #####: 96: fflush( stdout ); 120: branch 0 taken 0% (fallthrough) 121: branch 1 taken 100% 122: #####: 100: fprintf( stdout, 124: -: 101: "Found interface name %s from MPICH_INTERFACE_HOSTNAME\n", 125: -: 102: ifname_string ); 126: #####: 103: fflush( stdout ); 134: -: 108: 135: -: 109: /* If we have nothing, then use the host name */ 136: #####: 110: mpi_errno = MPID_Get_processor_name(ifname, maxIfname, &len ); 140: branch 1 never executed 141: call 2 never executed 142: #####: 112: ifname_string = ifname; 146: -: 116: this platform. Otherwise, we'll drop into the next step that uses 147: -: 117: the ifname */ 148: #####: 118: mpi_errno = MPIDI_CH3U_GetIPInterface( ifaddr, &ifaddrFound ); 180: -: 136: /* If the address won't fit in the field, reset to 181: -: 137: no address */ 182: #####: 138: ifaddr->len = 0; 183: #####: 139: ifaddr->type = -1; 437: -: 368:static int MPIDI_CH3U_GetIPInterface( MPIDU_Sock_ifaddr_t *ifaddr, int *found ) 438: function MPIDI_CH3U_GetIPInterface called 0 returned 0% blocks executed 0% 439: #####: 369:{ 440: #####: 370: *found = 0; 441: #####: 371: return 0; 15 line(s) not covered by tests in src/mpid/ch3/util/sock/ch3u_getinterfaces.c.gcov All code covered by tests in src/mpid/ch3/util/sock/mpiimpl.h.gcov Uncovered lines in src/pmi/simple/simple_pmi.c.gcov 152: branch 0 taken 0% (fallthrough) 153: branch 1 taken 100% 154: #####: 140: return rc; 160: -: 144: /* Singleton init: Process not started with mpiexec, 161: -: 145: so set size to 1, rank to 0 */ 162: #####: 146: PMI_size = 1; 163: #####: 147: PMI_rank = 0; 164: #####: 148: *spawned = 0; 165: -: 149: 166: #####: 150: PMI_initialized = SINGLETON_INIT_BUT_NO_PM; 167: -: 151: /* 256 is picked as the minimum allowed length by the PMI servers */ 168: #####: 152: PMI_kvsname_max = 256; 169: #####: 153: PMI_keylen_max = 256; 170: #####: 154: PMI_vallen_max = 256; 171: -: 155: 172: #####: 156: return( 0 ); 185: call 0 returned 100% 186: -: 164: else 187: #####: 165: PMI_size = 1; 199: -: 172: } 200: -: 173: else 201: #####: 174: PMI_rank = 0; 208: call 0 returned 100% 209: -: 178: else 210: #####: 179: PMI_debug = 0; 231: -: 194: /* FIXME: And it most ceratainly should not happen *before* the 232: -: 195: initialization handshake */ 233: #####: 196: PMIU_readline( PMI_fd, buf, PMIU_MAXLINE ); 234: call 0 never executed 235: #####: 197: PMIU_parse_keyvals( buf ); 236: call 0 never executed 237: #####: 198: PMIU_getval( "cmd", cmd, PMIU_MAXLINE ); 238: call 0 never executed 239: #####: 199: if ( strncmp( cmd, "tv_ready", PMIU_MAXLINE ) != 0 ) { 249: branch 9 never executed 250: branch 10 never executed 251: #####: 200: PMIU_printf( 1, "expecting cmd=tv_ready, got %s\n", buf ); 252: call 0 never executed 253: #####: 201: return( PMI_FAIL ); 268: call 0 returned 100% 269: -: 212: else 270: #####: 213: PMI_spawned = 0; 286: -: 225:int PMI_Initialized( PMI_BOOL *initialized ) 287: function PMI_Initialized called 0 returned 0% blocks executed 0% 288: #####: 226:{ 291: -: 229: an PMI service (e.g., via mpiexec) and the singleton init, 292: -: 230: which has no PMI service */ 293: #####: 231: *initialized = PMI_initialized != 0 ? PMI_TRUE : PMI_FALSE; 294: #####: 232: return PMI_SUCCESS; 303: 3459: 238: *size = PMI_size; 304: -: 239: else 305: #####: 240: *size = 1; 315: 3459: 247: *rank = PMI_rank; 316: -: 248: else 317: #####: 249: *rank = 0; 351: 5: 272: return( PMI_SUCCESS ); 352: -: 273: } 353: #####: 274: else return err; 354: -: 275: } 355: -: 276: else 356: #####: 277: *size = 1; 357: #####: 278: return( PMI_SUCCESS ); 378: 3459: 291: return( PMI_SUCCESS ); 379: -: 292: } 380: #####: 293: else return err; 382: -: 295: } 383: -: 296: else 384: #####: 297: *appnum = -1; 385: -: 298: 386: #####: 299: return( PMI_SUCCESS ); 408: -: 317:int PMI_Get_clique_size( int *size ) 409: function PMI_Get_clique_size called 0 returned 0% blocks executed 0% 410: #####: 318:{ 415: -: 323: 416: -: 324: /* As the server for the information on the */ 417: #####: 325: if (clique_size == -2 && PMI_initialized > SINGLETON_INIT_BUT_NO_PM) { 420: branch 2 never executed 421: branch 3 never executed 422: #####: 326: PMI_KVS_Get_my_name( pmi_kvsname, sizeof(pmi_kvsname) ); 423: call 0 never executed 424: #####: 327: rc = MPIU_Snprintf( buf, PMIU_MAXLINE, 426: -: 328: "cmd=get kvsname=%s key=pmiPrivateLocalRanks_%d\n", 427: -: 329: pmi_kvsname, PMI_rank ); 428: #####: 330: if (rc < 0) return PMI_FAIL; 430: branch 1 never executed 431: -: 331: 432: #####: 332: err = GetResponse( buf, "get_result", 0 ); 433: call 0 never executed 434: #####: 333: if (err == PMI_SUCCESS) { 435: branch 0 never executed 436: branch 1 never executed 437: #####: 334: PMIU_getval( "rc", buf, PMIU_MAXLINE ); 438: call 0 never executed 439: #####: 335: rc = atoi( buf ); 440: call 0 never executed 441: #####: 336: if ( rc == 0 ) { 442: branch 0 never executed 443: branch 1 never executed 444: #####: 337: char *p = buf, *p0; 445: -: 338: /* Allocate clique_ranks and fill it in */ 446: #####: 339: PMIU_getval( "value", buf, PMIU_MAXLINE ); 447: call 0 never executed 448: -: 340: /* Count the number of ranks and allocate the space for them */ 449: #####: 341: clique_size = 1; 450: #####: 342: while (*p) { 451: branch 0 never executed 452: branch 1 never executed 453: #####: 343: if (*p++ == ',') clique_size++; 455: branch 1 never executed 456: -: 344: } 457: #####: 345: clique_ranks = (int *)MPIU_Malloc( clique_size * sizeof(int) ); 458: call 0 never executed 459: -: 346: DBG_PRINTF( ("Clique_size = %d\n", clique_size) ); 460: #####: 347: p0 = p = buf; 461: #####: 348: i = 0; 462: #####: 349: while (*p) { 463: branch 0 never executed 464: branch 1 never executed 465: #####: 350: while (*p && *p != ',') p++; 466: branch 0 never executed 467: branch 1 never executed 468: #####: 351: if (*p == ',') *p++ = 0; 469: branch 0 never executed 470: branch 1 never executed 471: #####: 352: clique_ranks[i++] = atoi(p0); 472: call 0 never executed 473: #####: 353: p0 = p; 476: -: 356: else { 477: -: 357: /* Default case (PM did not understand request) */ 478: #####: 358: clique_size = 1; 480: -: 360: } 481: -: 361: } 482: #####: 362: if (clique_size < 0) *size = 1; 483: branch 0 never executed 484: branch 1 never executed 485: #####: 363: else *size = clique_size; 487: -: 365: *size = 1; 488: -: 366:#endif 489: #####: 367: return PMI_SUCCESS; 492: -: 370:int PMI_Get_clique_ranks( int ranks[], int length ) 493: function PMI_Get_clique_ranks called 0 returned 0% blocks executed 0% 494: #####: 371:{ 495: -: 372:#if 1 496: -: 373: int i; 497: #####: 374: if (length < 1) 498: branch 0 never executed 499: branch 1 never executed 500: #####: 375: return PMI_ERR_INVALID_ARG; 501: -: 376: 502: #####: 377: if (clique_size > 0 && clique_ranks) { 505: branch 2 never executed 506: branch 3 never executed 507: #####: 378: for (i=0; i= 0) *v3 = *v3 + 1; 5 line(s) not covered by tests in src/binding/f77/waitanyf.c.gcov Uncovered lines in src/binding/f77/testanyf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_testany__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_testany_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 201: -: 195:#endif 202: -: 196: 203: #####: 197: if (v5 == MPI_F_STATUS_IGNORE) { v5 = (MPI_Fint*)MPI_STATUS_IGNORE; } 204: branch 0 never executed 205: branch 1 never executed 206: #####: 198: *ierr = MPI_Testany( *v1, (MPI_Request *)(v2), &l3, &l4, (MPI_Status *)v5 ); 207: call 0 never executed 208: #####: 199: *v3 = (MPI_Fint)l3; 209: #####: 200: if (l3 >= 0) *v3 = *v3 + 1; 210: branch 0 never executed 211: branch 1 never executed 212: #####: 201: *v4 = MPIR_TO_FLOG(l4); 6 line(s) not covered by tests in src/binding/f77/testanyf.c.gcov All code covered by tests in src/binding/f77/waitallf.c.gcov Uncovered lines in src/binding/f77/testallf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_testall__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_testall_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 200: -: 194:#endif 201: -: 195: 202: #####: 196: if (v4 == MPI_F_STATUSES_IGNORE) { v4 = (MPI_Fint *)MPI_STATUSES_IGNORE; } 203: branch 0 never executed 204: branch 1 never executed 205: #####: 197: *ierr = MPI_Testall( *v1, (MPI_Request *)(v2), &l3, (MPI_Status *)v4 ); 206: call 0 never executed 207: #####: 198: *v3 = MPIR_TO_FLOG(l3); 4 line(s) not covered by tests in src/binding/f77/testallf.c.gcov Uncovered lines in src/binding/f77/waitsomef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_waitsome__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_waitsome_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 199: -: 193:#endif 200: -: 194: 201: #####: 195: if (v5 == MPI_F_STATUSES_IGNORE) { v5 = (MPI_Fint *)MPI_STATUSES_IGNORE; } 202: branch 0 never executed 203: branch 1 never executed 204: #####: 196: *ierr = MPI_Waitsome( *v1, (MPI_Request *)(v2), v3, v4, (MPI_Status *)v5 ); 206: -: 197: 207: -: 198: {int li; 208: #####: 199: for (li=0; li<*v3; li++) { 209: branch 0 never executed 210: branch 1 never executed 211: #####: 200: if (v4[li] >= 0) v4[li] += 1; 5 line(s) not covered by tests in src/binding/f77/waitsomef.c.gcov Uncovered lines in src/binding/f77/testsomef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_testsome__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_testsome_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 199: -: 193:#endif 200: -: 194: 201: #####: 195: if (v5 == MPI_F_STATUSES_IGNORE) { v5 = (MPI_Fint *)MPI_STATUSES_IGNORE; } 202: branch 0 never executed 203: branch 1 never executed 204: #####: 196: *ierr = MPI_Testsome( *v1, (MPI_Request *)(v2), v3, v4, (MPI_Status *)v5 ); 206: -: 197: 207: -: 198: {int li; 208: #####: 199: for (li=0; li<*v3; li++) { 209: branch 0 never executed 210: branch 1 never executed 211: #####: 200: if (v4[li] >= 0) v4[li] += 1; 5 line(s) not covered by tests in src/binding/f77/testsomef.c.gcov Uncovered lines in src/binding/f77/iprobef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_iprobe__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_iprobe_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 200: -: 194:#endif 201: -: 195: 202: #####: 196: if (v5 == MPI_F_STATUS_IGNORE) { v5 = (MPI_Fint*)MPI_STATUS_IGNORE; } 203: branch 0 never executed 204: branch 1 never executed 205: #####: 197: *ierr = MPI_Iprobe( *v1, *v2, (MPI_Comm)(*v3), &l4, (MPI_Status *)v5 ); 206: call 0 never executed 207: #####: 198: *v4 = MPIR_TO_FLOG(l4); 4 line(s) not covered by tests in src/binding/f77/iprobef.c.gcov Uncovered lines in src/binding/f77/probef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_probe__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_probe_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 199: -: 193:#endif 200: -: 194: 201: #####: 195: if (v4 == MPI_F_STATUS_IGNORE) { v4 = (MPI_Fint*)MPI_STATUS_IGNORE; } 202: branch 0 never executed 203: branch 1 never executed 204: #####: 196: *ierr = MPI_Probe( *v1, *v2, (MPI_Comm)(*v3), (MPI_Status *)v4 ); 3 line(s) not covered by tests in src/binding/f77/probef.c.gcov All code covered by tests in src/binding/f77/cancelf.c.gcov Uncovered lines in src/binding/f77/testcancelf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_test_cancelled__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_test_cancelled_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: -: 190: int l2; 197: #####: 191: *ierr = MPI_Test_cancelled( (MPI_Status *)(v1), &l2 ); 198: call 0 never executed 199: #####: 192: *v2 = MPIR_TO_FLOG(l2); 3 line(s) not covered by tests in src/binding/f77/testcancelf.c.gcov Uncovered lines in src/binding/f77/send_initf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_send_init__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_send_init_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Send_init( v1, *v2, (MPI_Datatype)(*v3), *v4, *v5, (MPI_Comm)(*v6), (MPI_Request *)(v7) ); 2 line(s) not covered by tests in src/binding/f77/send_initf.c.gcov Uncovered lines in src/binding/f77/bsend_initf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_bsend_init__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_bsend_init_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Bsend_init( v1, *v2, (MPI_Datatype)(*v3), *v4, *v5, (MPI_Comm)(*v6), (MPI_Request *)(v7) ); 2 line(s) not covered by tests in src/binding/f77/bsend_initf.c.gcov Uncovered lines in src/binding/f77/ssend_initf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_ssend_init__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_ssend_init_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Ssend_init( v1, *v2, (MPI_Datatype)(*v3), *v4, *v5, (MPI_Comm)(*v6), (MPI_Request *)(v7) ); 2 line(s) not covered by tests in src/binding/f77/ssend_initf.c.gcov Uncovered lines in src/binding/f77/rsend_initf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_rsend_init__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_rsend_init_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Rsend_init( v1, *v2, (MPI_Datatype)(*v3), *v4, *v5, (MPI_Comm)(*v6), (MPI_Request *)(v7) ); 2 line(s) not covered by tests in src/binding/f77/rsend_initf.c.gcov Uncovered lines in src/binding/f77/recv_initf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_recv_init__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_recv_init_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Recv_init( v1, *v2, (MPI_Datatype)(*v3), *v4, *v5, (MPI_Comm)(*v6), (MPI_Request *)(v7) ); 2 line(s) not covered by tests in src/binding/f77/recv_initf.c.gcov Uncovered lines in src/binding/f77/startf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_start__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_start_ ( MPI_Fint *v1, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Start( (MPI_Request *)(v1) ); 2 line(s) not covered by tests in src/binding/f77/startf.c.gcov Uncovered lines in src/binding/f77/startallf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_startall__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_startall_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Startall( *v1, (MPI_Request *)(v2) ); 2 line(s) not covered by tests in src/binding/f77/startallf.c.gcov All code covered by tests in src/binding/f77/sendrecvf.c.gcov Uncovered lines in src/binding/f77/sndrcvrplf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_sendrecv_replace__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_sendrecv_replace_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *v8, MPI_Fint *v9, MPI_Fint *ierr ){ 199: -: 193:#endif 200: -: 194: 201: #####: 195: if (v9 == MPI_F_STATUS_IGNORE) { v9 = (MPI_Fint*)MPI_STATUS_IGNORE; } 202: branch 0 never executed 203: branch 1 never executed 204: #####: 196: *ierr = MPI_Sendrecv_replace( v1, *v2, (MPI_Datatype)(*v3), *v4, *v5, *v6, *v7, (MPI_Comm)(*v8), (MPI_Status *)v9 ); 3 line(s) not covered by tests in src/binding/f77/sndrcvrplf.c.gcov Uncovered lines in src/binding/f77/typecontigf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_type_contiguous__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_type_contiguous_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Type_contiguous( *v1, (MPI_Datatype)(*v2), (MPI_Datatype *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/typecontigf.c.gcov All code covered by tests in src/binding/f77/type_vectorf.c.gcov Uncovered lines in src/binding/f77/type_hvectorf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_type_hvector__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_type_hvector_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint * v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 196: -: 190: MPI_Aint l3; 197: #####: 191: l3 = (MPI_Aint)*v3; 198: #####: 192: *ierr = MPI_Type_hvector( *v1, *v2, l3, (MPI_Datatype)(*v4), (MPI_Datatype *)(v5) ); 3 line(s) not covered by tests in src/binding/f77/type_hvectorf.c.gcov All code covered by tests in src/binding/f77/type_indexedf.c.gcov Uncovered lines in src/binding/f77/type_hindexedf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_type_hindexed__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_type_hindexed_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint * v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 205: -: 199: else l3 = 0; 206: -: 200:#else 207: #####: 201: l3 = v3; 208: -: 202:#endif 209: #####: 203: *ierr = MPI_Type_hindexed( *v1, v2, l3, (MPI_Datatype)(*v4), (MPI_Datatype *)(v5) ); 3 line(s) not covered by tests in src/binding/f77/type_hindexedf.c.gcov Uncovered lines in src/binding/f77/type_structf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_type_struct__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_type_struct_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint * v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 205: -: 199: else l3 = 0; 206: -: 200:#else 207: #####: 201: l3 = v3; 208: -: 202:#endif 209: #####: 203: *ierr = MPI_Type_struct( *v1, v2, l3, (MPI_Datatype *)(v4), (MPI_Datatype *)(v5) ); 3 line(s) not covered by tests in src/binding/f77/type_structf.c.gcov Uncovered lines in src/binding/f77/type_extentf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_type_extent__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_type_extent_ ( MPI_Fint *v1, MPI_Fint * v2, MPI_Fint *ierr ){ 196: -: 190: MPI_Aint l2; 197: #####: 191: *ierr = MPI_Type_extent( (MPI_Datatype)(*v1), &l2 ); 198: call 0 never executed 199: #####: 192: *v2 = (MPI_Fint)(l2); 3 line(s) not covered by tests in src/binding/f77/type_extentf.c.gcov All code covered by tests in src/binding/f77/type_sizef.c.gcov Uncovered lines in src/binding/f77/type_lbf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_type_lb__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_type_lb_ ( MPI_Fint *v1, MPI_Fint * v2, MPI_Fint *ierr ){ 196: -: 190: MPI_Aint l2; 197: #####: 191: *ierr = MPI_Type_lb( (MPI_Datatype)(*v1), &l2 ); 198: call 0 never executed 199: #####: 192: *v2 = (MPI_Fint)(l2); 3 line(s) not covered by tests in src/binding/f77/type_lbf.c.gcov Uncovered lines in src/binding/f77/type_ubf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_type_ub__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_type_ub_ ( MPI_Fint *v1, MPI_Fint * v2, MPI_Fint *ierr ){ 196: -: 190: MPI_Aint l2; 197: #####: 191: *ierr = MPI_Type_ub( (MPI_Datatype)(*v1), &l2 ); 198: call 0 never executed 199: #####: 192: *v2 = (MPI_Fint)(l2); 3 line(s) not covered by tests in src/binding/f77/type_ubf.c.gcov All code covered by tests in src/binding/f77/type_commitf.c.gcov All code covered by tests in src/binding/f77/type_freef.c.gcov Uncovered lines in src/binding/f77/get_elementsf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_get_elements__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_get_elements_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Get_elements( (MPI_Status *)(v1), (MPI_Datatype)(*v2), v3 ); 2 line(s) not covered by tests in src/binding/f77/get_elementsf.c.gcov Uncovered lines in src/binding/f77/packf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_pack__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_pack_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, void*v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Pack( v1, *v2, (MPI_Datatype)(*v3), v4, *v5, v6, (MPI_Comm)(*v7) ); 2 line(s) not covered by tests in src/binding/f77/packf.c.gcov All code covered by tests in src/binding/f77/unpackf.c.gcov Uncovered lines in src/binding/f77/pack_sizef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_pack_size__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_pack_size_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Pack_size( *v1, (MPI_Datatype)(*v2), (MPI_Comm)(*v3), v4 ); 2 line(s) not covered by tests in src/binding/f77/pack_sizef.c.gcov All code covered by tests in src/binding/f77/barrierf.c.gcov Uncovered lines in src/binding/f77/bcastf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_bcast__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_bcast_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Bcast( v1, *v2, (MPI_Datatype)(*v3), *v4, (MPI_Comm)(*v5) ); 2 line(s) not covered by tests in src/binding/f77/bcastf.c.gcov All code covered by tests in src/binding/f77/gatherf.c.gcov All code covered by tests in src/binding/f77/gathervf.c.gcov All code covered by tests in src/binding/f77/scatterf.c.gcov Uncovered lines in src/binding/f77/scattervf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_scatterv__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_scatterv_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, void*v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *v8, MPI_Fint *v9, MPI_Fint *ierr ){ 198: -: 192: if (MPIR_F_NeedInit){ mpirinitf_(); MPIR_F_NeedInit = 0; } 199: -: 193:#endif 200: #####: 194: if (v5 == MPIR_F_MPI_IN_PLACE) v5 = MPI_IN_PLACE; 201: branch 0 never executed 202: branch 1 never executed 203: #####: 195: *ierr = MPI_Scatterv( v1, v2, v3, (MPI_Datatype)(*v4), v5, *v6, (MPI_Datatype)(*v7), *v8, (MPI_Comm)(*v9) ); 3 line(s) not covered by tests in src/binding/f77/scattervf.c.gcov Uncovered lines in src/binding/f77/allgatherf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_allgather__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_allgather_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, void*v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *ierr ){ 198: -: 192: if (MPIR_F_NeedInit){ mpirinitf_(); MPIR_F_NeedInit = 0; } 199: -: 193:#endif 200: #####: 194: if (v1 == MPIR_F_MPI_IN_PLACE) v1 = MPI_IN_PLACE; 201: branch 0 never executed 202: branch 1 never executed 203: #####: 195: *ierr = MPI_Allgather( v1, *v2, (MPI_Datatype)(*v3), v4, *v5, (MPI_Datatype)(*v6), (MPI_Comm)(*v7) ); 3 line(s) not covered by tests in src/binding/f77/allgatherf.c.gcov Uncovered lines in src/binding/f77/allgathervf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_allgatherv__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_allgatherv_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, void*v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *v8, MPI_Fint *ierr ){ 198: -: 192: if (MPIR_F_NeedInit){ mpirinitf_(); MPIR_F_NeedInit = 0; } 199: -: 193:#endif 200: #####: 194: if (v1 == MPIR_F_MPI_IN_PLACE) v1 = MPI_IN_PLACE; 201: branch 0 never executed 202: branch 1 never executed 203: #####: 195: *ierr = MPI_Allgatherv( v1, *v2, (MPI_Datatype)(*v3), v4, v5, v6, (MPI_Datatype)(*v7), (MPI_Comm)(*v8) ); 3 line(s) not covered by tests in src/binding/f77/allgathervf.c.gcov Uncovered lines in src/binding/f77/alltoallf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_alltoall__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_alltoall_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, void*v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Alltoall( v1, *v2, (MPI_Datatype)(*v3), v4, *v5, (MPI_Datatype)(*v6), (MPI_Comm)(*v7) ); 2 line(s) not covered by tests in src/binding/f77/alltoallf.c.gcov Uncovered lines in src/binding/f77/alltoallvf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_alltoallv__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_alltoallv_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, void*v5, MPI_Fint *v6, MPI_Fint *v7, MPI_Fint *v8, MPI_Fint *v9, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Alltoallv( v1, v2, v3, (MPI_Datatype)(*v4), v5, v6, v7, (MPI_Datatype)(*v8), (MPI_Comm)(*v9) ); 2 line(s) not covered by tests in src/binding/f77/alltoallvf.c.gcov All code covered by tests in src/binding/f77/reducef.c.gcov All code covered by tests in src/binding/f77/op_createf.c.gcov All code covered by tests in src/binding/f77/op_freef.c.gcov All code covered by tests in src/binding/f77/allreducef.c.gcov Uncovered lines in src/binding/f77/redscatf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_reduce_scatter__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_reduce_scatter_ ( void*v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr ){ 198: -: 192: if (MPIR_F_NeedInit){ mpirinitf_(); MPIR_F_NeedInit = 0; } 199: -: 193:#endif 200: #####: 194: if (v1 == MPIR_F_MPI_IN_PLACE) v1 = MPI_IN_PLACE; 201: branch 0 never executed 202: branch 1 never executed 203: #####: 195: *ierr = MPI_Reduce_scatter( v1, v2, v3, (MPI_Datatype)(*v4), *v5, (MPI_Comm)(*v6) ); 3 line(s) not covered by tests in src/binding/f77/redscatf.c.gcov Uncovered lines in src/binding/f77/scanf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_scan__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_scan_ ( void*v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr ){ 198: -: 192: if (MPIR_F_NeedInit){ mpirinitf_(); MPIR_F_NeedInit = 0; } 199: -: 193:#endif 200: #####: 194: if (v1 == MPIR_F_MPI_IN_PLACE) v1 = MPI_IN_PLACE; 201: branch 0 never executed 202: branch 1 never executed 203: #####: 195: *ierr = MPI_Scan( v1, v2, *v3, (MPI_Datatype)(*v4), *v5, (MPI_Comm)(*v6) ); 3 line(s) not covered by tests in src/binding/f77/scanf.c.gcov All code covered by tests in src/binding/f77/group_sizef.c.gcov All code covered by tests in src/binding/f77/group_rankf.c.gcov Uncovered lines in src/binding/f77/grouptranksf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_group_translate_ranks__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_group_translate_ranks_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Group_translate_ranks( *v1, *v2, v3, *v4, v5 ); 2 line(s) not covered by tests in src/binding/f77/grouptranksf.c.gcov All code covered by tests in src/binding/f77/group_comparef.c.gcov All code covered by tests in src/binding/f77/comm_groupf.c.gcov Uncovered lines in src/binding/f77/group_unionf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_group_union__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_group_union_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Group_union( *v1, *v2, v3 ); 2 line(s) not covered by tests in src/binding/f77/group_unionf.c.gcov Uncovered lines in src/binding/f77/groupinterf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_group_intersection__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_group_intersection_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Group_intersection( *v1, *v2, v3 ); 2 line(s) not covered by tests in src/binding/f77/groupinterf.c.gcov Uncovered lines in src/binding/f77/groupdifff.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_group_difference__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_group_difference_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Group_difference( *v1, *v2, v3 ); 2 line(s) not covered by tests in src/binding/f77/groupdifff.c.gcov All code covered by tests in src/binding/f77/group_inclf.c.gcov Uncovered lines in src/binding/f77/group_exclf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_group_excl__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_group_excl_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Group_excl( *v1, *v2, v3, v4 ); 2 line(s) not covered by tests in src/binding/f77/group_exclf.c.gcov Uncovered lines in src/binding/f77/grouprinclf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_group_range_incl__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_group_range_incl_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint v3[], MPI_Fint *v4, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Group_range_incl( *v1, *v2, (int (*)[3])(v3), v4 ); 2 line(s) not covered by tests in src/binding/f77/grouprinclf.c.gcov Uncovered lines in src/binding/f77/grouprexclf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_group_range_excl__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_group_range_excl_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint v3[], MPI_Fint *v4, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Group_range_excl( *v1, *v2, (int (*)[3])(v3), v4 ); 2 line(s) not covered by tests in src/binding/f77/grouprexclf.c.gcov All code covered by tests in src/binding/f77/group_freef.c.gcov All code covered by tests in src/binding/f77/comm_sizef.c.gcov All code covered by tests in src/binding/f77/comm_rankf.c.gcov Uncovered lines in src/binding/f77/comm_comparef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_comm_compare__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_comm_compare_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Comm_compare( (MPI_Comm)(*v1), (MPI_Comm)(*v2), v3 ); 2 line(s) not covered by tests in src/binding/f77/comm_comparef.c.gcov All code covered by tests in src/binding/f77/comm_dupf.c.gcov Uncovered lines in src/binding/f77/comm_createf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_comm_create__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_comm_create_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Comm_create( (MPI_Comm)(*v1), *v2, (MPI_Comm *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/comm_createf.c.gcov All code covered by tests in src/binding/f77/comm_splitf.c.gcov All code covered by tests in src/binding/f77/comm_freef.c.gcov Uncovered lines in src/binding/f77/commtesticf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_comm_test_inter__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_comm_test_inter_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: -: 190: int l2; 197: #####: 191: *ierr = MPI_Comm_test_inter( (MPI_Comm)(*v1), &l2 ); 198: call 0 never executed 199: #####: 192: *v2 = MPIR_TO_FLOG(l2); 3 line(s) not covered by tests in src/binding/f77/commtesticf.c.gcov All code covered by tests in src/binding/f77/commrsizef.c.gcov Uncovered lines in src/binding/f77/commrgroupf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_comm_remote_group__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_comm_remote_group_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Comm_remote_group( (MPI_Comm)(*v1), v2 ); 2 line(s) not covered by tests in src/binding/f77/commrgroupf.c.gcov Uncovered lines in src/binding/f77/iccreatef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_intercomm_create__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_intercomm_create_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Intercomm_create( (MPI_Comm)(*v1), *v2, (MPI_Comm)(*v3), *v4, *v5, (MPI_Comm *)(v6) ); 2 line(s) not covered by tests in src/binding/f77/iccreatef.c.gcov Uncovered lines in src/binding/f77/icmergef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_intercomm_merge__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_intercomm_merge_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: -: 190: int l2; 197: #####: 191: l2 = MPIR_FROM_FLOG(*v2); 198: #####: 192: *ierr = MPI_Intercomm_merge( (MPI_Comm)(*v1), l2, (MPI_Comm *)(v3) ); 3 line(s) not covered by tests in src/binding/f77/icmergef.c.gcov Uncovered lines in src/binding/f77/keyval_freef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_keyval_free__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_keyval_free_ ( MPI_Fint *v1, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Keyval_free( v1 ); 2 line(s) not covered by tests in src/binding/f77/keyval_freef.c.gcov Uncovered lines in src/binding/f77/attr_putf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_attr_put__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_attr_put_ ( MPI_Fint *v1, MPI_Fint *v2, void*v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPIR_CommSetAttr( (MPI_Comm)(*v1), *v2, (void *)(MPIR_Pint)((int)*(int *)v3), MPIR_ATTR_INT ); 2 line(s) not covered by tests in src/binding/f77/attr_putf.c.gcov Uncovered lines in src/binding/f77/attr_getf.c.gcov 204: branch 2 taken 0% (fallthrough) 205: branch 3 taken 100% 206: #####: 195: *(MPI_Fint*)v3 = 0; 1 line(s) not covered by tests in src/binding/f77/attr_getf.c.gcov Uncovered lines in src/binding/f77/attr_deletef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_attr_delete__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_attr_delete_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Attr_delete( (MPI_Comm)(*v1), *v2 ); 2 line(s) not covered by tests in src/binding/f77/attr_deletef.c.gcov Uncovered lines in src/binding/f77/topo_testf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_topo_test__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_topo_test_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Topo_test( (MPI_Comm)(*v1), v2 ); 2 line(s) not covered by tests in src/binding/f77/topo_testf.c.gcov All code covered by tests in src/binding/f77/cart_createf.c.gcov All code covered by tests in src/binding/f77/dims_createf.c.gcov Uncovered lines in src/binding/f77/graph_createf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_graph_create__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_graph_create_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Graph_create( (MPI_Comm)(*v1), *v2, v3, v4, *v5, (MPI_Comm *)(v6) ); 2 line(s) not covered by tests in src/binding/f77/graph_createf.c.gcov Uncovered lines in src/binding/f77/graphdims_getf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_graphdims_get__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_graphdims_get_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Graphdims_get( (MPI_Comm)(*v1), v2, v3 ); 2 line(s) not covered by tests in src/binding/f77/graphdims_getf.c.gcov Uncovered lines in src/binding/f77/graph_getf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_graph_get__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_graph_get_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Graph_get( (MPI_Comm)(*v1), *v2, *v3, v4, v5 ); 2 line(s) not covered by tests in src/binding/f77/graph_getf.c.gcov Uncovered lines in src/binding/f77/cartdim_getf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_cartdim_get__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_cartdim_get_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Cartdim_get( (MPI_Comm)(*v1), v2 ); 2 line(s) not covered by tests in src/binding/f77/cartdim_getf.c.gcov All code covered by tests in src/binding/f77/cart_getf.c.gcov Uncovered lines in src/binding/f77/cart_rankf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_cart_rank__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_cart_rank_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Cart_rank( (MPI_Comm)(*v1), v2, v3 ); 2 line(s) not covered by tests in src/binding/f77/cart_rankf.c.gcov Uncovered lines in src/binding/f77/cart_coordsf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_cart_coords__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_cart_coords_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Cart_coords( (MPI_Comm)(*v1), *v2, *v3, v4 ); 2 line(s) not covered by tests in src/binding/f77/cart_coordsf.c.gcov Uncovered lines in src/binding/f77/grfnbcountf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_graph_neighbors_count__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_graph_neighbors_count_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Graph_neighbors_count( (MPI_Comm)(*v1), *v2, v3 ); 2 line(s) not covered by tests in src/binding/f77/grfnbcountf.c.gcov Uncovered lines in src/binding/f77/grfnbrsf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_graph_neighbors__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_graph_neighbors_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Graph_neighbors( (MPI_Comm)(*v1), *v2, *v3, v4 ); 2 line(s) not covered by tests in src/binding/f77/grfnbrsf.c.gcov All code covered by tests in src/binding/f77/cart_shiftf.c.gcov Uncovered lines in src/binding/f77/cart_subf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_cart_sub__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_cart_sub_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Cart_sub( (MPI_Comm)(*v1), v2, (MPI_Comm *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/cart_subf.c.gcov Uncovered lines in src/binding/f77/cart_mapf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_cart_map__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_cart_map_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Cart_map( (MPI_Comm)(*v1), *v2, v3, v4, v5 ); 2 line(s) not covered by tests in src/binding/f77/cart_mapf.c.gcov Uncovered lines in src/binding/f77/graph_mapf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_graph_map__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_graph_map_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Graph_map( (MPI_Comm)(*v1), *v2, v3, v4, v5 ); 2 line(s) not covered by tests in src/binding/f77/graph_mapf.c.gcov Uncovered lines in src/binding/f77/getpnamef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_get_processor_name__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_get_processor_name_ ( char *v1 FORT_MIXED_LEN(d1), MPI_Fint *v2, MPI_Fint *ierr FORT_END_LEN(d1) ){ 196: -: 190: char *p1; 197: #####: 191: p1 = (char *)MPIU_Malloc( d1 + 1 ); 198: call 0 never executed 199: #####: 192: *ierr = MPI_Get_processor_name( p1, v2 ); 200: call 0 never executed 201: -: 193: 202: #####: 194: {char *p = v1, *pc=p1; 203: #####: 195: while (*pc) {*p++ = *pc++;} 204: branch 0 never executed 205: branch 1 never executed 206: #####: 196: while ((p-v1) < d1) { *p++ = ' '; } 208: branch 1 never executed 209: -: 197: } 210: #####: 198: MPIU_Free( p1 ); 7 line(s) not covered by tests in src/binding/f77/getpnamef.c.gcov All code covered by tests in src/binding/f77/get_versionf.c.gcov Uncovered lines in src/binding/f77/errhcreatef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_errhandler_create__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_errhandler_create_ ( MPI_Handler_function*v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Errhandler_create( v1, v2 ); 2 line(s) not covered by tests in src/binding/f77/errhcreatef.c.gcov Uncovered lines in src/binding/f77/errhsetf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_errhandler_set__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_errhandler_set_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Errhandler_set( (MPI_Comm)(*v1), *v2 ); 2 line(s) not covered by tests in src/binding/f77/errhsetf.c.gcov Uncovered lines in src/binding/f77/errhgetf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_errhandler_get__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_errhandler_get_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Errhandler_get( (MPI_Comm)(*v1), v2 ); 2 line(s) not covered by tests in src/binding/f77/errhgetf.c.gcov All code covered by tests in src/binding/f77/errhfreef.c.gcov All code covered by tests in src/binding/f77/error_stringf.c.gcov All code covered by tests in src/binding/f77/error_classf.c.gcov All code covered by tests in src/binding/f77/finalizef.c.gcov All code covered by tests in src/binding/f77/initializedf.c.gcov Uncovered lines in src/binding/f77/abortf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_abort__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_abort_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Abort( (MPI_Comm)(*v1), *v2 ); 2 line(s) not covered by tests in src/binding/f77/abortf.c.gcov All code covered by tests in src/binding/f77/close_portf.c.gcov All code covered by tests in src/binding/f77/comm_acceptf.c.gcov All code covered by tests in src/binding/f77/comm_connectf.c.gcov All code covered by tests in src/binding/f77/commdiscf.c.gcov All code covered by tests in src/binding/f77/commparentf.c.gcov Uncovered lines in src/binding/f77/comm_joinf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_comm_join__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_comm_join_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Comm_join( *v1, (MPI_Comm *)(v2) ); 2 line(s) not covered by tests in src/binding/f77/comm_joinf.c.gcov All code covered by tests in src/binding/f77/comm_spawnf.c.gcov All code covered by tests in src/binding/f77/spawnmultf.c.gcov All code covered by tests in src/binding/f77/lookup_namef.c.gcov All code covered by tests in src/binding/f77/open_portf.c.gcov All code covered by tests in src/binding/f77/publish_namef.c.gcov All code covered by tests in src/binding/f77/unpubnamef.c.gcov All code covered by tests in src/binding/f77/accumulatef.c.gcov All code covered by tests in src/binding/f77/getf.c.gcov All code covered by tests in src/binding/f77/putf.c.gcov All code covered by tests in src/binding/f77/win_completef.c.gcov All code covered by tests in src/binding/f77/win_createf.c.gcov All code covered by tests in src/binding/f77/win_fencef.c.gcov All code covered by tests in src/binding/f77/win_freef.c.gcov All code covered by tests in src/binding/f77/win_get_groupf.c.gcov Uncovered lines in src/binding/f77/win_lockf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_win_lock__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_win_lock_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Win_lock( *v1, *v2, *v3, *v4 ); 2 line(s) not covered by tests in src/binding/f77/win_lockf.c.gcov All code covered by tests in src/binding/f77/win_postf.c.gcov All code covered by tests in src/binding/f77/win_startf.c.gcov All code covered by tests in src/binding/f77/win_testf.c.gcov Uncovered lines in src/binding/f77/win_unlockf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_win_unlock__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_win_unlock_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Win_unlock( *v1, *v2 ); 2 line(s) not covered by tests in src/binding/f77/win_unlockf.c.gcov All code covered by tests in src/binding/f77/win_waitf.c.gcov All code covered by tests in src/binding/f77/alltoallwf.c.gcov All code covered by tests in src/binding/f77/exscanf.c.gcov All code covered by tests in src/binding/f77/adderrclassf.c.gcov All code covered by tests in src/binding/f77/adderrcodef.c.gcov All code covered by tests in src/binding/f77/adderrstringf.c.gcov All code covered by tests in src/binding/f77/commcallerrf.c.gcov All code covered by tests in src/binding/f77/commnewkeyf.c.gcov All code covered by tests in src/binding/f77/commdelattrf.c.gcov All code covered by tests in src/binding/f77/commfreekeyf.c.gcov All code covered by tests in src/binding/f77/comm_get_attrf.c.gcov All code covered by tests in src/binding/f77/commgetnamf.c.gcov All code covered by tests in src/binding/f77/comm_set_attrf.c.gcov All code covered by tests in src/binding/f77/comm_set_namef.c.gcov All code covered by tests in src/binding/f77/filecallerrf.c.gcov All code covered by tests in src/binding/f77/greqcompletef.c.gcov All code covered by tests in src/binding/f77/greqstartf.c.gcov All code covered by tests in src/binding/f77/isthrmainf.c.gcov All code covered by tests in src/binding/f77/query_threadf.c.gcov All code covered by tests in src/binding/f77/statgetclf.c.gcov All code covered by tests in src/binding/f77/statsetelf.c.gcov All code covered by tests in src/binding/f77/typenewkeyf.c.gcov All code covered by tests in src/binding/f77/typedelattrf.c.gcov All code covered by tests in src/binding/f77/type_dupf.c.gcov All code covered by tests in src/binding/f77/typefreekeyf.c.gcov All code covered by tests in src/binding/f77/type_get_attrf.c.gcov All code covered by tests in src/binding/f77/typegetcntsf.c.gcov All code covered by tests in src/binding/f77/typegetenvf.c.gcov All code covered by tests in src/binding/f77/typegnamef.c.gcov All code covered by tests in src/binding/f77/typesetattrf.c.gcov All code covered by tests in src/binding/f77/typesetnamef.c.gcov Uncovered lines in src/binding/f77/type_match_sizef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_type_match_size__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_type_match_size_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Type_match_size( *v1, *v2, (MPI_Datatype *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/type_match_sizef.c.gcov All code covered by tests in src/binding/f77/wincallerrf.c.gcov Uncovered lines in src/binding/f77/winnewkeyf.c.gcov 211: -: 206: ) 212: function MPIR_Win_copy_attr_f90_proxy called 0 returned 0% blocks executed 0% 213: #####: 207:{ 214: #####: 208: MPI_Fint ierr = 0; 215: #####: 209: MPI_Fint fhandle = (MPI_Fint)win; 216: #####: 210: MPI_Fint fkeyval = (MPI_Fint)keyval; 217: #####: 211: MPI_Aint fvalue = MPI_VOID_PTR_CAST_TO_MPI_AINT (value); 218: #####: 212: MPI_Aint* fextra = (MPI_Aint*)extra_state; 219: #####: 213: MPI_Aint fnew = 0; 220: #####: 214: MPI_Fint fflag = 0; 221: -: 215: 222: #####: 216: ((F90_CopyFunction*)user_function)( &fhandle, &fkeyval, fextra, &fvalue, &fnew, &fflag, &ierr ); 223: call 0 never executed 224: -: 217: 225: #####: 218: *flag = fflag; 226: #####: 219: *new_value = MPI_AINT_CAST_TO_VOID_PTR (fnew); 227: #####: 220: return ierr; 12 line(s) not covered by tests in src/binding/f77/winnewkeyf.c.gcov All code covered by tests in src/binding/f77/windelattrf.c.gcov All code covered by tests in src/binding/f77/winfreekeyf.c.gcov All code covered by tests in src/binding/f77/win_get_attrf.c.gcov All code covered by tests in src/binding/f77/win_get_namef.c.gcov All code covered by tests in src/binding/f77/win_set_attrf.c.gcov All code covered by tests in src/binding/f77/win_set_namef.c.gcov Uncovered lines in src/binding/f77/alloc_memf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_alloc_mem__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_alloc_mem_ ( MPI_Aint * v1, MPI_Fint *v2, void*v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Alloc_mem( *v1, (MPI_Info)(*v2), v3 ); 2 line(s) not covered by tests in src/binding/f77/alloc_memf.c.gcov All code covered by tests in src/binding/f77/commcreerrf.c.gcov All code covered by tests in src/binding/f77/commgeterrf.c.gcov All code covered by tests in src/binding/f77/commseterrf.c.gcov All code covered by tests in src/binding/f77/filecreerrf.c.gcov All code covered by tests in src/binding/f77/filegeterrf.c.gcov All code covered by tests in src/binding/f77/fileseterrf.c.gcov All code covered by tests in src/binding/f77/finalizedf.c.gcov Uncovered lines in src/binding/f77/free_memf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_free_mem__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_free_mem_ ( void*v1, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Free_mem( v1 ); 2 line(s) not covered by tests in src/binding/f77/free_memf.c.gcov All code covered by tests in src/binding/f77/info_createf.c.gcov All code covered by tests in src/binding/f77/info_deletef.c.gcov All code covered by tests in src/binding/f77/info_dupf.c.gcov All code covered by tests in src/binding/f77/info_freef.c.gcov All code covered by tests in src/binding/f77/info_getf.c.gcov All code covered by tests in src/binding/f77/infognkf.c.gcov All code covered by tests in src/binding/f77/infognthkf.c.gcov All code covered by tests in src/binding/f77/infovallenf.c.gcov All code covered by tests in src/binding/f77/info_setf.c.gcov All code covered by tests in src/binding/f77/pack_externalf.c.gcov All code covered by tests in src/binding/f77/packesizef.c.gcov Uncovered lines in src/binding/f77/reqgetstatf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_request_get_status__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_request_get_status_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Request_get_status( *v1, v2, (MPI_Status *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/reqgetstatf.c.gcov Uncovered lines in src/binding/f77/typedarrayf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_type_create_darray__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_type_create_darray_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint v4[], MPI_Fint v5[], MPI_Fint v6[], MPI_Fint v7[], MPI_Fint *v8, MPI_Fint *v9, MPI_Fint *v10, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Type_create_darray( *v1, *v2, *v3, v4, v5, v6, v7, *v8, (MPI_Datatype)(*v9), (MPI_Datatype *)(v10) ); 2 line(s) not covered by tests in src/binding/f77/typedarrayf.c.gcov All code covered by tests in src/binding/f77/typechindf.c.gcov All code covered by tests in src/binding/f77/typechvecf.c.gcov All code covered by tests in src/binding/f77/typecindbf.c.gcov All code covered by tests in src/binding/f77/typecresizef.c.gcov All code covered by tests in src/binding/f77/typecstructf.c.gcov All code covered by tests in src/binding/f77/typecsubarrf.c.gcov All code covered by tests in src/binding/f77/typegetextentf.c.gcov All code covered by tests in src/binding/f77/typegtextf.c.gcov All code covered by tests in src/binding/f77/unpackextf.c.gcov All code covered by tests in src/binding/f77/wincreerrf.c.gcov All code covered by tests in src/binding/f77/wingeterrf.c.gcov All code covered by tests in src/binding/f77/winseterrf.c.gcov All code covered by tests in src/binding/f77/reduce_localf.c.gcov Uncovered lines in src/binding/f77/op_commutativef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_op_commutative__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_op_commutative_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *ierr ){ 196: -: 190: int l2; 197: #####: 191: *ierr = MPI_Op_commutative( *v1, &l2 ); 198: call 0 never executed 199: #####: 192: *v2 = MPIR_TO_FLOG(l2); 3 line(s) not covered by tests in src/binding/f77/op_commutativef.c.gcov Uncovered lines in src/binding/f77/reduce_scatter_blockf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_reduce_scatter_block__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_reduce_scatter_block_ ( void*v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Reduce_scatter_block( v1, v2, *v3, (MPI_Datatype)(*v4), *v5, (MPI_Comm)(*v6) ); 2 line(s) not covered by tests in src/binding/f77/reduce_scatter_blockf.c.gcov Uncovered lines in src/binding/f77/dist_graph_create_adjacentf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_dist_graph_create_adjacent__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_dist_graph_create_adjacent_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint v3[], MPI_Fint v4[], MPI_Fint *v5, MPI_Fint v6[], MPI_Fint v7[], MPI_Fint *v8, MPI_Fint *v9, MPI_Fint *v10, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Dist_graph_create_adjacent( (MPI_Comm)(*v1), *v2, v3, v4, *v5, v6, v7, (MPI_Info)(*v8), *v9, (MPI_Comm *)(v10) ); 2 line(s) not covered by tests in src/binding/f77/dist_graph_create_adjacentf.c.gcov Uncovered lines in src/binding/f77/dist_graph_createf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_dist_graph_create__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_dist_graph_create_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint v3[], MPI_Fint v4[], MPI_Fint v5[], MPI_Fint v6[], MPI_Fint *v7, MPI_Fint *v8, MPI_Fint *v9, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Dist_graph_create( (MPI_Comm)(*v1), *v2, v3, v4, v5, v6, (MPI_Info)(*v7), *v8, (MPI_Comm *)(v9) ); 2 line(s) not covered by tests in src/binding/f77/dist_graph_createf.c.gcov Uncovered lines in src/binding/f77/dist_graph_neighbors_countf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_dist_graph_neighbors_count__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_dist_graph_neighbors_count_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Dist_graph_neighbors_count( (MPI_Comm)(*v1), v2, v3, v4 ); 2 line(s) not covered by tests in src/binding/f77/dist_graph_neighbors_countf.c.gcov Uncovered lines in src/binding/f77/dist_graph_neighborsf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_dist_graph_neighbors__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_dist_graph_neighbors_ ( MPI_Fint *v1, MPI_Fint *v2, MPI_Fint v3[], MPI_Fint v4[], MPI_Fint *v5, MPI_Fint v6[], MPI_Fint v7[], MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Dist_graph_neighbors( (MPI_Comm)(*v1), *v2, v3, v4, *v5, v6, v7 ); 2 line(s) not covered by tests in src/binding/f77/dist_graph_neighborsf.c.gcov All code covered by tests in src/binding/f77/file_openf.c.gcov All code covered by tests in src/binding/f77/file_closef.c.gcov All code covered by tests in src/binding/f77/file_deletef.c.gcov All code covered by tests in src/binding/f77/file_set_sizef.c.gcov All code covered by tests in src/binding/f77/file_preallocatef.c.gcov All code covered by tests in src/binding/f77/file_get_sizef.c.gcov All code covered by tests in src/binding/f77/file_get_groupf.c.gcov All code covered by tests in src/binding/f77/file_get_amodef.c.gcov All code covered by tests in src/binding/f77/file_set_infof.c.gcov All code covered by tests in src/binding/f77/file_get_infof.c.gcov All code covered by tests in src/binding/f77/file_set_viewf.c.gcov All code covered by tests in src/binding/f77/file_get_viewf.c.gcov Uncovered lines in src/binding/f77/file_read_atf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_read_at__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_read_at_ ( MPI_Fint *v1, MPI_Offset *v2, void*v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_read_at( MPI_File_f2c(*v1), *v2, v3, *v4, (MPI_Datatype)(*v5), (MPI_Status *)(v6) ); 2 line(s) not covered by tests in src/binding/f77/file_read_atf.c.gcov Uncovered lines in src/binding/f77/file_read_at_allf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_read_at_all__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_read_at_all_ ( MPI_Fint *v1, MPI_Offset *v2, void*v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_read_at_all( MPI_File_f2c(*v1), *v2, v3, *v4, (MPI_Datatype)(*v5), (MPI_Status *)(v6) ); 2 line(s) not covered by tests in src/binding/f77/file_read_at_allf.c.gcov Uncovered lines in src/binding/f77/file_write_atf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_write_at__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_write_at_ ( MPI_Fint *v1, MPI_Offset *v2, void*v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_write_at( MPI_File_f2c(*v1), *v2, v3, *v4, (MPI_Datatype)(*v5), (MPI_Status *)(v6) ); 2 line(s) not covered by tests in src/binding/f77/file_write_atf.c.gcov Uncovered lines in src/binding/f77/file_write_at_allf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_write_at_all__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_write_at_all_ ( MPI_Fint *v1, MPI_Offset *v2, void*v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_write_at_all( MPI_File_f2c(*v1), *v2, v3, *v4, (MPI_Datatype)(*v5), (MPI_Status *)(v6) ); 2 line(s) not covered by tests in src/binding/f77/file_write_at_allf.c.gcov Uncovered lines in src/binding/f77/file_iread_atf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_iread_at__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_iread_at_ ( MPI_Fint *v1, MPI_Offset *v2, void*v3, MPI_Fint *v4, MPI_Fint *v5, MPIO_Request*v6, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_iread_at( MPI_File_f2c(*v1), *v2, v3, *v4, (MPI_Datatype)(*v5), v6 ); 2 line(s) not covered by tests in src/binding/f77/file_iread_atf.c.gcov Uncovered lines in src/binding/f77/file_iwrite_atf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_iwrite_at__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_iwrite_at_ ( MPI_Fint *v1, MPI_Offset *v2, void*v3, MPI_Fint *v4, MPI_Fint *v5, MPIO_Request*v6, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_iwrite_at( MPI_File_f2c(*v1), *v2, v3, *v4, (MPI_Datatype)(*v5), v6 ); 2 line(s) not covered by tests in src/binding/f77/file_iwrite_atf.c.gcov All code covered by tests in src/binding/f77/file_readf.c.gcov Uncovered lines in src/binding/f77/file_read_allf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_read_all__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_read_all_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_read_all( MPI_File_f2c(*v1), v2, *v3, (MPI_Datatype)(*v4), (MPI_Status *)(v5) ); 2 line(s) not covered by tests in src/binding/f77/file_read_allf.c.gcov All code covered by tests in src/binding/f77/file_writef.c.gcov All code covered by tests in src/binding/f77/file_write_allf.c.gcov Uncovered lines in src/binding/f77/file_ireadf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_iread__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_iread_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPIO_Request*v5, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_iread( MPI_File_f2c(*v1), v2, *v3, (MPI_Datatype)(*v4), v5 ); 2 line(s) not covered by tests in src/binding/f77/file_ireadf.c.gcov Uncovered lines in src/binding/f77/file_iwritef.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_iwrite__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_iwrite_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPIO_Request*v5, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_iwrite( MPI_File_f2c(*v1), v2, *v3, (MPI_Datatype)(*v4), v5 ); 2 line(s) not covered by tests in src/binding/f77/file_iwritef.c.gcov All code covered by tests in src/binding/f77/file_seekf.c.gcov All code covered by tests in src/binding/f77/file_get_positionf.c.gcov All code covered by tests in src/binding/f77/file_get_byte_offsetf.c.gcov All code covered by tests in src/binding/f77/file_read_sharedf.c.gcov All code covered by tests in src/binding/f77/file_write_sharedf.c.gcov Uncovered lines in src/binding/f77/file_iread_sharedf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_iread_shared__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_iread_shared_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPIO_Request*v5, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_iread_shared( MPI_File_f2c(*v1), v2, *v3, (MPI_Datatype)(*v4), v5 ); 2 line(s) not covered by tests in src/binding/f77/file_iread_sharedf.c.gcov Uncovered lines in src/binding/f77/file_iwrite_sharedf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_iwrite_shared__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_iwrite_shared_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPIO_Request*v5, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_iwrite_shared( MPI_File_f2c(*v1), v2, *v3, (MPI_Datatype)(*v4), v5 ); 2 line(s) not covered by tests in src/binding/f77/file_iwrite_sharedf.c.gcov All code covered by tests in src/binding/f77/file_read_orderedf.c.gcov All code covered by tests in src/binding/f77/file_write_orderedf.c.gcov All code covered by tests in src/binding/f77/file_seek_sharedf.c.gcov All code covered by tests in src/binding/f77/file_get_position_sharedf.c.gcov Uncovered lines in src/binding/f77/file_read_at_all_beginf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_read_at_all_begin__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_read_at_all_begin_ ( MPI_Fint *v1, MPI_Offset *v2, void*v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_read_at_all_begin( MPI_File_f2c(*v1), *v2, v3, *v4, (MPI_Datatype)(*v5) ); 2 line(s) not covered by tests in src/binding/f77/file_read_at_all_beginf.c.gcov Uncovered lines in src/binding/f77/file_read_at_all_endf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_read_at_all_end__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_read_at_all_end_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_read_at_all_end( MPI_File_f2c(*v1), v2, (MPI_Status *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/file_read_at_all_endf.c.gcov Uncovered lines in src/binding/f77/file_write_at_all_beginf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_write_at_all_begin__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_write_at_all_begin_ ( MPI_Fint *v1, MPI_Offset *v2, void*v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_write_at_all_begin( MPI_File_f2c(*v1), *v2, v3, *v4, (MPI_Datatype)(*v5) ); 2 line(s) not covered by tests in src/binding/f77/file_write_at_all_beginf.c.gcov Uncovered lines in src/binding/f77/file_write_at_all_endf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_write_at_all_end__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_write_at_all_end_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_write_at_all_end( MPI_File_f2c(*v1), v2, (MPI_Status *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/file_write_at_all_endf.c.gcov Uncovered lines in src/binding/f77/file_read_all_beginf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_read_all_begin__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_read_all_begin_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_read_all_begin( MPI_File_f2c(*v1), v2, *v3, (MPI_Datatype)(*v4) ); 2 line(s) not covered by tests in src/binding/f77/file_read_all_beginf.c.gcov Uncovered lines in src/binding/f77/file_read_all_endf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_read_all_end__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_read_all_end_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_read_all_end( MPI_File_f2c(*v1), v2, (MPI_Status *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/file_read_all_endf.c.gcov Uncovered lines in src/binding/f77/file_write_all_beginf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_write_all_begin__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_write_all_begin_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_write_all_begin( MPI_File_f2c(*v1), v2, *v3, (MPI_Datatype)(*v4) ); 2 line(s) not covered by tests in src/binding/f77/file_write_all_beginf.c.gcov Uncovered lines in src/binding/f77/file_write_all_endf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_write_all_end__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_write_all_end_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_write_all_end( MPI_File_f2c(*v1), v2, (MPI_Status *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/file_write_all_endf.c.gcov Uncovered lines in src/binding/f77/file_read_ordered_beginf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_read_ordered_begin__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_read_ordered_begin_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_read_ordered_begin( MPI_File_f2c(*v1), v2, *v3, (MPI_Datatype)(*v4) ); 2 line(s) not covered by tests in src/binding/f77/file_read_ordered_beginf.c.gcov Uncovered lines in src/binding/f77/file_read_ordered_endf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_read_ordered_end__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_read_ordered_end_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_read_ordered_end( MPI_File_f2c(*v1), v2, (MPI_Status *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/file_read_ordered_endf.c.gcov Uncovered lines in src/binding/f77/file_write_ordered_beginf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_write_ordered_begin__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_write_ordered_begin_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_write_ordered_begin( MPI_File_f2c(*v1), v2, *v3, (MPI_Datatype)(*v4) ); 2 line(s) not covered by tests in src/binding/f77/file_write_ordered_beginf.c.gcov Uncovered lines in src/binding/f77/file_write_ordered_endf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_file_write_ordered_end__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_file_write_ordered_end_ ( MPI_Fint *v1, void*v2, MPI_Fint *v3, MPI_Fint *ierr ){ 196: -: 190:#ifdef MPI_MODE_RDONLY 197: #####: 191: *ierr = MPI_File_write_ordered_end( MPI_File_f2c(*v1), v2, (MPI_Status *)(v3) ); 2 line(s) not covered by tests in src/binding/f77/file_write_ordered_endf.c.gcov All code covered by tests in src/binding/f77/file_get_type_extentf.c.gcov Uncovered lines in src/binding/f77/register_datarepf.c.gcov 230: -: 225:/* This isn't a callable function */ 231: function mpi_conversion_fn_null_ called 0 returned 0% blocks executed 0% 232: #####: 226:FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null_ ( void*v1, MPI_Fint*v2, MPI_Fint*v3, void*v4, MPI_Offset*v5, MPI_Fint *v6, MPI_Fint*v7, MPI_Fint *ierr ) { 233: #####: 227: return 0; 236: -: 230: 237: function pmpi_register_datarep__ called 0 returned 0% blocks executed 0% 238: #####: 231:FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_ ( char *v1 FORT_MIXED_LEN(d1), MPI_Datarep_conversion_function*v2, MPI_Datarep_conversion_function*v3, MPI_Datarep_extent_function*v4, void*v5, MPI_Fint *ierr FORT_END_LEN(d1) ){ 240: -: 233: char *p1; 241: -: 234: 242: #####: 235: {char *p = v1 + d1 - 1; 243: -: 236: int li; 244: #####: 237: while (*p == ' ' && p > v1) p--; 245: branch 0 never executed 246: branch 1 never executed 247: #####: 238: p++; 248: #####: 239: p1 = (char *)MPIU_Malloc( p-v1 + 1 ); 249: call 0 never executed 250: #####: 240: for (li=0; li<(p-v1); li++) { p1[li] = v1[li]; } 251: branch 0 never executed 252: branch 1 never executed 253: #####: 241: p1[li] = 0; 254: -: 242: } 255: -: 243: 256: #####: 244: if (v2 == (MPI_Datarep_conversion_function *)mpi_conversion_fn_null_){ 257: branch 0 never executed 258: branch 1 never executed 259: #####: 245: v2 = 0; 260: -: 246: } 261: -: 247: 262: #####: 248: if (v3 == (MPI_Datarep_conversion_function *)mpi_conversion_fn_null_){ 263: branch 0 never executed 264: branch 1 never executed 265: #####: 249: v3 = 0; 266: -: 250: } 267: #####: 251: *ierr = MPI_Register_datarep( p1, v2, v3, v4, v5 ); 268: call 0 never executed 269: #####: 252: MPIU_Free( p1 ); 15 line(s) not covered by tests in src/binding/f77/register_datarepf.c.gcov All code covered by tests in src/binding/f77/file_set_atomicityf.c.gcov All code covered by tests in src/binding/f77/file_get_atomicityf.c.gcov All code covered by tests in src/binding/f77/file_syncf.c.gcov All code covered by tests in src/binding/f77/initf.c.gcov All code covered by tests in src/binding/f77/initthreadf.c.gcov Uncovered lines in src/binding/f77/pcontrolf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_pcontrol__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_pcontrol_ ( MPI_Fint *v1, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_Pcontrol( (int)*v1 ); 2 line(s) not covered by tests in src/binding/f77/pcontrolf.c.gcov Uncovered lines in src/binding/f77/addressf.c.gcov 196: -: 191:#include "mpierror.h" 197: function pmpi_address__ called 0 returned 0% blocks executed 0% 198: #####: 192:FORT_DLL_SPEC void FORT_CALL mpi_address_ ( void*v1, MPI_Fint *v2, MPI_Fint *ierr ){ 199: -: 193: MPI_Aint a, b; 200: #####: 194: *ierr = MPI_Address( v1, &a ); 208: -: 201: b = a; 209: -: 202:#else 210: #####: 203: b = a - (MPIR_Pint) MPIR_F_MPI_BOTTOM; 211: -: 204:#endif 212: #####: 205: *v2 = (MPI_Fint)( b ); 4 line(s) not covered by tests in src/binding/f77/addressf.c.gcov All code covered by tests in src/binding/f77/getaddressf.c.gcov All code covered by tests in src/binding/f77/wtimef.c.gcov All code covered by tests in src/binding/f77/wtickf.c.gcov Uncovered lines in src/binding/f77/keyval_createf.c.gcov 215: -: 210: ) 216: function MPIR_Comm_copy_attr_f77_proxy called 0 returned 0% blocks executed 0% 217: #####: 211:{ 218: #####: 212: MPI_Fint ierr = 0; 219: #####: 213: MPI_Fint fhandle = (MPI_Fint)comm; 220: #####: 214: MPI_Fint fkeyval = (MPI_Fint)keyval; 221: #####: 215: MPI_Fint fvalue = (MPI_Fint) MPI_VOID_PTR_CAST_TO_MPI_AINT (value); 222: #####: 216: MPI_Fint* fextra = (MPI_Fint*)extra_state; 223: #####: 217: MPI_Fint fnew = 0; 224: #####: 218: MPI_Fint fflag = 0; 225: -: 219: 226: #####: 220: ((F77_CopyFunction*)user_function)( &fhandle, &fkeyval, fextra, &fvalue, &fnew, &fflag, &ierr ); 227: call 0 never executed 228: -: 221: 229: #####: 222: *flag = fflag; 230: #####: 223: *new_value = MPI_AINT_CAST_TO_VOID_PTR ((MPI_Aint) fnew); 231: #####: 224: return ierr; 248: -: 241: ) 249: function MPIR_Comm_delete_attr_f77_proxy called 0 returned 0% blocks executed 0% 250: #####: 242:{ 251: #####: 243: MPI_Fint ierr = 0; 252: #####: 244: MPI_Fint fhandle = (MPI_Fint)comm; 253: #####: 245: MPI_Fint fkeyval = (MPI_Fint)keyval; 254: #####: 246: MPI_Fint fvalue = (MPI_Fint) MPI_VOID_PTR_CAST_TO_MPI_AINT (value); 255: #####: 247: MPI_Fint* fextra = (MPI_Fint*)extra_state; 256: -: 248: 257: #####: 249: ((F77_DeleteFunction*)user_function)( &fhandle, &fkeyval, &fvalue, fextra, &ierr ); 258: call 0 never executed 259: #####: 250: return ierr; 262: -: 253: 263: function pmpi_keyval_create__ called 0 returned 0% blocks executed 0% 264: #####: 254:FORT_DLL_SPEC void FORT_CALL mpi_keyval_create_ ( MPI_Copy_function v1, MPI_Delete_function v2, MPI_Fint *v3, void*v4, MPI_Fint *ierr ){ 265: #####: 255: *ierr = MPI_Comm_create_keyval( v1, v2, v3, v4 ); 266: call 0 never executed 267: #####: 256: if (!*ierr) { 268: branch 0 never executed 269: branch 1 never executed 270: #####: 257: MPIR_Keyval_set_proxy(*v3, MPIR_Comm_copy_attr_f77_proxy, MPIR_Comm_delete_attr_f77_proxy); 24 line(s) not covered by tests in src/binding/f77/keyval_createf.c.gcov Uncovered lines in src/binding/f77/dup_fnf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_dup_fn__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_dup_fn_ ( MPI_Fint v1, MPI_Fint*v2, void*v3, void**v4, void**v5, MPI_Fint*v6, MPI_Fint *ierr ){ 196: #####: 190: *v5 = *v4; 197: #####: 191: *v6 = MPIR_TO_FLOG(1); 198: #####: 192: *ierr = MPI_SUCCESS; 4 line(s) not covered by tests in src/binding/f77/dup_fnf.c.gcov Uncovered lines in src/binding/f77/null_del_fnf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_null_delete_fn__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn_ ( MPI_Fint*v1, MPI_Fint*v2, void*v3, void*v4, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_SUCCESS; 2 line(s) not covered by tests in src/binding/f77/null_del_fnf.c.gcov Uncovered lines in src/binding/f77/null_copy_fnf.c.gcov 193: -: 188:#include "fproto.h" 194: function pmpi_null_copy_fn__ called 0 returned 0% blocks executed 0% 195: #####: 189:FORT_DLL_SPEC void FORT_CALL mpi_null_copy_fn_ ( MPI_Fint*v1, MPI_Fint*v2, void*v3, void*v4, void*v5, MPI_Fint *v6, MPI_Fint *ierr ){ 196: #####: 190: *ierr = MPI_SUCCESS; 197: #####: 191: *v6 = MPIR_TO_FLOG(0); 3 line(s) not covered by tests in src/binding/f77/null_copy_fnf.c.gcov All code covered by tests in src/binding/f77/dup_comm_fnf.c.gcov All code covered by tests in src/binding/f77/null_comm_del_fnf.c.gcov All code covered by tests in src/binding/f77/null_comm_copy_fnf.c.gcov All code covered by tests in src/binding/f77/dup_win_fnf.c.gcov All code covered by tests in src/binding/f77/null_win_del_fnf.c.gcov All code covered by tests in src/binding/f77/null_win_copy_fnf.c.gcov All code covered by tests in src/binding/f77/dup_type_fnf.c.gcov All code covered by tests in src/binding/f77/null_type_del_fnf.c.gcov All code covered by tests in src/binding/f77/null_type_copy_fnf.c.gcov Uncovered lines in src/binding/f77/statusf2c.c.gcov 43: -: 38:int MPI_Status_f2c( MPI_Fint *f_status, MPI_Status *c_status ) 44: function PMPI_Status_f2c called 0 returned 0% blocks executed 0% 45: #####: 39:{ 46: #####: 40: int mpi_errno = MPI_SUCCESS; 47: -: 41: /* This code assumes that the ints are the same size */ 48: -: 42: 49: #####: 43: if (f_status == MPI_F_STATUS_IGNORE) { 57: call 0 never executed 58: -: 48: } 59: #####: 49: *c_status = *(MPI_Status *) f_status; 60: #####: 50: return MPI_SUCCESS; 5 line(s) not covered by tests in src/binding/f77/statusf2c.c.gcov Uncovered lines in src/binding/f77/statusc2f.c.gcov 43: -: 38:int MPI_Status_c2f( MPI_Status *c_status, MPI_Fint *f_status ) 44: function PMPI_Status_c2f called 0 returned 0% blocks executed 0% 45: #####: 39:{ 46: #####: 40: int mpi_errno = MPI_SUCCESS; 47: -: 41: /* This code assumes that the ints are the same size */ 48: #####: 42: if (c_status == MPI_STATUS_IGNORE || 57: call 0 never executed 58: -: 48: } 59: #####: 49: *(MPI_Status *)f_status = *c_status; 60: #####: 50: return MPI_SUCCESS; 5 line(s) not covered by tests in src/binding/f77/statusc2f.c.gcov All code covered by tests in src/binding/f77/setbot.c.gcov Uncovered lines in src/binding/f77/setbotf.f.gcov 10: -: 5:C 11: function mpirinitf_ called 0 returned 0% blocks executed 0% 12: #####: 6: subroutine mpirinitf( ) 23: -: 17: common /MPIPRIVC/ f, MPI_ARGV_NULL 24: -: 18: save /MPIPRIVC/ 25: #####: 19: call mpirinitc( a, b, c, d, e, f ) 26: call 0 never executed 27: #####: 20: call mpirinitc2( MPI_ARGV_NULL ) 3 line(s) not covered by tests in src/binding/f77/setbotf.f.gcov Uncovered lines in src/binding/cxx/initcxx.cxx.gcov 609: -: 282:} 610: function _ZN3MPI11Init_threadERiRPPci called 0 returned 0% blocks executed 0% 611: #####: 283:int Init_thread( int &argc, char **&argv, int req ) 612: -: 284:{ 613: -: 285: int provided; 614: #####: 286: MPI_Init_thread( &argc, &argv, req, &provided ); 615: call 0 never executed 616: #####: 287: return provided; 822: branch 0 taken 0% (fallthrough) 823: branch 1 taken 100% 824: #####: 408: value = &attrib; 842: branch 1 taken 100% 843: -: 421: { 844: #####: 422: MPI::Intercomm c = comm; 845: call 0 never executed 846: #####: 423: return f( c, keyval, value, extra_state ); 859: -: 429: } 860: -: 430: } 861: #####: 431: else if (ttype == MPI_CART) 863: branch 1 never executed 864: -: 432: { 865: #####: 433: MPI::Cartcomm c = comm; 866: call 0 never executed 867: #####: 434: return f( c, keyval, value, extra_state ); 872: -: 436: else 873: -: 437: { 874: #####: 438: MPI::Graphcomm c = comm; 875: call 0 never executed 876: #####: 439: return f( c, keyval, value, extra_state ); 900: branch 0 taken 0% (fallthrough) 901: branch 1 taken 100% 902: #####: 459: value = &attrib; 922: branch 1 taken 100% 923: -: 474: { 924: #####: 475: MPI::Intercomm c = comm; 925: call 0 never executed 926: #####: 476: return f( c, keyval, extra_state, value, new_value, *(bool*)flag ); 939: -: 482: } 940: -: 483: } 941: #####: 484: else if (ttype == MPI_CART) 943: branch 1 never executed 944: -: 485: { 945: #####: 486: MPI::Cartcomm c = comm; 946: call 0 never executed 947: #####: 487: return f( c, keyval, extra_state, value, new_value, *(bool*)flag ); 952: -: 489: else 953: -: 490: { 954: #####: 491: MPI::Graphcomm c = comm; 955: call 0 never executed 956: #####: 492: return f( c, keyval, extra_state, value, new_value, *(bool*)flag ); 1007: branch 0 taken 0% (fallthrough) 1008: branch 1 taken 100% 1009: #####: 526: value = &attrib; 1041: branch 0 taken 0% (fallthrough) 1042: branch 1 taken 100% 1043: #####: 553: value = &attrib; 1097: branch 0 taken 0% (fallthrough) 1098: branch 1 taken 100% 1099: #####: 590: value = &attrib; 1120: -: 608: int* flag 1121: function _ZN3MPI28MPIR_Win_copy_attr_cxx_proxyEPFiiiPvS0_S0_PiEiiS0_NS_13MPIR_AttrTypeES0_PS0_S1_ called 0 returned 0% blocks executed 0% 1122: #####: 609: ) 1123: -: 610:{ 1124: #####: 611: *flag = 0; 1125: #####: 612: MPI::Win w = win; 1126: call 0 never executed 1127: #####: 613: MPI::Win::Copy_attr_function* f = (MPI::Win::Copy_attr_function*)user_function; 1128: #####: 614: void *value = NULL; 1129: -: 615: /* Make sure that the attribute value is delivered as a pointer */ 1130: #####: 616: if(MPIR_ATTR_KIND(attrib_type) == MPIR_ATTR_KIND(MPIR_ATTR_INT)){ 1131: branch 0 never executed 1132: branch 1 never executed 1133: #####: 617: value = &attrib; 1134: -: 618: } 1135: -: 619: else{ 1136: #####: 620: value = attrib; 1137: -: 621: } 1138: #####: 622: return f( w, keyval, extra_state, value, new_value, *(bool*)flag ); 1192: branch 0 taken 0% (fallthrough) 1193: branch 1 taken 100% 1194: #####: 655: MPI::Intercomm ic(*ch); 1195: call 0 never executed 1196: #####: 656: (*f)( ic, errcode ); 1224: -: 673: case 2: // win 1225: -: 674: { 1226: #####: 675: MPI::Win fh = (MPI_Win)*(MPI_Win*)handle; 1227: call 0 never executed 1228: #####: 676: MPI::Win::Errhandler_function *f = (MPI::Win::Errhandler_function *)cxxfn; 1229: #####: 677: (*f)( fh, errcode ); 1248: call 0 returned 100% 1249: 3: 690: e1.the_real_errhandler = eh; 1250: #####: 691: return e1; 1264: call 0 returned 100% 1265: 2: 701: e1.the_real_errhandler = eh; 1266: #####: 702: return e1; 1279: call 0 returned 100% 1280: 1: 711: e1.the_real_errhandler = eh; 1281: #####: 712: return e1; 1287: -: 717:// cover the ERRORS_THROW_EXCEPTIONS case. 1288: function _ZNK3MPI4Comm15Call_errhandlerEi called 0 returned 0% blocks executed 0% 1289: #####: 718:void Comm::Call_errhandler( int errorcode ) const 1292: