1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-29 22:49:41 +03:00

Suppress "unused variable" warnings with older versions of flex.

Versions of flex before 2.5.36 might generate code that results in an
"unused variable" warning, when using %option reentrant.  Historically
we've worked around that by specifying -Wno-error, but that's an
unsatisfying solution.  The official "fix" for this was just to insert a
dummy reference to the variable, so write a small perl script that edits
the generated C code similarly.

The MSVC side of this is untested, but the buildfarm should soon reveal
if I broke that.

Discussion: https://postgr.es/m/25456.1487437842@sss.pgh.pa.us
This commit is contained in:
Tom Lane
2017-02-19 13:04:30 -05:00
parent a3dc8e495b
commit 65d508fd4d
6 changed files with 82 additions and 23 deletions

View File

@@ -20,12 +20,6 @@ OBJS= analyze.o gram.o scan.o parser.o \
include $(top_srcdir)/src/backend/common.mk
# Latest flex causes warnings in this file.
ifeq ($(GCC),yes)
scan.o: CFLAGS += -Wno-error
endif
# There is no correct way to write a rule that generates two files.
# Rules with two targets don't have that meaning, they are merely
# shorthand for two otherwise separate rules. To be safe for parallel
@@ -41,6 +35,7 @@ gram.c: BISON_CHECK_CMD = $(PERL) $(srcdir)/check_keywords.pl $< $(top_srcdir)/s
scan.c: FLEXFLAGS = -CF -p -p
scan.c: FLEX_NO_BACKUP=yes
scan.c: FLEX_FIX_WARNING=yes
# Force these dependencies to be known even without dependency info built: