From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27153 invoked by alias); 25 Nov 2003 17:57:34 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 27145 invoked from network); 25 Nov 2003 17:57:33 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 25 Nov 2003 17:57:33 -0000 Received: from drow by nevyn.them.org with local (Exim 4.24 #1 (Debian)) id 1AOhRD-0005Z3-TK; Tue, 25 Nov 2003 12:57:23 -0500 Date: Tue, 25 Nov 2003 17:57:00 -0000 From: Daniel Jacobowitz To: Andrew Cagney Cc: David Carlton , Eli Zaretskii , gdb-patches@sources.redhat.com Subject: Re: [commit] Deprecate remaining STREQ uses Message-ID: <20031125175721.GA19157@nevyn.them.org> Mail-Followup-To: Andrew Cagney , David Carlton , Eli Zaretskii , gdb-patches@sources.redhat.com References: <3FC119EB.1060102@gnu.org> <3FC234C0.1000500@gnu.org> <2914-Mon24Nov2003212333+0200-eliz@elta.co.il> <3FC39747.2090007@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3FC39747.2090007@gnu.org> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-11/txt/msg00569.txt.bz2 On Tue, Nov 25, 2003 at 12:54:15PM -0500, Andrew Cagney wrote: > >On 25 Nov 2003 08:55:33 +0200, Eli Zaretskii said: > > > >>>From: David Carlton > >>>Date: Mon, 24 Nov 2003 12:06:24 -0800 > >>> > >>>I was thinking that just using keyboard macros might do the trick: > > > > > >>For such a simple job, it probably would. But c-macro-expand is more > >>trustworthy, IMHO: it actually runs cpp and has provisions for you to > >>specify the same compiler switches as are used during an actual > >>compilation, so you don't run a risk of missing some obscure #define > >>somewhere. > > > > > >Actually, in the case at hand, they would give different results, it > >turns out! The definition of STREQ isn't simply strcmp()==0 - there's > >an optimization (or "optimization", perhaps) there as well. > > You'll now appreciate my paranoia :-) > > So, should the transformation be the strictly mechanical inline expansion: > > STREQ(a,b) => (*(a) == *(b) ? !strcmp ((a), (b)) : 0) > > or also include a simplification leading to: > > STREQ(a,b) => (strcmp ((a), (b)) == 0) Personally, I recommend the latter - I think part of the motivation for eliminating STREQ was to get rid of that extra test, right? If you want to do this mechanically, you can just change the definition of STREQ first, of course. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer