Thread: New warnings in plgsql/src/scan.l
I see new warnings in the generation of plpgsql's scanner: /usr/bin/flex -Pplpgsql_base_yy -o'/pg/source/00orig/src/pl/plpgsql/src/pl_scan.c' /pg/source/00orig/src/pl/plpgsql/src/scan.l /pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the character range [-ÿ] is ambiguous in a case-insensitive scanner /pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the character range [-ÿ] is ambiguous in a case-insensitive scanner /pg/source/00orig/src/pl/plpgsql/src/scan.l:320: warning, the character range [-ÿ] is ambiguous in a case-insensitive scanner I think those have to do with E'' handling changes. I remember there were similar problems in the main scanner as well some time ago, not sure about the resolution. -- Alvaro Herrera (<alvherre[a]surnet.cl>) "I personally became interested in Linux while I was dating an English major who wouldn't know an operating system if it walked up and bit him." (Val Henson)
Alvaro Herrera wrote: > I see new warnings in the generation of plpgsql's scanner: > > /usr/bin/flex -Pplpgsql_base_yy > -o'/pg/source/00orig/src/pl/plpgsql/src/pl_scan.c' > /pg/source/00orig/src/pl/plpgsql/src/scan.l > /pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the > character range [-ÿ] is ambiguous in a case-insensitive scanner This warning has existed in one from or another ever since the latest flex version is in use. For example, 7.4 shows it as well. I don't think we have to do anything (except rewrite PL/pgSQL's parser, which is somehow planned (or hoped for) anyway). -- Peter Eisentraut http://developer.postgresql.org/~petere/
On Mon, Jul 04, 2005 at 06:51:48PM +0200, Peter Eisentraut wrote: > Alvaro Herrera wrote: > > I see new warnings in the generation of plpgsql's scanner: > > > > /usr/bin/flex -Pplpgsql_base_yy > > -o'/pg/source/00orig/src/pl/plpgsql/src/pl_scan.c' > > /pg/source/00orig/src/pl/plpgsql/src/scan.l > > /pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the > > character range [-ÿ] is ambiguous in a case-insensitive scanner > > This warning has existed in one from or another ever since the latest > flex version is in use. Really? Hmm, maybe the issue is that my system "upgraded itself." I see flex is at 2.5.31 ATM, not sure how to find out when it was upgraded. (But then maybe I'm wrong about those warnings being new; maybe they were usually drowned in the noise of "tsort input having a loop", or something like that, that I've never cared to shut up.) -- Alvaro Herrera (<alvherre[a]surnet.cl>) "This is a foot just waiting to be shot" (Andrew Dunstan)
Alvaro Herrera <alvherre@surnet.cl> writes: > On Mon, Jul 04, 2005 at 06:51:48PM +0200, Peter Eisentraut wrote: >> This warning has existed in one from or another ever since the latest >> flex version is in use. > Really? Hmm, maybe the issue is that my system "upgraded itself." I > see flex is at 2.5.31 ATM, not sure how to find out when it was > upgraded. 2.5.31 is known broken; our only response to problems with it is "use 2.5.4". regards, tom lane
Peter Eisentraut <peter_e@gmx.net> writes: > Alvaro Herrera wrote: >> I see new warnings in the generation of plpgsql's scanner: >> >> /usr/bin/flex -Pplpgsql_base_yy >> -o'/pg/source/00orig/src/pl/plpgsql/src/pl_scan.c' >> /pg/source/00orig/src/pl/plpgsql/src/scan.l >> /pg/source/00orig/src/pl/plpgsql/src/scan.l:198: warning, the >> character range [-�] is ambiguous in a case-insensitive scanner > This warning has existed in one from or another ever since the latest > flex version is in use. For example, 7.4 shows it as well. I don't > think we have to do anything (except rewrite PL/pgSQL's parser, which > is somehow planned (or hoped for) anyway). The warnings are pointing at uses of "identifier" and similar. I think it's probably unhappy that we are writing things like ident_start [A-Za-z\200-\377_] along with '%option case-insensitive'. However this doesn't strike me as ambiguous, merely redundant ... It may also be important to invoke flex in C locale --- I seem to recall some previous discussion to the effect that its idea of "case insensitive" depends on the build-time locale. regards, tom lane