Path: utzoo!utgpu!water!watmath!clyde!att!whuts!homxb!hound!rkl1 From: rkl1@hound.UUCP (K.LAUX) Newsgroups: comp.lang.c Subject: Re: Undeclared function arguments Message-ID: <2686@hound.UUCP> Date: 16 Oct 88 17:30:42 GMT References: <13168@dhw68k.cts.com> Distribution: na Organization: AT&T Bell Laboratories, Holmdel Lines: 22 YYBACK (i, m) int i; { ... } The reason that 'm' was not declared was that the body of the function did not reference the variable at all *AND* it was the last parameter in the formal argument list. Since arguments are pushed on the stack from *right* to *left*, there was no need to know its size. It would be a different case if: YYBACK (i, m, n) and only i and n were referenced because now the compiler would *have* to know the size of m in order to correctly reference n on the stack. --rkl