Annotation of coherent/b/bin/c/n1/tree1.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * The routines in this file
        !             3:  * write out expression trees. They are used only
        !             4:  * by the modify phase.
        !             5:  */
        !             6: #ifdef   vax
        !             7: #include "INC$LIB:cc1.h"
        !             8: #else
        !             9: #include "cc1.h"
        !            10: #endif
        !            11: 
        !            12: /*
        !            13:  * Write out a tree.
        !            14:  */
        !            15: treeput(tp)
        !            16: register TREE  *tp;
        !            17: {
        !            18:        register int    op;
        !            19: 
        !            20:        if (tp == NULL) {
        !            21:                iput((ival_t)NIL);
        !            22:                return;
        !            23:        }
        !            24:        op = tp->t_op;
        !            25:        iput((ival_t)op);
        !            26:        bput(tp->t_type);
        !            27:        if (tp->t_type == BLK)
        !            28:                iput((ival_t)tp->t_size);
        !            29:        switch (op) {
        !            30: 
        !            31:        case ICON:
        !            32:                iput(tp->t_ival);
        !            33:                break;
        !            34: 
        !            35:        case LCON:
        !            36:                lput(tp->t_lval);
        !            37:                break;
        !            38: 
        !            39:        case DCON:
        !            40:                dput(tp->t_dval);
        !            41:                break;
        !            42: 
        !            43:        case AID:
        !            44:        case PID:
        !            45:                zput(tp->t_offs);
        !            46:                break;
        !            47: 
        !            48:        case LID:
        !            49:                zput(tp->t_offs);
        !            50:                bput(tp->t_seg);
        !            51:                iput((ival_t)tp->t_label);
        !            52:                break;
        !            53: 
        !            54:        case GID:
        !            55:                zput(tp->t_offs);
        !            56:                bput(tp->t_seg);
        !            57:                sput(tp->t_sp->s_id);
        !            58:                break;
        !            59: 
        !            60:        case REG:
        !            61:                iput((ival_t)tp->t_reg);
        !            62:                break;
        !            63: 
        !            64:        case FIELD:
        !            65:                bput(tp->t_width);
        !            66:                bput(tp->t_base);
        !            67:                treeput(tp->t_lp);
        !            68:                break;
        !            69: 
        !            70:        default:
        !            71:                treeput(tp->t_lp);
        !            72:                treeput(tp->t_rp);
        !            73:        }
        !            74: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.