Lines Matching refs:Err
256 } Err;
268 void MC_(before_pp_Error) ( Error* err ) {
451 void MC_(pp_Error) ( Error* err )
454 MC_Error* extra = VG_(get_error_extra)(err);
456 switch (VG_(get_error_kind)(err)) {
466 VG_(get_error_string)(err));
467 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
470 VG_(get_error_string)(err));
471 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
480 extra->Err.Value.szB );
481 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
482 if (extra->Err.Value.origin_ec)
483 mc_pp_origin( extra->Err.Value.origin_ec,
484 extra->Err.Value.otag & 3 );
486 /* Could also show extra->Err.Cond.otag if debugging origin
489 extra->Err.Value.szB );
490 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
491 if (extra->Err.Value.origin_ec)
492 mc_pp_origin( extra->Err.Value.origin_ec,
493 extra->Err.Value.otag & 3 );
503 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
504 if (extra->Err.Cond.origin_ec)
505 mc_pp_origin( extra->Err.Cond.origin_ec,
506 extra->Err.Cond.otag & 3 );
508 /* Could also show extra->Err.Cond.otag if debugging origin
512 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
513 if (extra->Err.Cond.origin_ec)
514 mc_pp_origin( extra->Err.Cond.origin_ec,
515 extra->Err.Cond.otag & 3 );
525 VG_(get_error_string)(err) );
526 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
527 if (extra->Err.RegParam.origin_ec)
528 mc_pp_origin( extra->Err.RegParam.origin_ec,
529 extra->Err.RegParam.otag & 3 );
532 VG_(get_error_string)(err) );
533 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
534 if (extra->Err.RegParam.origin_ec)
535 mc_pp_origin( extra->Err.RegParam.origin_ec,
536 extra->Err.RegParam.otag & 3 );
541 if (!extra->Err.MemParam.isAddrErr)
546 VG_(get_error_string)(err),
547 extra->Err.MemParam.isAddrErr
549 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
550 mc_pp_AddrInfo(VG_(get_error_address)(err),
551 &extra->Err.MemParam.ai, False);
552 if (extra->Err.MemParam.origin_ec
553 && !extra->Err.MemParam.isAddrErr)
554 mc_pp_origin( extra->Err.MemParam.origin_ec,
555 extra->Err.MemParam.otag & 3 );
558 VG_(get_error_string)(err),
559 extra->Err.MemParam.isAddrErr
561 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
562 mc_pp_AddrInfo(VG_(get_error_address)(err),
563 &extra->Err.MemParam.ai, False);
564 if (extra->Err.MemParam.origin_ec
565 && !extra->Err.MemParam.isAddrErr)
566 mc_pp_origin( extra->Err.MemParam.origin_ec,
567 extra->Err.MemParam.otag & 3 );
572 if (!extra->Err.User.isAddrErr)
578 extra->Err.User.isAddrErr
580 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
581 mc_pp_AddrInfo(VG_(get_error_address)(err), &extra->Err.User.ai,
583 if (extra->Err.User.origin_ec && !extra->Err.User.isAddrErr)
584 mc_pp_origin( extra->Err.User.origin_ec,
585 extra->Err.User.otag & 3 );
588 extra->Err.User.isAddrErr
590 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
591 mc_pp_AddrInfo(VG_(get_error_address)(err), &extra->Err.User.ai,
593 if (extra->Err.User.origin_ec && !extra->Err.User.isAddrErr)
594 mc_pp_origin( extra->Err.User.origin_ec,
595 extra->Err.User.otag & 3 );
604 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
605 mc_pp_AddrInfo( VG_(get_error_address)(err),
606 &extra->Err.Free.ai, False );
609 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
610 mc_pp_AddrInfo( VG_(get_error_address)(err),
611 &extra->Err.Free.ai, False );
619 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
620 mc_pp_AddrInfo(VG_(get_error_address)(err),
621 &extra->Err.FreeMismatch.ai, False);
624 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
625 mc_pp_AddrInfo(VG_(get_error_address)(err),
626 &extra->Err.FreeMismatch.ai, False);
633 extra->Err.Addr.isWrite ? "Write" : "Read" );
635 extra->Err.Addr.isWrite ? "write" : "read",
636 extra->Err.Addr.szB );
637 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
638 mc_pp_AddrInfo( VG_(get_error_address)(err),
639 &extra->Err.Addr.ai,
640 extra->Err.Addr.maybe_gcc );
643 extra->Err.Addr.isWrite ? "write" : "read",
644 extra->Err.Addr.szB );
645 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
647 mc_pp_AddrInfo( VG_(get_error_address)(err),
648 &extra->Err.Addr.ai,
649 extra->Err.Addr.maybe_gcc );
658 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
659 mc_pp_AddrInfo( VG_(get_error_address)(err), &extra->Err.Jump.ai,
663 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
664 mc_pp_AddrInfo( VG_(get_error_address)(err), &extra->Err.Jump.ai,
672 if (extra->Err.Overlap.szB == 0) {
675 VG_(get_error_string)(err),
676 extra->Err.Overlap.dst, extra->Err.Overlap.src );
680 VG_(get_error_string)(err),
681 extra->Err.Overlap.dst, extra->Err.Overlap.src,
682 extra->Err.Overlap.szB );
684 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
686 if (extra->Err.Overlap.szB == 0) {
688 VG_(get_error_string)(err),
689 extra->Err.Overlap.dst, extra->Err.Overlap.src );
692 VG_(get_error_string)(err),
693 extra->Err.Overlap.dst, extra->Err.Overlap.src,
694 extra->Err.Overlap.szB );
696 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
706 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
707 mc_pp_AddrInfo( VG_(get_error_address)(err),
708 &extra->Err.IllegalMempool.ai, False );
711 VG_(pp_ExeContext)( VG_(get_error_where)(err) );
712 mc_pp_AddrInfo( VG_(get_error_address)(err),
713 &extra->Err.IllegalMempool.ai, False );
718 UInt n_this_record = extra->Err.Leak.n_this_record;
719 UInt n_total_records = extra->Err.Leak.n_total_records;
720 LossRecord* lr = extra->Err.Leak.lr;
804 VG_(get_error_kind)(err));
873 extra.Err.Addr.isWrite = isWrite;
874 extra.Err.Addr.szB = szB;
875 extra.Err.Addr.maybe_gcc = just_below_esp;
876 extra.Err.Addr.ai.tag = Addr_Undescribed;
886 extra.Err.Value.szB = szB;
887 extra.Err.Value.otag = otag;
888 extra.Err.Value.origin_ec = NULL; /* Filled in later */
898 extra.Err.Cond.otag = otag;
899 extra.Err.Cond.origin_ec = NULL; /* Filled in later */
917 extra.Err.RegParam.otag = otag;
918 extra.Err.RegParam.origin_ec = NULL; /* Filled in later */
933 extra.Err.MemParam.isAddrErr = isAddrErr;
934 extra.Err.MemParam.ai.tag = Addr_Undescribed;
935 extra.Err.MemParam.otag = otag;
936 extra.Err.MemParam.origin_ec = NULL; /* Filled in later */
944 extra.Err.Jump.ai.tag = Addr_Undescribed;
952 extra.Err.Free.ai.tag = Addr_Undescribed;
959 AddrInfo* ai = &extra.Err.FreeMismatch.ai;
975 extra.Err.IllegalMempool.ai.tag = Addr_Undescribed;
984 extra.Err.Overlap.src = src;
985 extra.Err.Overlap.dst = dst;
986 extra.Err.Overlap.szB = szB;
996 extra.Err.Leak.n_this_record = n_this_record;
997 extra.Err.Leak.n_total_records = n_total_records;
998 extra.Err.Leak.lr = lr;
1017 extra.Err.User.isAddrErr = isAddrErr;
1018 extra.Err.User.ai.tag = Addr_Undescribed;
1019 extra.Err.User.otag = otag;
1020 extra.Err.User.origin_ec = NULL; /* Filled in later */
1063 return ( extra1->Err.User.isAddrErr == extra2->Err.User.isAddrErr
1075 return ( extra1->Err.Addr.szB == extra2->Err.Addr.szB
1079 return ( extra1->Err.Value.szB == extra2->Err.Value.szB
1251 UInt MC_(update_Error_extra)( Error* err )
1253 MC_Error* extra = VG_(get_error_extra)(err);
1255 switch (VG_(get_error_kind)(err)) {
1272 update_origin( &extra->Err.Value.origin_ec,
1273 extra->Err.Value.otag );
1276 update_origin( &extra->Err.Cond.origin_ec,
1277 extra->Err.Cond.otag );
1280 update_origin( &extra->Err.RegParam.origin_ec,
1281 extra->Err.RegParam.otag );
1286 describe_addr ( VG_(get_error_address)(err),
1287 &extra->Err.Addr.ai );
1290 describe_addr ( VG_(get_error_address)(err),
1291 &extra->Err.MemParam.ai );
1292 update_origin( &extra->Err.MemParam.origin_ec,
1293 extra->Err.MemParam.otag );
1296 describe_addr ( VG_(get_error_address)(err),
1297 &extra->Err.Jump.ai );
1300 describe_addr ( VG_(get_error_address)(err),
1301 &extra->Err.User.ai );
1302 update_origin( &extra->Err.User.origin_ec,
1303 extra->Err.User.otag );
1306 describe_addr ( VG_(get_error_address)(err),
1307 &extra->Err.Free.ai );
1310 describe_addr ( VG_(get_error_address)(err),
1311 &extra->Err.IllegalMempool.ai );
1320 extra->Err.FreeMismatch.ai.Addr.Block.block_kind);
1321 (void)client_block_maybe_describe( VG_(get_error_address)(err),
1322 &extra->Err.FreeMismatch.ai );
1470 Bool MC_(error_matches_suppression) ( Error* err, Supp* su )
1473 MC_Error* extra = VG_(get_error_extra)(err);
1474 ErrorKind ekind = VG_(get_error_kind )(err);
1479 && VG_STREQ(VG_(get_error_string)(err),
1487 && VG_STREQ(VG_(get_error_string)(err),
1496 return (ekind == Err_Value && extra->Err.Value.szB == su_szB);
1507 return (ekind == Err_Addr && extra->Err.Addr.szB == su_szB);
1512 (ekind == Err_MemParam && extra->Err.MemParam.isAddrErr));
1517 (ekind == Err_MemParam && !extra->Err.MemParam.isAddrErr));
1543 Char* MC_(get_error_name) ( Error* err )
1545 switch (VG_(get_error_kind)(err)) {
1558 MC_Error* extra = VG_(get_error_extra)(err);
1559 switch ( extra->Err.Addr.szB ) {
1569 MC_Error* extra = VG_(get_error_extra)(err);
1570 switch ( extra->Err.Value.szB ) {
1583 Bool MC_(get_extra_suppression_info) ( Error* err,
1586 ErrorKind ekind = VG_(get_error_kind )(err);
1590 Char* errstr = VG_(get_error_string)(err);