From: Eric Gallager <egall@gwmail.gwu.edu>
To: Xi Ruoyao <xry111@xry111.site>
Cc: gcc-patches <gcc-patches@gcc.gnu.org>,
Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>,
Jonathan Wakely <jwakely@redhat.com>
Subject: Re: [PATCH v2 2/7] fixincludes: use grep instead of egrep/fgrep
Date: Mon, 27 Jun 2022 05:54:27 -0400 [thread overview]
Message-ID: <CAMfHzOsEwCs=nKwLd+OxC=B43aEHVM=7VnEd2c5Xbgi5dqPhMA@mail.gmail.com> (raw)
In-Reply-To: <7fb2f97f1bd0dacf2eab76849412c1dcda42874f.camel@xry111.site>
On Mon, Jun 27, 2022 at 2:10 AM Xi Ruoyao via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> 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 [ $# != 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=`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.18.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
So, this is kind of a tangent, but since GCC has migrated from SVN to
git, perhaps it's time to update this comment?
> *
> * You must regenerate it. Use the ./genfixes script.
> *
> @@ -6547,7 +6547,7 @@ static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
> * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
> */
> static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
> - "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
> + "\tdbl_max_def=`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_def@\"\n\
> \telse cat\n\
> @@ -10402,9 +10402,9 @@ tSCC zVxworks_Needs_VxworksSelect0[] =
> tSCC zVxworks_Needs_VxworksTest0[] =
> " -r types/vxTypesOld.h";
> tSCC zVxworks_Needs_VxworksTest1[] =
> - " -n \"`egrep '#include' $file`\"";
> + " -n \"`grep '#include' $file`\"";
> tSCC zVxworks_Needs_VxworksTest2[] =
> - " -n \"`egrep ULONG $file`\"";
> + " -n \"`grep ULONG $file`\"";
>
> #define VXWORKS_NEEDS_VXWORKS_TEST_CT 4
> static tTestDesc aVxworks_Needs_VxworksTests[] = {
> diff --git a/fixincludes/genfixes b/fixincludes/genfixes
> index 47aad01289d..3a4c05c832b 100755
> --- a/fixincludes/genfixes
> +++ b/fixincludes/genfixes
> @@ -58,7 +58,7 @@ done
> AG="autogen $AG"
> set -e
>
> -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 = {
> * If we do, we will replace the one in math.h with that one.
> */
>
> - "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h "
> + "\tdbl_max_def=`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"
> @@ -5266,8 +5266,8 @@ fix = {
> hackname = vxworks_needs_vxworks;
> files = sys/stat.h;
> test = " -r types/vxTypesOld.h";
> - test = " -n \"`egrep '#include' $file`\"";
> - test = " -n \"`egrep ULONG $file`\"";
> + test = " -n \"`grep '#include' $file`\"";
> + test = " -n \"`grep ULONG $file`\"";
> select = "#[ \t]define[ \t]+__INCstath";
>
> sed = "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n"
> --
> 2.36.1
>
>
next prev parent reply other threads:[~2022-06-27 9:54 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-27 6:04 [PATCH v2 0/7] Avoid using obsoleted egrep/fgrep Xi Ruoyao
2022-06-27 6:07 ` [PATCH v2 1/7] config: use $EGREP instead of egrep Xi Ruoyao
2022-07-05 0:58 ` Hans-Peter Nilsson
2022-07-08 3:46 ` Eric Gallager
2022-06-27 6:09 ` [PATCH v2 2/7] fixincludes: use grep instead of egrep/fgrep Xi Ruoyao
2022-06-27 9:54 ` Eric Gallager [this message]
2022-06-27 6:09 ` [PATCH v2 3/7] libbacktrace: use grep instead of fgrep Xi Ruoyao
2022-06-27 9:07 ` Jonathan Wakely
2022-06-27 20:00 ` Ian Lance Taylor
2022-06-27 6:10 ` [PATCH v2 4/7] fortran: " Xi Ruoyao
2023-05-10 19:29 ` Bernhard Reutner-Fischer
2023-05-10 20:02 ` Thomas Koenig
2023-05-11 9:01 ` Pushed: " Xi Ruoyao
2022-06-27 6:11 ` [PATCH v2 5/7] testsuite: stop using obsoleted egrep Xi Ruoyao
2022-06-27 6:50 ` Arnaud Charlet
2022-06-27 6:12 ` [PATCH v2 6/7] contrib: use grep -E instead of egrep Xi Ruoyao
2022-06-27 9:02 ` Jonathan Wakely
2022-06-27 6:14 ` [PATCH 7/7] libffi: Use $EGREP " Xi Ruoyao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAMfHzOsEwCs=nKwLd+OxC=B43aEHVM=7VnEd2c5Xbgi5dqPhMA@mail.gmail.com' \
--to=egall@gwmail.gwu.edu \
--cc=gcc-patches@gcc.gnu.org \
--cc=jwakely@redhat.com \
--cc=rep.dot.nop@gmail.com \
--cc=xry111@xry111.site \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).