From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from xry111.site (xry111.site [89.208.246.23]) by sourceware.org (Postfix) with ESMTPS id CA15E385740D for ; Mon, 27 Jun 2022 06:09:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CA15E385740D Received: from [192.168.124.21] (unknown [113.140.11.126]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-384) server-digest SHA384) (Client did not present a certificate) (Authenticated sender: xry111@xry111.site) by xry111.site (Postfix) with ESMTPSA id 9E93766807; Mon, 27 Jun 2022 02:09:08 -0400 (EDT) Message-ID: <7fb2f97f1bd0dacf2eab76849412c1dcda42874f.camel@xry111.site> Subject: [PATCH v2 2/7] fixincludes: use grep instead of egrep/fgrep From: Xi Ruoyao To: gcc-patches@gcc.gnu.org Cc: Rainer Orth , Arnaud Charlet , Bernhard Reutner-Fischer , Jonathan Wakely Date: Mon, 27 Jun 2022 14:09:06 +0800 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.2 MIME-Version: 1.0 X-Spam-Status: No, score=-6.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FROM_SUSPICIOUS_NTLD, GIT_PATCH_0, LIKELY_SPAM_FROM, RCVD_IN_BARRACUDACENTRAL, SPF_HELO_PASS, SPF_PASS, TXREP, T_PDS_OTHER_BAD_TLD, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jun 2022 06:09:12 -0000 egrep/fgrep has been deprecated in favor of grep -E/-F for a long time, and the next grep release (3.8 or 4.0) will print a warning if egrep or fgrep is used. Stop using egrep and fgrep so we won't see the warning. But, we can't simply replace egrep to grep -E or fgrep to grep -F or the build will break with some non-GNU grep implementations (lacking -E or -F support). autoconf documentation suggests to use AC_PROG_EGREP and $EGREP or AC_PROG_FGREP and FGREP, but doing so is too complicated for fixincludes. So we simply adjust the patterns for a plain grep, instead of relying on the behavior of grep -E/-F. Q: Why "[ \t][ \t]*" instead of "[ \t]\\+"? A: POSIX does not allow escaping + in BRE. fixincludes/ChangeLog: * fixinc.in: Use grep instead of egrep. * inclhack.def: Use grep instead of egrep, and adjust an regular expression to make it a BRE. * genfixes: Use grep instead of egrep, and escape "." in the pattern. * fixincl.x: Regenerate. --- fixincludes/fixinc.in | 2 +- fixincludes/fixincl.x | 10 +++++----- fixincludes/genfixes | 2 +- fixincludes/inclhack.def | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/fixincludes/fixinc.in b/fixincludes/fixinc.in index 0bd8027a554..a4cd3d0fbb4 100755 --- a/fixincludes/fixinc.in +++ b/fixincludes/fixinc.in @@ -448,7 +448,7 @@ while [ $# !=3D 0 ]; do chmod a+r $3 2>/dev/null if test $VERBOSE -gt 2 then echo Copied $2 ; fi - for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' $3 | + for include in `grep '^[ ]*#[ ]*include[ ]*"[^/]' $3 | sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'` do dir=3D`echo $2 | sed -e s'|/[^/]*$||'` diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index bad490453b7..c9b4cf504f2 100644 --- a/fixincludes/fixincl.x +++ b/fixincludes/fixincl.x @@ -2,11 +2,11 @@ * * DO NOT EDIT THIS FILE (fixincl.x) * - * It has been AutoGen-ed February 27, 2022 at 07:47:03 PM by AutoGen 5.1= 8.16 + * It has been AutoGen-ed June 25, 2022 at 12:44:14 PM by AutoGen 5.18.16 * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Sun Feb 27 19:47:03 UTC 2022 +/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Jun 25 12:44:14 CST 2022 * * You must regenerate it. Use the ./genfixes script. * @@ -6547,7 +6547,7 @@ static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = =3D { * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max */ static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] =3D { "sh", "-c", - "\tdbl_max_def=3D`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's= /.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\ + "\tdbl_max_def=3D`grep 'define[ \t][ \t]*DBL_MAX[ \t][ \t]*.*' float.h= | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\ \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\ \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_de= f@\"\n\ \telse cat\n\ @@ -10402,9 +10402,9 @@ tSCC zVxworks_Needs_VxworksSelect0[] =3D tSCC zVxworks_Needs_VxworksTest0[] =3D " -r types/vxTypesOld.h"; tSCC zVxworks_Needs_VxworksTest1[] =3D - " -n \"`egrep '#include' $file`\""; + " -n \"`grep '#include' $file`\""; tSCC zVxworks_Needs_VxworksTest2[] =3D - " -n \"`egrep ULONG $file`\""; + " -n \"`grep ULONG $file`\""; =20 #define VXWORKS_NEEDS_VXWORKS_TEST_CT 4 static tTestDesc aVxworks_Needs_VxworksTests[] =3D { diff --git a/fixincludes/genfixes b/fixincludes/genfixes index 47aad01289d..3a4c05c832b 100755 --- a/fixincludes/genfixes +++ b/fixincludes/genfixes @@ -58,7 +58,7 @@ done AG=3D"autogen $AG" set -e =20 -if [ -z "`${AG} -v | fgrep ' 5.'`" ] +if [ -z "`${AG} -v | grep ' 5\.'`" ] then echo "AutoGen appears to be out of date or not correctly installed." echo "Please download and install from:" diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 7605ac89aa2..080bbc010dc 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -3274,7 +3274,7 @@ fix =3D { * If we do, we will replace the one in math.h with that one. */ =20 - "\tdbl_max_def=3D`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h " + "\tdbl_max_def=3D`grep 'define[ \t][ \t]*DBL_MAX[ \t][ \t]*.*' float.h= " "| sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n" =20 "\tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n" @@ -5266,8 +5266,8 @@ fix =3D { hackname =3D vxworks_needs_vxworks; files =3D sys/stat.h; test =3D " -r types/vxTypesOld.h"; - test =3D " -n \"`egrep '#include' $file`\""; - test =3D " -n \"`egrep ULONG $file`\""; + test =3D " -n \"`grep '#include' $file`\""; + test =3D " -n \"`grep ULONG $file`\""; select =3D "#[ \t]define[ \t]+__INCstath"; =20 sed =3D "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n" --=20 2.36.1