home *** CD-ROM | disk | FTP | other *** search
- #include <ansidecl.h>
-
- #ifdef __STDC__
- #include <stddef.h>
- #define clock_t unsigned long
- #define DEF(NAME, RETURN_TYPE, ARGLIST, ARGS) extern RETURN_TYPE NAME (ARGS);
- #define DEFFUNC(NAME, RETURN_TYPE, ARGLIST, ARGS) extern RETURN_TYPE NAME (ARGS);
- #else
- #define void int
- #define size_t unsigned long
- #define clock_t unsigned long
- #define DEF(NAME, RETURN_TYPE, ARGLIST, ARGS) extern RETURN_TYPE NAME ();
- #define DEFFUNC(NAME, RETURN_TYPE, ARGLIST, ARGS) extern RETURN_TYPE NAME ();
- #endif
-
- #define DEFVAR(NAME,DECL,USE) extern DECL;
-
- #define NOTHING /*nothing*/
-
- #include "alloca-conf.h"
- #include "functions.def"
-
- /* Always use our: getopt.o getopt1.o obstack.o spaces.o */
-
- int
- main (argc, argv)
- int argc; char **argv;
- {
-
- /* Create a dummy function call for each DEF-defined function. */
-
- #undef DEF
- #undef DEFVAR
- #undef DEFFUNC
- #undef AND
- #define AND = 0;
- /* ARGS expands into a set of declaration. NAME ARG_LIST expands
- info a function call that uses those variables as actual parameters.
- If the function has been DEF'ed correctly, we can pass the right
- number and types of parameters, which is nice. (E.g. gcc may
- otherwise complain about the wrong number of parameters to certain
- builtins.) */
- #define DEF(NAME, RETURN_TYPE, ARG_LIST, ARGS) { ARGS; NAME ARG_LIST; }
- #define DEFVAR(NAME, DECL, USE) { USE; }
- #define DEFFUNC(NAME, RETURN_TYPE, ARG_LIST, ARGS) { ARGS; NAME ARG_LIST; }
- #include "functions.def"
-
- return (0);
- }
-