From owner-svn-src-head@freebsd.org Tue May 22 20:23:02 2018 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8F17EEAE53B; Tue, 22 May 2018 20:23:02 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mailout.stack.nl (mailout05.stack.nl [IPv6:2001:610:1108:5010::202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.stack.nl", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 290D187C28; Tue, 22 May 2018 20:23:02 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from toad2.stack.nl (toad2.stack.nl [IPv6:2001:610:1108:5010::161]) by mailout.stack.nl (Postfix) with ESMTP id 0038F33; Tue, 22 May 2018 22:22:59 +0200 (CEST) Received: by toad2.stack.nl (Postfix, from userid 1677) id EB90F892B2; Tue, 22 May 2018 22:22:59 +0200 (CEST) Date: Tue, 22 May 2018 22:22:59 +0200 From: Jilles Tjoelker To: "O. Hartmann" Cc: Cy Schubert , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, David Wolfskill , bdrewery@FreeBSD.org Subject: Re: svn commit: r334008 - head/bin/sh Message-ID: <20180522202259.GA44110@stack.nl> References: <20180522061339.2149763e@freyja.zeit4.iv.bundesimmobilien.de> <201805220445.w4M4jroR019550@slippy.cwsent.com> <20180522101737.52e76c0f@freyja.zeit4.iv.bundesimmobilien.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180522101737.52e76c0f@freyja.zeit4.iv.bundesimmobilien.de> User-Agent: Mutt/1.9.4 (2018-02-28) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 May 2018 20:23:02 -0000 On Tue, May 22, 2018 at 10:17:41AM +0200, O. Hartmann wrote: > On Mon, 21 May 2018 21:45:53 -0700 > Cy Schubert wrote: > > In message <20180522061339.2149763e@freyja.zeit4.iv.bundesimmobilien.de> > > , "O. H > > artmann" writes: > > > On Mon, 21 May 2018 21:52:48 +0000 (UTC) > > > Jilles Tjoelker wrote: > > > > Author: jilles > > > > Date: Mon May 21 21:52:48 2018 > > > > New Revision: 334008 > > > > URL: https://svnweb.freebsd.org/changeset/base/334008 > > > > Log: > > > > sh: Split CNL syntax category to avoid a check on state[level].syntax > > > > No functional change is intended. > > > > Modified: > > > > head/bin/sh/mksyntax.c > > > > head/bin/sh/parser.c > [snip] > > > Have this been tested? Doesn't compile for me: > > > [...] > > > Building /usr/obj/usr/src/amd64.amd64/kerberos5/libexec/hprop/hprop > > > --- all_subdir_rescue --- > > > --- parser.o --- > > > /usr/src/bin/sh/parser.c:1440:9: error: use of undeclared identifier 'CQNL' > > > case CQNL: > > > ^ > > > --- all_subdir_gnu --- > > > Building /usr/obj/usr/src/amd64.amd64/gnu/usr.bin/gdb/libgdb/amd64bsd-nat.o > > > --- all_subdir_rescue --- > > > 1 error generated. > > > *** [parser.o] Error code 1 > > > make[6]: stopped in /usr/src/bin/sh > > CQNL is defined in /usr/obj/opt/src/svn-current/amd64.amd64/bin/sh/synta > > x.h, generated by mksyntax. > > slippy$ ag -s CQNL /export/obj/opt/src/svn-current/amd64.amd64/bin/sh/*. > > h > > /export/obj/opt/src/svn-current/amd64.amd64/bin/sh/syntax.h > > 11:#define CQNL 2 /* newline character in quotes */ > > slippy$ > > Remove the file if it's not defined in your syntax.h. > > Just out of interest, do you use meta mode? > I think such a question is of common interest if errors/bugs like that occur: > Yes, I use/compile world/kernel with META mode. The change itself is fine. It built for me and for Jenkins (ci.freebsd.org). What is not fine is an incremental build with meta mode. Apparently, the syntax.h: .NOMETA rule added in r301285 causes bmake to build some files against the old syntax.h, even though syntax.c and syntax.h will be rebuilt. To fix this, it may be possible to generate a meta file for syntax.h based on the one for syntax.c. The same would be done for builtins.[ch] and nodes.[ch]. Conceptually simpler is accepting what make would like: one command generates one file only. This is not really new with meta mode since a somewhat ugly .ORDER declaration had been necessary before. The .c content can go inside a #ifdef in the .h file so the .c file need not be autogenerated, or the tools can be run twice, once to generate the .c file and once to generate the .h file. In both cases, the tools will be somewhat uglier in order to simplify the build system. -- Jilles Tjoelker