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

1.1     ! root        1: /*
        !             2:  * n1/i386/altemp.c
        !             3:  * Allocate a temporary on the stack,
        !             4:  * adjusting the stack frame temporary location if necessary.
        !             5:  */
        !             6: 
        !             7: #ifdef   vax
        !             8: #include "INC$LIB:cc1.h"
        !             9: #else
        !            10: #include "cc1.h"
        !            11: #endif
        !            12: 
        !            13: /*
        !            14:  * Allocate a new temporary and return a pointer to a TREE node
        !            15:  * which describes it: "*(%EBP - n)".
        !            16:  * The type is set from the type of the node that is going to be stored.
        !            17:  * The "flag" is true if the node needs to be allocated.
        !            18:  */
        !            19: TREE *
        !            20: tempnode(tp, flag) register TREE *tp; int flag;
        !            21: {
        !            22:        register TREE   *tp1;
        !            23: 
        !            24:        if (flag != 0)
        !            25:                curtemp += mapssize(pertype[tp->t_type].p_size);
        !            26:        tp1 = makenode(REG, PTR);
        !            27:        tp1->t_reg = EBP;
        !            28:        tp1 = leafnode(tp1);
        !            29:        tp1 = leftnode(SUB, tp1, PTR, 0);
        !            30:        tp1->t_rp = ivalnode((ival_t)curtemp);
        !            31:        tp1 = leftnode(STAR, tp1, tp->t_type, tp->t_size);
        !            32:        return tp1;
        !            33: }
        !            34: 
        !            35: /* end of n1/i386/altemp.c */

unix.superglobalmegacorp.com

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