pike.git / src / multiset.c

version» Context lines:

pike.git/src/multiset.c:1019:    case FIND_DESTRUCTED:    midflight_remove_node_faster (new.msd, rbstack);    new.msd->size--;    break;    case FIND_KEY_DESTRUCTED:    new.msd->size--;    goto node_done;    default: DO_IF_DEBUG (Pike_fatal ("Invalid find_type.\n"));    }    } -  /* NOT REACHED */ +  UNREACHABLE();    }       node_done:    if (l->msd != old) {    /* l changed. Have to start over to guarantee no loss of data. */    CALL_AND_UNSET_ONERROR (uwp);    old = l->msd;    goto again;    }    } while ((new.list = next));
pike.git/src/multiset.c:1121:    rbstack, HDR (new.node));    goto node_added;    case FIND_DESTRUCTED:    midflight_remove_node_faster (new.msd, rbstack);    break;    case FIND_KEY_DESTRUCTED:    goto node_skipped;    default: DO_IF_DEBUG (Pike_fatal ("Invalid find_type.\n"));    }    } -  /* NOT REACHED */ +  UNREACHABLE();       node_added:   #ifdef PIKE_DEBUG    SET_SVAL_TYPE(new.node->i.ind,    TYPEOF(new.node->i.ind) | MULTISET_FLAG_MARKER);   #endif    new.msd->size++;    }       node_skipped:;
pike.git/src/multiset.c:1501:    low_use_multiset_index (RBNODE (node), tmp);    assert (!IS_DESTRUCTED (&tmp));    /* TODO: Use special variant of set_svalue_cmpfun so we don't    * have to copy the index svalues. */    INTERNAL_CMP (key, &tmp, cmp_res);    assert (cmp_res != CMPFUN_UNORDERED);    },    {find_type = FIND_LESS; goto done;},    {find_type = FIND_EQUAL; goto done;},    {find_type = FIND_GREATER; goto done;}); -  /* NOT REACHED */ +  UNREACHABLE();    }       else {    /* Find the biggest node less or order-wise equal to key. */    struct rb_node_hdr *found_node;    int step_count;       LOW_RB_TRACK_NEQ (    rbstack, node,    {
pike.git/src/multiset.c:1674:    }    /* TODO: Use special variant of set_svalue_cmpfun so we don't    * have to copy the index svalues. */    INTERNAL_CMP (key, low_use_multiset_index (RBNODE (node), tmp),    cmp_res);    /* Note: CMPFUN_UNORDERED > 0 - treated as equal. */    cmp_res = cmp_res >= 0 ? 1 : -1;    },    {find_type = FIND_LESS; goto done;},    {find_type = FIND_GREATER; goto done;}); -  /* NOT REACHED */ +  UNREACHABLE();    }       else {    LOW_RB_TRACK_NEQ (    rbstack, node,    {    push_svalue (key);    low_push_multiset_index (RBNODE (node));    if (IS_DESTRUCTED (sp - 1)) {    pop_2_elems();    UNSET_ONERROR (uwp);    *track = rbstack;    return FIND_DESTRUCTED;    }    EXTERNAL_CMP (&msd->cmp_less);    cmp_res = UNSAFE_IS_ZERO (sp - 1) ? 1 : -1;    pop_stack();    },    {find_type = FIND_LESS; goto done;},    {find_type = FIND_GREATER; goto done;}); -  /* NOT REACHED */ +  UNREACHABLE();    }      done:    UNSET_ONERROR (uwp);    if (IS_DESTRUCTED (key)) {    RBSTACK_FREE (rbstack);    *track = rbstack;    return FIND_KEY_DESTRUCTED;    }    *track = rbstack;
pike.git/src/multiset.c:3140:    goto node_added;    case FIND_DESTRUCTED:    midflight_remove_node_faster (new.msd, rbstack);    break;    case FIND_KEY_DESTRUCTED:    RBSTACK_FREE (rbstack);    goto node_skipped;    default: DO_IF_DEBUG (Pike_fatal ("Invalid find_type.\n"));    }    } -  /* NOT REACHED */ +  UNREACHABLE();       node_added:   #ifdef PIKE_DEBUG    SET_SVAL_TYPE(new.node->i.ind,    TYPEOF(new.node->i.ind) | MULTISET_FLAG_MARKER);   #endif    new.msd->size++;    }       node_skipped:;