diff options
author | Tom Tromey <tromey@redhat.com> | 2008-07-21 16:47:11 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2008-07-21 16:47:11 +0000 |
commit | 1698a906a2c14590f966fc5472ab18e47fb5eaee (patch) | |
tree | 4b315d23cc421077369d54f2c9faeaee2e516491 /gdb/observer.sh | |
parent | 6d3564d709d68aeaf68ccc711e45c970e5a0cce8 (diff) | |
download | gdb-1698a906a2c14590f966fc5472ab18e47fb5eaee.tar.gz |
gdb
* symfile.c (reread_symbols): Don't pass argument to observer.
* exec.c (exec_file_attach): Don't pass argument to observer.
* ada-lang.c (ada_executable_changed_observer): Remove argument.
* symtab.c (symtab_observer_executable_changed): Remove argument.
* observer.sh: Handle functions with no arguments.
gdb/doc
* observer.texi (GDB Observers): Remove obsolete comment.
<executable_changed>: Remove argument.
Diffstat (limited to 'gdb/observer.sh')
-rwxr-xr-x | gdb/observer.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gdb/observer.sh b/gdb/observer.sh index 2b2eb159cca..af32b98b313 100755 --- a/gdb/observer.sh +++ b/gdb/observer.sh @@ -123,8 +123,14 @@ EOF static struct observer_list *${event}_subject = NULL; +EOF + if test "$formal" != "void"; then + cat<<EOF >>${otmp} struct ${event}_args { `echo "${formal}" | sed -e 's/,/;/g'`; }; +EOF + fi + cat <<EOF >>${otmp} static void observer_${event}_notification_stub (const void *data, const void *args_data) { @@ -150,8 +156,17 @@ observer_detach_${event} (struct observer *observer) void observer_notify_${event} (${formal}) { +EOF + if test "$formal" != "void"; then + cat<<EOF >>${otmp} struct ${event}_args args; `echo ${actual} | sed -e 's/\([a-z0-9_][a-z0-9_]*\)/args.\1 = \1/g'`; + +EOF + else + echo "char *args = NULL;" >> ${otmp} + fi + cat<<EOF >>${otmp} if (observer_debug) fprintf_unfiltered (gdb_stdlog, "observer_notify_${event}() called\n"); generic_observer_notify (${event}_subject, &args); |