Annotation of coherent/d/bin/cc/c/n1/tree1.c, revision 1.1.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(NIL);
                     22:                return;
                     23:        }
                     24:        op = tp->t_op;
                     25:        iput(op);
                     26:        bput(tp->t_type);
                     27:        if (tp->t_type == BLK)
                     28:                iput(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(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(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.