That may be the difference between "void f()" (where TYPE_ARG_TYPES
might be NULL) and "void f(...)" (where TREE_VALUE (TYPE_ARG_TYPES)
would be NULL). The latter, as Daniel says, is not valid C, but perhaps
we used to accept it.
"void f(...)" is how you refer to an old-style function definition in a
C++ `extern "C"' block. That is,
extern "C" void f1(...);
extern "C" void f2();
void g()
{
f1(5);
f2(5);
}
the call to f1 is valid and the one to f2 is not. I haven't check what
TYPE_ARG_TYPES is in these cases.
Paolo