Commit 926c5678 by Geoff Keating Committed by Geoffrey Keating

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
parent 69f4cc4b
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>
* c-decl.c (finish_function): Clear c_function_name_declared_p.
......
......@@ -264,9 +264,10 @@ higher_prime_number (n)
}
void
cpp_forall_identifiers (pfile, cb)
cpp_forall_identifiers (pfile, cb, v)
cpp_reader *pfile;
int (*cb) PARAMS ((cpp_reader *, cpp_hashnode *));
int (*cb) PARAMS ((cpp_reader *, cpp_hashnode *, void *));
void *v;
{
cpp_hashnode **p, **limit;
......@@ -275,7 +276,7 @@ cpp_forall_identifiers (pfile, cb)
do
{
if (*p)
if ((*cb) (pfile, *p) == 0)
if ((*cb) (pfile, *p, v) == 0)
break;
}
while (++p < limit);
......
......@@ -802,7 +802,10 @@ extern cpp_hashnode *cpp_lookup PARAMS ((cpp_reader *,
const unsigned char *, size_t));
extern void cpp_forall_identifiers PARAMS ((cpp_reader *,
int (*) PARAMS ((cpp_reader *,
cpp_hashnode *))));
cpp_hashnode *,
void *)),
void *));
/* In cppmacro.c */
extern void cpp_scan_buffer_nooutput PARAMS ((cpp_reader *));
extern void cpp_start_lookahead PARAMS ((cpp_reader *));
......
......@@ -42,7 +42,7 @@ int main PARAMS ((int, char **));
/* General output routines. */
static void scan_buffer 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 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 *));
const char *progname;
cpp_reader parse_in;
struct printer print;
static cpp_reader parse_in;
static struct printer print;
int
main (argc, argv)
......@@ -143,7 +143,7 @@ main (argc, argv)
/* -dM command line option. */
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_cleanup (pfile);
......@@ -429,9 +429,10 @@ do_pragma_implementation (pfile)
/* Dump out the hash table. */
static int
dump_macro (pfile, node)
dump_macro (pfile, node, v)
cpp_reader *pfile;
cpp_hashnode *node;
void *v ATTRIBUTE_UNUSED;
{
if (node->type == NT_MACRO && !(node->flags & NODE_BUILTIN))
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment