Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.32
 
1.33
 
MAIN:ragge:20101222142845
 
local.c
_>884884 {
 885885         union { float f; double d; long double l; int i[3]; } u;
 886886         struct symtab *q;
<>887 -        NODE st;
  887+        NODE st, *op = NIL;
888888         TWORD t;
<>889 -        int rel = 0;
890889 
 891890         if (coptype(p->n_op) != LTYPE) {
 892891                 ininval = 1;
<>893 -                p = optim(ccopy(p));
  892+                op = p = optim(ccopy(p));
894893                 ininval = 0;
<>895 -                rel = 1;
896894         }
 897895 
<> 896+        while (p->n_op == PCONV)
  897+                p = p->n_left;
  898+
898899         t = p->n_type;
 899900 
 900901         if (kflag && p->n_op == NAME && ISPTR(t) && ISFTN(DECREF(t))) {
 901902                 /* functions as initializers will be NAME here */
<>902 -                st = *p;
 903 -                st.n_op = ICON;
 904 -                p = &st;
  903+                if (op == NIL) {
  904+                        st = *p;
  905+                        p = &st;
  906+                }
  907+                p->n_op = ICON;
905908         }
 906909 
 907910         if (t > BTMASK)
     
 !
975978         default:
 976979                 cerror("ninval");
 977980         }
<>978 -        if (rel)
 979 -                tfree(p);
  981+        if (op)
  982+                tfree(op);
<_980983 }
 981984 
 982985 /* make a name look like an external name in the local machine */
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-09-18 23:45 +0200