From owner-cvs-all Wed Sep 18 8:34:46 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CAA7737B401; Wed, 18 Sep 2002 08:34:44 -0700 (PDT) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3714C43E42; Wed, 18 Sep 2002 08:34:44 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.12.5/8.12.4) with ESMTP id g8IFYhPQ085924; Wed, 18 Sep 2002 08:34:43 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.5/8.12.4/Submit) id g8IFYhFP085923; Wed, 18 Sep 2002 08:34:43 -0700 (PDT) (envelope-from dillon) Date: Wed, 18 Sep 2002 08:34:43 -0700 (PDT) From: Matthew Dillon Message-Id: <200209181534.g8IFYhFP085923@apollo.backplane.com> To: Bruce Evans Cc: Juli Mallett , cvs-committers@FreeBSD.ORG, Subject: Re: cvs commit: src/usr.bin/make Makefile arch.c compat.c cond.c dir.c for.c job.c make.c make.h parse.c suff.c targ.c var.c References: <20020918221316.I15381-100000@gamplex.bde.org> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG As much as I usually disagree with BDE when it comes to maintaining portability (aka on prototypes), I consider the var-args MACRO(...) feature a travesty that should be avoided at least for another few years. IMHO. I recommend using the trick KASSERT uses instead of using a var-args macro. It isn't as pretty but you get the same result. -Matt : :On Tue, 17 Sep 2002, Juli Mallett wrote: : :> * De: Juli Mallett [ Data: 2002-09-17 ] :> [ Subjecte: cvs commit: src/usr.bin/make Makefile arch.c compat.c cond.c dir.c for.c job.c make.c make.h parse.c suff.c targ.c var.c ] :> > jmallett 2002/09/17 15:31:27 PDT :> > :> > Modified files: :> > usr.bin/make Makefile arch.c compat.c cond.c dir.c :> > for.c job.c make.c make.h parse.c suff.c :> > targ.c var.c :> > Log: :> > Move common use of if (DEBUG(FOO)) printf... to DEBUGF(FOO, ...), using :> > variable length arguments to a macro. Bump version as this makes DEBUG :> > statements *always* go to stderr rather than sometimes stdout. There are :> > a few stragglers, which I will take care of as soon as I can. Mostly these :> > relate to the need-for-death-of some of the remote job code. : :This greatly unportabilizes make. Now it can't be compiled by C compilers :(C90). : :> Someone who has a good idea for how to stubify this macro in the BOOTSTRAPPING :> case, please let me know. My solutions fail on using enum { DIR } because DIR :> is an stdio type. : :The best solution is to write portable code. : :`make' was compileable with a C compiler almost perfectly yesterday, :although it couldn't quite work. Compilation probably depended on my :local hack to avoid hard-coded long longs and/or gccism's in standard :.. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message