Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.116
 
1.117
 
MAIN:ragge:20040623084142
 
pftn.c
_>22532253                 struct ap *next;
 22542254                 NODE *node;
 22552255         } *at, *apole = NULL;
<>2256 -        int argidx, hasarray;
  2256+        int argidx/* , hasarray = 0*/;
22572257         TWORD type, arrt;
 22582258 
 22592259         /*
     
 !
23052305                         uerror("too few arguments to function");
 23062306                         goto build;
 23072307                 }
<> 2308+/* al = prototyp, apole = argument till ftn */
  2309+/* type = argumentets typ, arrt = prototypens typ */
23082310                 type = apole->node->n_type;
 23092311                 arrt = al->type;
<> 2312+#if 0
23102313                 if ((hasarray = ISARY(arrt)))
 23112314                         arrt += (PTR-ARY);
<> 2315+#endif
23122316                 if (ISARY(type))
 23132317                         type += (PTR-ARY);
 23142318 
     
 !
23282332                         goto out;
 23292333                 }
 23302334 
<>2331 -                /* Hereafter its only pointers left */
  2335+                /* Hereafter its only pointers (or arrays) left */
  2336+                /* Check for struct/union intermixing with other types */
23322337                 if (((type <= BTMASK) && ISSOU(BTYPE(type))) ||
 23332338                     ((arrt <= BTMASK) && ISSOU(BTYPE(arrt))))
 23342339                         goto incomp;
 23352340 
<> 2341+                /* Check for struct/union compatibility */
23362342                 if (type == arrt) {
 23372343                         if (ISSOU(BTYPE(type))) {
 23382344                                 if (apole->node->n_sue == al[1].sue)
     
 !
23692375 out:            al++;
 23702376                 if (ISSTR(BTYPE(arrt)))
 23712377                         al++;
<> 2378+#if 0
23722379                 while (arrt > BTMASK && !ISFTN(arrt))
 23732380                         arrt = DECREF(arrt);
 23742381                 if (ISFTN(arrt) || hasarray)
 23752382                         al++;
<> 2383+#else
  2384+                while (arrt > BTMASK) {
  2385+                        if (ISARY(arrt) || ISFTN(arrt))
  2386+                                al++;
  2387+                        arrt = DECREF(arrt);
  2388+                }
  2389+#endif
<_23762390                 apole = apole->next;
 23772391                 argidx++;
 23782392         }
FishEye: Open Source License registered to PCC.
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-12-18 10:35 +0100