gdb: remove callback in macro expand functions
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 3 Jul 2020 00:38:25 +0000 (20:38 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Sat, 4 Jul 2020 02:27:08 +0000 (22:27 -0400)
commit211d5b1c18eb96459289e17b58e91fad46708173
tree9167b6d775563b6970d1d0c9a5b36b4d4197de94
parent889d527eb43c90cc37e757a3cddd0837c3fd9dd9
gdb: remove callback in macro expand functions

I started to look into changing the callbacks in macroexp.h to use
gdb::function_view.  However, I noticed that the passed lookup function
was always `standard_macro_lookup`, which looks up a macro in a
`macro_scope` object.  Since that doesn't look like a very useful
abstraction, it would be simpler to just pass the scope around and have
the various functions call standard_macro_lookup themselves.  This is
what this patch does.

gdb/ChangeLog:

* macroexp.h (macro_lookup_ftype): Remove.
(macro_expand, macro_expand_once, macro_expand_next): Remove
lookup function parameters, add scope parameter.
* macroexp.c (scan, substitute_args, expand, maybe_expand,
macro_expand, macro_expand_once, macro_expand_next): Likewise.
* macroscope.h (standard_macro_lookup): Change parameter type
to macro_scope.
* macroscope.c (standard_macro_lookup): Likewise.
* c-exp.y (lex_one_token): Update.
* macrocmd.c (macro_expand_command): Likewise.
(macro_expand_once_command): Likewise.

Change-Id: Id2431b1489359e1b0274dc2b81e5ea5d225d730c
gdb/ChangeLog
gdb/c-exp.y
gdb/macrocmd.c
gdb/macroexp.c
gdb/macroexp.h
gdb/macroscope.c
gdb/macroscope.h