Esempio n. 1
0
/* ::cortex::ic::label::construct() */
cx_int16 ic_label_construct(ic_label _this) {
/* $begin(::cortex::ic::label::construct) */
    ic_node(_this)->kind = IC_LABEL;
    _this->id = ic_program_getLabel(ic_program_get());
    return ic_node_construct(ic_node(_this));
/* $end */
}
Esempio n. 2
0
static corto_bool ic_validateCast(ic_op op) {
    corto_bool result = TRUE;
    op->s1 && (ic_node(op->s1)->kind != IC_STORAGE) ? result = FALSE: 0;
    !op->s2 || (ic_node(op->s2)->kind != IC_STORAGE) ? result = FALSE: 0;
    !op->s3 || (ic_node(op->s3)->kind != IC_STORAGE) ? result = FALSE: 0;
    return result;
}
Esempio n. 3
0
static corto_bool ic_validateBinary(ic_op op) {
    corto_bool result = TRUE;
    op->s1 && (ic_node(op->s1)->kind != IC_STORAGE) ? result = FALSE: 0;
    !op->s2 || !op->s3 ? result = FALSE: 0;
    if (result) {
        if ((ic_node(op->s2)->kind != IC_STORAGE) && (ic_node(op->s3)->kind != IC_STORAGE)) {
            result = FALSE;
        }
    }
    return result;
}
Esempio n. 4
0
/* ::cortex::ic::program::pushFunction(function function) */
ic_scope ic_program_pushFunction(ic_program _this, cx_function function) {
/* $begin(::cortex::ic::program::pushFunction) */
    ic_function label;
    ic_scope scope;

    /* Add function-label */
    label = ic_function__create(function);
    ic_program_add(_this, ic_node(label));

    /* Push function-scope */
    scope = ic_program_pushScope(_this);
    scope->isFunction = TRUE;

    return scope;
/* $end */
}
Esempio n. 5
0
static corto_bool ic_validateUnary(ic_op op) {
    corto_bool result = TRUE;
    op->s1 && (ic_node(op->s1)->kind != IC_STORAGE) ? result = FALSE: 0;
    op->s2 && (ic_node(op->s2)->kind != IC_STORAGE) ? result = FALSE: 0;
    return result;
}