arn...@skeeve.com wrote: > Hi Jim et al. Here is the info w.r.t. the GCC for z/OS: > >> Date: Fri, 18 Nov 2011 12:22:58 -0700 >> From: Dave Pitts <dpi...@cozx.com> >> To: Aharon Robbins <arn...@skeeve.com> >> Subject: Re: gcc for z/OS >> >> On 11/12/2011 10:24 AM, Aharon Robbins wrote: >> > Hi. What's the status of GCC for z/OS? Is there a reason you don't >> > use it for building gawk? I suggested that the grep team stop using >> > declarations after statements because of z/OS, and got pointed back to >> > your page on z/OS GCC and the mvsgcc project. >> > >> > Thanks, >> > >> > Arnold >> >> This compiler IS NOT production quality. I stopped actively working on it >> about >> 5 years ago when IBM announced the s390 version of gcc with over 70 percent >> of >> my back end and didn't give me any credit for it.... The GCC people have >> since >> removed the older IBM support from the compiler line. The newer versions of >> IBM's native C compilers may support the inline declarations. I don't know, >> nor >> do I have the money to upgrade. My z/OS is pretty old now. > > So, while I can't force you, it would help me if dfa.c would keep all > it's declarations before all executable statements.
An old version of z/OS (i.e., lacking a new enough gcc) is not a reasonable portability target. This is insufficient justification to dumb-down the code, but in dfa.c, the impact is minimal, so I've made the changes there. >From ea1a3cbdf3cb751d0e862b4dcdd8cf449d9d944f Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Sat, 19 Nov 2011 22:04:13 +0100 Subject: [PATCH] maint: accommodate -Wdeclaration-after-statement, but only in dfa.c, and because doing so does not impact readability/maintainability. This is solely to accommodate gawk users who are stuck with ancient gcc. This is no excuse to change any other code in grep. * src/dfa.c (dfaoptimize, parse_bracket_exp): Move declaration to precede first statement in block. --- src/dfa.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/dfa.c b/src/dfa.c index dc87915..8db4aba 100644 --- a/src/dfa.c +++ b/src/dfa.c @@ -785,6 +785,7 @@ parse_bracket_exp (void) wint_t wc; wint_t wc2; + wint_t wc1 = 0; /* Work area to build a mb_char_classes. */ struct mb_char_classes *work_mbc; @@ -819,7 +820,6 @@ parse_bracket_exp (void) else invert = 0; - wint_t wc1 = 0; colon_warning_state = (c == ':'); do { @@ -3420,10 +3420,11 @@ dfainit (struct dfa *d) static void dfaoptimize (struct dfa *d) { + unsigned int i; + if (!MBS_SUPPORT || !using_utf8()) return; - unsigned int i; for (i = 0; i < d->tindex; ++i) { switch(d->tokens[i]) -- 1.7.8.rc2.3.g0911