Date: 7 Aug 2000 16:22:52 -0000 From: patrick@mindstep.com To: freefall-gnats@mindstep.com Subject: bin/20456: Ambiguous code construct in TCSH Message-ID: <20000807162252.88063.qmail@nitro.local.mindstep.com>
next in thread | raw e-mail | index | archive | help
>Number: 20456
>Category: bin
>Synopsis: Ambiguous code construct in TCSH
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Aug 07 09:20:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Patrick Bihan-Faou
>Release: FreeBSD 4.0-STABLE i386
>Organization:
MindStep Corporation
>Environment:
FreeBSD 4.x Stable build from source tree as of August 5, 2000
>Description:
CSH has been replaced by TCSH. While building TCSH during make world,
gcc complains about an ambiguous if/if/else construct:
cc -O3 -pipe -march=i586 -I/home/patrick/mindbox/freebsd/kernel/freebsd-src/bin/csh/../../contrib/tcsh -I/home/patrick/mindbox/freebsd/kernel/freebsd-src/bin/csh -I. -D_PATH_TCSHELL='"/home/patrick/mindbox/freebsd/kernel/tmpobj/home/patrick/mindbox/freebsd/kernel/freebsd-src/i386/bin/csh"' -Wall -Wformat -I/home/patrick/mindbox/freebsd/kernel/tmpobj/home/patrick/mindbox/freebsd/kernel/freebsd-src/i386/usr/include -c /home/patrick/mindbox/freebsd/kernel/freebsd-src/bin/csh/../../contrib/tcsh/sh.sem.c
/home/patrick/mindbox/freebsd/kernel/freebsd-src/bin/csh/../../contrib/tcsh/sh.sem.c: In function `execute':
/home/patrick/mindbox/freebsd/kernel/freebsd-src/bin/csh/../../contrib/tcsh/sh.sem.c:352: warning: suggest explicit braces to avoid ambiguous `else'
>How-To-Repeat:
cd /usr/src/bin/csh; make
>Fix:
The following patch for /usr/src/contrib/tcsh/sh.sem.c adds the necessary braces to fix the problem.
--- sh.sem.c.orig Mon Aug 7 12:09:32 2000
+++ sh.sem.c Mon Aug 7 12:21:20 2000
@@ -350,6 +350,7 @@
*/
(bifunc && (t->t_dflg & F_PIPEIN) != 0 &&
bifunc->bfunct == (bfunc_t)doeval))
+ {
#ifdef VFORK
if (t->t_dtyp == NODE_PAREN ||
t->t_dflg & (F_REPEAT | F_AMPERSAND) || bifunc)
@@ -586,6 +587,8 @@
}
#endif /* VFORK */
+ }
+
if (pid != 0) {
/*
* It would be better if we could wait for the whole job when we
>Release-Note:
>Audit-Trail:
>Unformatted:
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?20000807162252.88063.qmail>
