This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

src/gdb ChangeLog annotate.c annotate.h breakp ...


CVSROOT:	/cvs/src
Module name:	src
Changes by:	palves@sourceware.org	2013-01-22 20:19:40

Modified files:
	gdb            : ChangeLog annotate.c annotate.h breakpoint.c 
	gdb/testsuite  : ChangeLog 
	gdb/testsuite/gdb.base: annota1.exp 
	gdb/testsuite/gdb.cp: annota2.exp 

Log message:
	All annotate_breakpoints_changed calls are along-side
	observer_notify_breakpoints_changed calls.  All, except the
	init_raw_breakpoint one.  But that one is actually wrong.  The
	breakpoint is being constructed at that point, and hasn't been placed
	on the breakpoint chain yet.  It would be better placed in
	install_breakpoint, and I actually started out that way.  But once the
	annotate_breakpoints_changed are parallel to the observer calls, we
	can fully move annotations to observers too.
	
	One issue is that this changes the order of annotations a bit.
	Before, we'd emit the annotation, and after call "mention()" on the
	breakpoint (which prints the breakpoint number, etc.).  But, we call
	the observers _after_ mention is called, so the annotation output will
	change a little:
	
	void
	install_breakpoint (int internal, struct breakpoint *b, int update_gll)
	{
	add_to_breakpoint_chain (b);
	set_breakpoint_number (internal, b);
	if (is_tracepoint (b))
	set_tracepoint_count (breakpoint_count);
	if (!internal)
	mention (b);
	observer_notify_breakpoint_created (b);
	
	if (update_gll)
	update_global_location_list (1);
	}
	
	I believe this order doesn't really matter (the frontend needs to wait
	for the prompt anyway), so I just adjust the expected output in the
	tests.  Emacs in annotations mode doesn't seem to complain.  Couple
	that with the previous patch that suppressed duplicated annotations,
	and, the fact that some annotations calls were actually missing (were
	we do have observer calls), more changes to the tests are needed
	anyway.
	
	Tested on x86_64 Fedora 17.
	
	gdb/
	2013-01-22  Pedro Alves  <palves@redhat.com>
	
	* annotate.c (annotate_breakpoints_changed): Rename to ...
	(annotate_breakpoints_invalid): ... this.  Make static.
	(breakpoint_changed): Adjust.
	(_initialize_annotate): Always install the observers.  Install a
	"breakpoint_created" observer.
	* annotate.h (annotate_breakpoints_changed): Delete declaration.
	* breakpoint.c (set_breakpoint_condition)
	(breakpoint_set_commands, do_map_commands_command)
	(init_raw_breakpoint, clear_command, set_ignore_count)
	(enable_breakpoint_disp): No longer call
	annotate_breakpoints_changed.
	
	gdb/testsuite/
	2013-01-22  Pedro Alves  <palves@redhat.com>
	
	* gdb.base/annota1.exp (breakpoints_invalid): New variable.
	Adjust tests to breakpoints-invalid changes.
	* gdb.cp/annota2.exp (breakpoints_invalid, frames_invalid): New
	variables.
	Adjust tests to breakpoints-invalid changes.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.15056&r2=1.15057
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/annotate.c.diff?cvsroot=src&r1=1.31&r2=1.32
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/annotate.h.diff?cvsroot=src&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/breakpoint.c.diff?cvsroot=src&r1=1.737&r2=1.738
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.3525&r2=1.3526
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.base/annota1.exp.diff?cvsroot=src&r1=1.52&r2=1.53
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.cp/annota2.exp.diff?cvsroot=src&r1=1.28&r2=1.29


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]