Thread: CVS Head parser error?

CVS Head parser error?

From
Tatsuo Ishii
Date:
I got following with CVS Head parser. I'm using bison 2.1 and flex
2.5.35. Am I missing something?

make[3]: Entering directory `/usr/local/src/pgsql/current/pgsql/src/backend/parser'
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wendif-labels -fno-strict-aliasing -I. -I../../../src/include
-D_GNU_SOURCE  -c -o gram.o gram.c
 
In file included from gram.y:11211:
scan.c:14473: error: conflicting types for `base_yylex'
../../../src/include/parser/gramparse.h:122: error: previous declaration of `base_yylex'
scan.l: In function `base_yylex':
scan.l:354: error: `yylloc' undeclared (first use in this function)
scan.l:354: error: (Each undeclared identifier is reported only once
scan.l:354: error: for each function it appears in.)
scan.l:386: warning: implicit declaration of function `yyerror'
scan.l:404: error: `yylval' undeclared (first use in this function)
scan.l:448: error: too few arguments to function `ScanKeywordLookup'
scan.l:474: error: too few arguments to function `scanner_errposition'
scan.l:522: error: too few arguments to function `scanner_errposition'
scan.l:823: error: too few arguments to function `ScanKeywordLookup'
scan.l: At top level:
scan.l:864: error: conflicting types for `scanner_errposition'
../../../src/include/parser/gramparse.h:123: error: previous declaration of `scanner_errposition'
scan.l:889: warning: no previous prototype for `yyerror'
scan.l:889: warning: type mismatch with previous implicit declaration
scan.l:748: warning: previous implicit declaration of `yyerror'
scan.l:889: warning: `yyerror' was previously implicitly declared to return `int'
scan.l: In function `yyerror':
scan.l:890: error: `yylloc' undeclared (first use in this function)
scan.l: At top level:
scan.l:916: error: conflicting types for `scanner_init'
../../../src/include/parser/gramparse.h:119: error: previous declaration of `scanner_init'
scan.l:947: error: conflicting types for `scanner_finish'
../../../src/include/parser/gramparse.h:120: error: previous declaration of `scanner_finish'
scan.l: In function `check_unicode_value':
scan.l:1024: error: `yylloc' undeclared (first use in this function)
scan.l: In function `litbuf_udeescape':
scan.l:1041: error: `yylloc' undeclared (first use in this function)
scan.l: In function `check_string_escape_warning':
scan.l:1132: error: `yylloc' undeclared (first use in this function)
scan.l: In function `check_escape_warning':
scan.l:1157: error: `yylloc' undeclared (first use in this function)
make[3]: *** [gram.o] Error 1


Re: CVS Head parser error?

From
Tatsuo Ishii
Date:
Sorry for noise. I regenerated scan.c and gram.c and now everything
works fine.
--
Tatsuo Ishii
SRA OSS, Inc. Japan

> I got following with CVS Head parser. I'm using bison 2.1 and flex
> 2.5.35. Am I missing something?
> 
> make[3]: Entering directory `/usr/local/src/pgsql/current/pgsql/src/backend/parser'
> gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wendif-labels -fno-strict-aliasing -I. -I../../../src/include
-D_GNU_SOURCE  -c -o gram.o gram.c
 
> In file included from gram.y:11211:
> scan.c:14473: error: conflicting types for `base_yylex'
> ../../../src/include/parser/gramparse.h:122: error: previous declaration of `base_yylex'
> scan.l: In function `base_yylex':
> scan.l:354: error: `yylloc' undeclared (first use in this function)
> scan.l:354: error: (Each undeclared identifier is reported only once
> scan.l:354: error: for each function it appears in.)
> scan.l:386: warning: implicit declaration of function `yyerror'
> scan.l:404: error: `yylval' undeclared (first use in this function)
> scan.l:448: error: too few arguments to function `ScanKeywordLookup'
> scan.l:474: error: too few arguments to function `scanner_errposition'
> scan.l:522: error: too few arguments to function `scanner_errposition'
> scan.l:823: error: too few arguments to function `ScanKeywordLookup'
> scan.l: At top level:
> scan.l:864: error: conflicting types for `scanner_errposition'
> ../../../src/include/parser/gramparse.h:123: error: previous declaration of `scanner_errposition'
> scan.l:889: warning: no previous prototype for `yyerror'
> scan.l:889: warning: type mismatch with previous implicit declaration
> scan.l:748: warning: previous implicit declaration of `yyerror'
> scan.l:889: warning: `yyerror' was previously implicitly declared to return `int'
> scan.l: In function `yyerror':
> scan.l:890: error: `yylloc' undeclared (first use in this function)
> scan.l: At top level:
> scan.l:916: error: conflicting types for `scanner_init'
> ../../../src/include/parser/gramparse.h:119: error: previous declaration of `scanner_init'
> scan.l:947: error: conflicting types for `scanner_finish'
> ../../../src/include/parser/gramparse.h:120: error: previous declaration of `scanner_finish'
> scan.l: In function `check_unicode_value':
> scan.l:1024: error: `yylloc' undeclared (first use in this function)
> scan.l: In function `litbuf_udeescape':
> scan.l:1041: error: `yylloc' undeclared (first use in this function)
> scan.l: In function `check_string_escape_warning':
> scan.l:1132: error: `yylloc' undeclared (first use in this function)
> scan.l: In function `check_escape_warning':
> scan.l:1157: error: `yylloc' undeclared (first use in this function)
> make[3]: *** [gram.o] Error 1
> 
> -- 
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers


Re: CVS Head parser error?

From
Tom Lane
Date:
Tatsuo Ishii <ishii@postgresql.org> writes:
> I got following with CVS Head parser. I'm using bison 2.1 and flex
> 2.5.35. Am I missing something?

Hmm, are you sure that scan.c got remade?  I didn't check in detail, but
the errors look a bit like what would happen if the older scanner code
got recompiled against current headers.  I'd try "make maintainer-clean"
and start over before investing additional thought.
        regards, tom lane