pgsql: Include bison header files into implementation files - Mailing list pgsql-committers

From Peter Eisentraut
Subject pgsql: Include bison header files into implementation files
Date
Msg-id E1sZng4-002Jmh-3N@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Include bison header files into implementation files

Before Bison 3.4, the generated parser implementation files run afoul
of -Wmissing-variable-declarations (in spite of commit ab61c40bfa2)
because declarations for yylval and possibly yylloc are missing.  The
generated header files contain an extern declaration, but the
implementation files don't include the header files.  Since Bison 3.4,
the generated implementation files automatically include the generated
header files, so then it works.

To make this work with older Bison versions as well, include the
generated header file from the .y file.

(With older Bison versions, the generated implementation file contains
effectively a copy of the header file pasted in, so including the
header file is redundant.  But we know this works anyway because the
core grammar uses this arrangement already.)

Discussion: https://www.postgresql.org/message-id/flat/e0a62134-83da-4ba4-8cdb-ceb0111c95ce@eisentraut.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9fb855fe1ae04a147bd4cdaa571a1c9de5f03682

Modified Files
--------------
contrib/cube/cubeparse.y                | 8 +++++---
contrib/seg/segparse.y                  | 1 +
src/backend/bootstrap/bootparse.y       | 1 +
src/backend/replication/repl_gram.y     | 1 +
src/backend/replication/syncrep_gram.y  | 2 ++
src/interfaces/ecpg/preproc/ecpg.header | 1 +
src/pl/plpgsql/src/pl_gram.y            | 1 +
src/test/isolation/specparse.y          | 1 +
8 files changed, 13 insertions(+), 3 deletions(-)


pgsql-committers by date:

Previous
From: Thomas Munro
Date:
Subject: pgsql: Skip citext_utf8 test on Windows.
Next
From: Alvaro Herrera
Date:
Subject: pgsql: pg_createsubscriber: Fix bogus error message