| 635 | } |
| 636 | |
| 637 | bool CondForbidTest(int bp_num) { |
| 638 | if (bp_num >= 0 && !condition(&watchpoint[bp_num])) |
| 639 | { |
| 640 | return false; // condition rejected |
| 641 | } |
| 642 | |
| 643 | //check to see whether we fall in any forbid zone |
| 644 | for (int i = 0; i < numWPs; i++) |
| 645 | { |
| 646 | watchpointinfo& wp = watchpoint[i]; |
| 647 | if (!(wp.flags & WP_F) || !(wp.flags & WP_E)) |
| 648 | continue; |
| 649 | |
| 650 | if (condition(&wp)) |
| 651 | { |
| 652 | if (wp.endaddress) { |
| 653 | if ((wp.address <= _PC) && (wp.endaddress >= _PC)) |
| 654 | return false; // forbid |
| 655 | } |
| 656 | else { |
| 657 | if (wp.address == _PC) |
| 658 | return false; // forbid |
| 659 | } |
| 660 | } |
| 661 | } |
| 662 | return true; |
| 663 | } |
| 664 | |
| 665 | void BreakHit(int bp_num) |
| 666 | { |
nothing calls this directly
no test coverage detected