I have committed all of the fixes that I had previously posted, but
before actually activating the warning option, I found another small
hiccup with the Bison 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, I made a patch to
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.)