A question about TYPE_ARG_TYPES

Paolo Bonzini paolo.bonzini@lu.unisi.ch
Thu Jul 6 16:40:00 GMT 2006


> 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



More information about the Gcc mailing list