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

Reply via email to