Re: [commit] Deprecate remaining STREQ uses

Daniel Jacobowitz
2003-11-24T16:50:51Z

On Mon, Nov 24, 2003 at 11:41:36AM -0500, Andrew Cagney wrote:
> >Date: Sun, 23 Nov 2003 15:34:51 -0500
> >>From: Andrew Cagney <cagney@gnu.org>
> >>
> >>This patch deprecates remaining STREQ and STREQ uses. These are the
> >>ones that weren't covered by my testing GDB on a stabs system. It is
> >>worth noting that the bulk occure in language specific files - this
> >>suggests an area that needs improved testsuite coverage.
> >
> >
> >Sorry, I don't get the rationale for renaming STR* into
> >DEPRECATED_STR*. Are we going to throw away the code that used
> >STREQN/STREQ? If not, I don't see any good reasons to do this, as
> >renaming the macro doesn't get us any closer to the goal of replacing
> >them with a simple call to the appropriate str* function.
> >
> >Could you please explain why the renaming is a good idea?

> Note that I'm renaming the _remaining_ STR*s and not all references. I
> previously went through GDB's source code and replaced every occurance
> of STREQ* that is covered(1) by GDB's testsuite (or was in #ifdef 0
> code). Since the before/after results were identical, I'm pretty sure
> those changes were ok.
>
> Unfortunatly that still leaves GDB containing a notable number of STREQ
> references:
...
> While I could blindly transform those remaining references, such an
> operation would be untested and consequently runs the very real risk of
> introducing bugs (remember my test run didn't cover them). Consequently
> they've been deprecated.

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.

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?

Or am I out in a corner by myself here?

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer