On 07/18/2014 10:29 PM, Paolo Bonzini wrote: > Il 18/07/2014 19:52, Oliver Schneider ha scritto: >> Hi, >> >> I happened to be working on an ancient Redhat system with GCC 2.96 and >> got the following error: >> >> gcc -DHAVE_CONFIG_H -I. -I.. -I../lib -I.. -I../lib -g -O2 -MT >> regex.o -MD -MP -MF .deps/regex.Tpo -c -o regex.o regex.c >> In file included from regex.c:71: >> regcomp.c: In function `init_word_char': >> regcomp.c:958: parse error before `int' >> regcomp.c:971: `i' undeclared (first use in this function) >> regcomp.c:971: (Each undeclared identifier is reported only once >> regcomp.c:971: for each function it appears in.) >> regcomp.c:983: `ch' undeclared (first use in this function) >> regcomp.c:994: `j' undeclared (first use in this function) >> >> The problem turns out to be the fact that a statement comes before the >> variable declarations on line 957. >> >> ----------------------- >> $ diff -u lib/regcomp.c lib/regcomp.c-patched |tee regcomp.c.patch >> --- lib/regcomp.c 2012-12-22 13:21:52.000000000 +0000 >> +++ lib/regcomp.c-patched 2014-07-18 17:42:24.000000000 +0000 >> @@ -954,10 +954,10 @@ >> internal_function >> init_word_char (re_dfa_t *dfa) >> { >> - dfa->word_ops_used = 1; >> int i = 0; >> int j; >> int ch = 0; >> + dfa->word_ops_used = 1; >> if (BE (dfa->map_notascii == 0, 1)) >> { >> bitset_word_t bits0 = 0x00000000; >> ----------------------- >> >> Affected version: sed-4.2.2 >> >> This was the only issue I ran into, so I guess it should be fixed since >> there is no apparent good reason to break backwards compatibility >> because of a single line. > > Thanks for the report, I'm forwarding to bug-gnulib since the > lib/regcomp.c file comes from gnulib. > > Paolo > >> With best regards, >> >> // Oliver >> >> PS: patch also attached, but I'm not sure where this mail is going and >> whether it will get stripped :)
That's been fixed for quite a while now: http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=585a8dcf5 thanks, Pádraig.