cpphash.c (cpp_forall_identifiers): Add context variable for callback routine.

* cpphash.c (cpp_forall_identifiers): Add context variable
	for callback routine.
	* cppmain.c (dump_macro): Update to match cpp_forall_identifiers
	change.
	(main): Call cpp_forall_identifiers with null context.
	* cpplib.h (cpp_forall_identifiers): Update prototype.

	* cppmain.c: Make `parse_in' and `print' static.

From-SVN: r37119
This commit is contained in:
Geoff Keating 2000-10-29 07:07:20 +00:00 committed by Geoffrey Keating
parent 69f4cc4b9e
commit 926c56780f
4 changed files with 25 additions and 9 deletions

View File

@ -1,3 +1,14 @@
2000-10-28 Geoffrey Keating <geoffk@cygnus.com>
* cpphash.c (cpp_forall_identifiers): Add context variable
for callback routine.
* cppmain.c (dump_macro): Update to match cpp_forall_identifiers
change.
(main): Call cpp_forall_identifiers with null context.
* cpplib.h (cpp_forall_identifiers): Update prototype.
* cppmain.c: Make `parse_in' and `print' static.
2000-10-28 Alan Modra <alan@linuxcare.com.au> 2000-10-28 Alan Modra <alan@linuxcare.com.au>
* c-decl.c (finish_function): Clear c_function_name_declared_p. * c-decl.c (finish_function): Clear c_function_name_declared_p.

View File

@ -264,9 +264,10 @@ higher_prime_number (n)
} }
void void
cpp_forall_identifiers (pfile, cb) cpp_forall_identifiers (pfile, cb, v)
cpp_reader *pfile; cpp_reader *pfile;
int (*cb) PARAMS ((cpp_reader *, cpp_hashnode *)); int (*cb) PARAMS ((cpp_reader *, cpp_hashnode *, void *));
void *v;
{ {
cpp_hashnode **p, **limit; cpp_hashnode **p, **limit;
@ -275,7 +276,7 @@ cpp_forall_identifiers (pfile, cb)
do do
{ {
if (*p) if (*p)
if ((*cb) (pfile, *p) == 0) if ((*cb) (pfile, *p, v) == 0)
break; break;
} }
while (++p < limit); while (++p < limit);

View File

@ -802,7 +802,10 @@ extern cpp_hashnode *cpp_lookup PARAMS ((cpp_reader *,
const unsigned char *, size_t)); const unsigned char *, size_t));
extern void cpp_forall_identifiers PARAMS ((cpp_reader *, extern void cpp_forall_identifiers PARAMS ((cpp_reader *,
int (*) PARAMS ((cpp_reader *, int (*) PARAMS ((cpp_reader *,
cpp_hashnode *)))); cpp_hashnode *,
void *)),
void *));
/* In cppmacro.c */ /* In cppmacro.c */
extern void cpp_scan_buffer_nooutput PARAMS ((cpp_reader *)); extern void cpp_scan_buffer_nooutput PARAMS ((cpp_reader *));
extern void cpp_start_lookahead PARAMS ((cpp_reader *)); extern void cpp_start_lookahead PARAMS ((cpp_reader *));

View File

@ -42,7 +42,7 @@ int main PARAMS ((int, char **));
/* General output routines. */ /* General output routines. */
static void scan_buffer PARAMS ((cpp_reader *)); static void scan_buffer PARAMS ((cpp_reader *));
static int printer_init PARAMS ((cpp_reader *)); static int printer_init PARAMS ((cpp_reader *));
static int dump_macro PARAMS ((cpp_reader *, cpp_hashnode *)); static int dump_macro PARAMS ((cpp_reader *, cpp_hashnode *, void *));
static void print_line PARAMS ((const char *)); static void print_line PARAMS ((const char *));
static void maybe_print_line PARAMS ((unsigned int)); static void maybe_print_line PARAMS ((unsigned int));
@ -62,8 +62,8 @@ static void cb_def_pragma PARAMS ((cpp_reader *));
static void do_pragma_implementation PARAMS ((cpp_reader *)); static void do_pragma_implementation PARAMS ((cpp_reader *));
const char *progname; const char *progname;
cpp_reader parse_in; static cpp_reader parse_in;
struct printer print; static struct printer print;
int int
main (argc, argv) main (argc, argv)
@ -143,7 +143,7 @@ main (argc, argv)
/* -dM command line option. */ /* -dM command line option. */
if (CPP_OPTION (pfile, dump_macros) == dump_only) if (CPP_OPTION (pfile, dump_macros) == dump_only)
cpp_forall_identifiers (pfile, dump_macro); cpp_forall_identifiers (pfile, dump_macro, NULL);
cpp_finish (pfile); cpp_finish (pfile);
cpp_cleanup (pfile); cpp_cleanup (pfile);
@ -429,9 +429,10 @@ do_pragma_implementation (pfile)
/* Dump out the hash table. */ /* Dump out the hash table. */
static int static int
dump_macro (pfile, node) dump_macro (pfile, node, v)
cpp_reader *pfile; cpp_reader *pfile;
cpp_hashnode *node; cpp_hashnode *node;
void *v ATTRIBUTE_UNUSED;
{ {
if (node->type == NT_MACRO && !(node->flags & NODE_BUILTIN)) if (node->type == NT_MACRO && !(node->flags & NODE_BUILTIN))
{ {