Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.122
 
1.123
 
MAIN:ragge:20041230103516
 
trees.c
_>20122012         p = optim(p);
 20132013         rmcops(p);
 20142014         p = delasgop(p);
<>2015 -        send_passt(IP_LOCCTR, PROG);
  2015+        setloc1(PROG);
20162016         if (p->n_op == ICON && p->n_type == VOID)
 20172017                 tfree(p);
 20182018         else
     
 !
20542054         case NAME:
 20552055         case ICON:
 20562056                 /* print external name */
<>2057 -                if (p->n_sp != NULL) {
 2058 -                        if (p->n_sp->sflags & SLABEL ||
 2059 -                            p->n_sp->sclass == ILABEL) {
 2060 -                                printf(LABFMT, p->n_sp->soffset);
  2057+                if ((q = p->n_sp) != NULL) {
  2058+                        if ((q->sclass == STATIC && q->slevel > 0) ||
  2059+                            q->sclass == ILABEL) {
  2060+                                printf(LABFMT, q->soffset);
20612061                         } else
 20622062                                 printf("%s\n", exname(q->sname));
 20632063                 } else
     
 !
20922092 void
 20932093 p2tree(NODE *p)
 20942094 {
<> 2095+        struct symtab *q;
20952096         int ty;
 20962097 
 20972098 # ifdef MYP2TREE
     
 !
21042105 
 21052106         case NAME:
 21062107         case ICON:
<>2107 -                if (p->n_sp != NULL) {
 2108 -                        if (p->n_sp->sflags & SLABEL ||
  2108+                if ((q = p->n_sp) != NULL) {
  2109+                        if ((q->sclass == STATIC && q->slevel > 0) ||
21092110 #ifdef GCC_COMPAT
<>2110 -                            p->n_sp->sflags == SLBLNAME ||
  2111+                            q->sflags == SLBLNAME ||
21112112 #endif
<>2112 -                            p->n_sp->sclass == ILABEL) {
  2113+                            q->sclass == ILABEL) {
21132114                                 char *cp = (isinlining ?
 21142115                                     permalloc(32) : tmpalloc(32));
<>2115 -                                int n = p->n_sp->soffset;
  2116+                                int n = q->soffset;
21162117                                 if (n < 0)
 21172118                                         n = -n;
 21182119                                 sprintf(cp, LABFMT, n);
 21192120                                 p->n_name = cp;
 21202121                         } else {
 21212122 #ifdef GCC_COMPAT
<>2122 -                                p->n_name = gcc_findname(p->n_sp);
  2123+                                p->n_name = gcc_findname(q);
21232124 #else
<>2124 -                                p->n_name = exname(p->n_sp->sname);
  2125+                                p->n_name = exname(q->sname);
21252126 #endif
 21262127                         }
 21272128                 } else
     
 !
22072208 {
 22082209         struct interpass *ip;
 22092210         va_list ap;
<>2210 -        int nloc = 0;
22112211 
 22122212         va_start(ap, type);
<>2213 -        if (type == IP_LOCCTR) {
 2214 -                nloc = va_arg(ap, int);
 2215 -                if (nloc == lastloc)
 2216 -                        return;
 2217 -        }
22182213         ip = isinlining ? permalloc(sizeof(*ip)) : tmpalloc(sizeof(*ip));
 22192214         ip->type = type;
 22202215         ip->lineno = lineno;
 22212216         switch (type) {
 22222217         case IP_NODE:
 22232218                 if (lastloc != PROG)
<>2224 -                        send_passt(IP_LOCCTR, PROG);
  2219+                        setloc1(PROG);
22252220                 ip->ip_node = va_arg(ap, NODE *);
 22262221                 break;
<> 2222+        case IP_EPILOG:
  2223+                setloc1(PROG);
  2224+                /* FALLTHROUGH */
22272225         case IP_PROLOG:
 22282226         case IP_NEWBLK:
<>2229 -        case IP_EPILOG:
22302227                 ip->ip_regs = va_arg(ap, int);
 22312228                 ip->ip_auto = va_arg(ap, int);
 22322229                 ip->ip_retl = va_arg(ap, int);
 22332230                 break;
 22342231         case IP_LOCCTR:
<>2235 -                ip->ip_locc = nloc;
 2236 -                lastloc = ip->ip_locc;
  2232+                ip->ip_locc = va_arg(ap, int);
22372233                 break;
 22382234         case IP_DEFLAB:
 22392235                 ip->ip_lbl = va_arg(ap, int);
     
 !
22502246         else
 22512247                 pass2_compile(ip);
 22522248         if (type == IP_EPILOG)
<>2253 -                send_passt(IP_LOCCTR, PROG);
  2249+                lastloc = PROG;
22542250 }
 22552251 
 22562252 char *
     
 !
23632359 void
 23642360 plabel(int label)
 23652361 {
<>2366 -        if (lastloc != PROG)
 2367 -                send_passt(IP_LOCCTR, PROG);
  2362+        setloc1(PROG);
<_23682363         send_passt(IP_DEFLAB, label);
 23692364 }
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-08-30 14:16 +0200