Ohne diese Aenderungen wird

struct interface {
        struct interface *next; /* Linked list pointer */
        void (*recv)();         /* Routine to kick to process input */
};

void
keep_things_going()
{
        struct interface *ifp;
        (*ifp->recv)(ifp);
}

nicht richtig compiliert, da er mit dem void nicht klar kommt - void
durch int ersetzt funktioniert, doch mit void findet er den
entsprechenden OP-Code nicht, da der compiler an dieser Stelle kein
void erkennt bzw. erkannte und eine Art "Fallback-OP-Code" waehlte.
Das fuehrte zum Abbruch des Compilers. Der Fix behebt dieses Problem.
This commit is contained in:
Oliver Lehmann 2009-07-29 06:58:16 +00:00
parent 7cecb37211
commit 56908bd33a
2 changed files with 1 additions and 3 deletions

View File

@ -1689,9 +1689,7 @@ register char *p; /* pointer to name */
continue; continue;
case 'v': case 'v':
/* later..
i |= TVOID; i |= TVOID;
*/
continue; continue;
case 'u': case 'u':

View File

@ -99,7 +99,7 @@ DCOST :1;
'CALL'[cucsus] C,F {$1 $A} " callr CL\nZc" ; 'CALL'[cucsus] C,F {$1 $A} " callr CL\nZc" ;
'CALL'[lulpf] C,F {$P $1 $A} " callr CL\nZc" ; 'CALL'[lulpf] C,F {$P $1 $A} " callr CL\nZc" ;
'CALL'[d] C,F {$Q $1 $A} " callr CL\nZc" ; 'CALL'[d] C,F {$Q $1 $A} " callr CL\nZc" ;
'CALL'[cucsus] R,F {$1 $< $A} " callr @CL\nZc" ; 'CALL'[cucsusv] R,F {$1 $< $A} " callr @CL\nZc" ;
'CALL'[lulpf] R,F {$P $1 $< $A} " callr @CL\nZc" ; 'CALL'[lulpf] R,F {$P $1 $< $A} " callr @CL\nZc" ;
'CALL'[d] R,F {$Q $1 $< $A} " callr @CL\nZc" ; 'CALL'[d] R,F {$Q $1 $< $A} " callr @CL\nZc" ;
'CALL' R,F {$N $A} " callr @CL\nZc" ; 'CALL' R,F {$N $A} " callr @CL\nZc" ;