aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-10-29 07:07:20 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-10-29 07:07:20 +0000
commit926c56780f0725ea270127d42ac9f5daffeb2a96 (patch)
tree41e02b5b0c1c221b225bef780afa91428da07398 /gcc
parent69f4cc4b9e763cc09896613a3fdd1659384d9869 (diff)
downloadgcc-926c56780f0725ea270127d42ac9f5daffeb2a96.zip
gcc-926c56780f0725ea270127d42ac9f5daffeb2a96.tar.gz
gcc-926c56780f0725ea270127d42ac9f5daffeb2a96.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/cpphash.c7
-rw-r--r--gcc/cpplib.h5
-rw-r--r--gcc/cppmain.c11
4 files changed, 25 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a31aed1..7e6f098 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
* c-decl.c (finish_function): Clear c_function_name_declared_p.
diff --git a/gcc/cpphash.c b/gcc/cpphash.c
index 1c7366d..50172d1 100644
--- a/gcc/cpphash.c
+++ b/gcc/cpphash.c
@@ -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);
diff --git a/gcc/cpplib.h b/gcc/cpplib.h
index eecd867..747ff18 100644
--- a/gcc/cpplib.h
+++ b/gcc/cpplib.h
@@ -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 *));
diff --git a/gcc/cppmain.c b/gcc/cppmain.c
index fc58f6a..3304c15 100644
--- a/gcc/cppmain.c
+++ b/gcc/cppmain.c
@@ -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))
{