This is the mail archive of the gdb-patches@sources.redhat.com 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]

Re: [commit] Deprecate remaining STREQ uses



Thank you for the details, Andrew, but you haven't answered Eli's
question. The answer to his question lies in the leap between "blindly
transform" and "Consequently" - why not just _leave_ them? DEPRECATED_STREQ is not an improvement over STREQ except for making
things uglier. We've even got the ARI to remind us; what you've
accomplished is shrinking the STREQ/STREQN column to zero at the
expense of raising the deprecated column even higher. If that was all
you wanted you could have done it in the ARI scripts.

David summarized the rationale nicely. Some additional data points are useful though:


- no one looks at the ARI
Looking at the last month of weekly web page summaries they range from:
2734 /gdb/
....
170 /gdb/current/
...
32 /ml/bug-gdb/2000-12/msg00014.html
but contain not one mention of the ARI (even though I refer to it regularly).


- no one should need to look at the ARI
GDB's code base should internally document the status of each interface. That way, when someone goes to hack on something its status is very clear. Contributors can look at a slab of code and know immediatly that there is a problem. Maintainers can review a patch and know where a deprecated interface is being used.


- it's more transparent
It's clearly far harder for me (and you) to let slip through patches that contain deprecated references.


You've been pushing very hard to renaming things to deprecated_foo for
a while now.  I think I'm not the only other maintainer who doesn't
understand or approve.  It's a lot of work for you; it generates large
patches and source churn; it causes patch rejects and merge errors for
other developers; and the rest of us don't see or agree on the benefit.
Isn't that the sort of thing which should be discussed instead of
implemented?

This isn't exactly new:


ChangeLog-1998: (struct frame_saved_regs): Deprecate.
ChangeLog-1998: (EXTRA_FRAME_INFO): Deprecate.
ChangeLog-1998: (get_frame_saved_regs): Deprecate. Copy the saved regs into the
ChangeLog-1998: * symfile.c (allocate_symtab): Deprecate use of
ChangeLog-1999: memory-write-packet-size''. Deprecate ``set remotepacketsize''.
ChangeLog-1999: print_transfer_performance. Deprecate.
ChangeLog-1999: deprecated gdb_file_init_astream().
ChangeLog-1999: * serial.h (DEPRECATED_SERIAL_FD): Define.
ChangeLog-1999: * serial.c (deprecated_serial_fd): New function.
ChangeLog-1999: * ui-out.c (struct ui_out): Remove deprecated fields.


With STREQ discussed:

ChangeLog-2000: * TODO: Mention ``extern'' and ``STREQ'' cleanups.
ChangeLog-2000: * defs.h (STREQ, STRCMP, STREQN): Document that these macros are
http://sources.redhat.com/ml/gdb-patches/2000-q1/msg00667.html
('m sure there's a second thread but can't find it).


only shame is that I didn't realse that GCOV could be used back then to test the change.

Andrew


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