Date: Tue, 19 Feb 2002 14:40:02 -0800 (PST) From: "Crist J. Clark" <cjc@FreeBSD.ORG> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/35119: make(1) variable modifier bug (:L, :U etc) Message-ID: <200202192240.g1JMe2L18033@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/35119; it has been noted by GNATS. From: "Crist J. Clark" <cjc@FreeBSD.ORG> To: "Simon 'corecode' Schubert" <corecode@corecode.ath.cx> Cc: bug-followup@FreeBSD.ORG Subject: Re: bin/35119: make(1) variable modifier bug (:L, :U etc) Date: Tue, 19 Feb 2002 14:33:41 -0800 On Tue, Feb 19, 2002 at 12:50:02PM -0800, Simon 'corecode' Schubert wrote: > On Tue, 19 Feb 2002 16:47:38 +0100 (CET) stijn@win.tue.nl wrote: > > > make(1) has a buglet wrt expanding variables with modifiers. If an > > expansion of an undefined variable, with a modifier, is used in an .if > > statement like so: > > > > .if defined(FOO) && ${FOO:L} == "bar" > > > > make bombs out with a 'Malformed conditional', even if FOO is not > > defined. > > i believe this is already known. make processes all statements on an .if line, no matter if this is needed or not (unlike most other languages): The problem is that this behavior contradicts the documented behavior. make(1) says, As in C, make will only evaluate a conditional as far as is necessary to determine its value. But as you say, this is known behavior, PR bin/34032. A patch is included in that PR's audit trail. Would the submitter please check if that patch solve's his problems? I'm looking to commit that soon, but not 100% sure the logic is totally sound. Another successful test would help. Thanks. I will close up this PR as a duplicate. -- Crist J. Clark | cjclark@alum.mit.edu | cjclark@jhu.edu http://people.freebsd.org/~cjc/ | cjc@freebsd.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200202192240.g1JMe2L18033>