|
|
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 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.