1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-24 00:23:06 +03:00

Dept of second thoughts: rename new perl script.

It didn't take long at all for me to become irritated that the original
choice of name for this script resulted in "warning" showing up in several
places in build logs, because I tend to grep for that.  Change the script
name to avoid that.
This commit is contained in:
Tom Lane
2017-02-19 16:41:51 -05:00
parent 170511b30d
commit 5b3a2ca850
3 changed files with 6 additions and 6 deletions

View File

@@ -0,0 +1,65 @@
#!/usr/bin/perl -w
#----------------------------------------------------------------------
#
# fix-old-flex-code.pl
#
# flex versions before 2.5.36, with certain option combinations, produce
# code that causes an "unused variable" warning. That's annoying, so
# let's suppress it by inserting a dummy reference to the variable.
# (That's exactly what 2.5.36 and later do ...)
#
# Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
# src/tools/fix-old-flex-code.pl
#
#----------------------------------------------------------------------
use strict;
use warnings;
# Get command line argument.
usage() if $#ARGV != 0;
my $filename = shift;
# Suck in the whole file.
local $/ = undef;
my $cfile;
open($cfile, $filename) || die "opening $filename for reading: $!";
my $ccode = <$cfile>;
close($cfile);
# No need to do anything if it's not flex 2.5.x for x < 36.
exit 0 if $ccode !~ m/^#define YY_FLEX_MAJOR_VERSION 2$/m;
exit 0 if $ccode !~ m/^#define YY_FLEX_MINOR_VERSION 5$/m;
exit 0 if $ccode !~ m/^#define YY_FLEX_SUBMINOR_VERSION (\d+)$/m;
exit 0 if $1 >= 36;
# Apply the desired patch.
$ccode =~ s|(struct yyguts_t \* yyg = \(struct yyguts_t\*\)yyscanner; /\* This var may be unused depending upon options. \*/
.*?)
return yy_is_jam \? 0 : yy_current_state;
|$1
(void) yyg;
return yy_is_jam ? 0 : yy_current_state;
|s;
# Write the modified file back out.
open($cfile, ">$filename") || die "opening $filename for writing: $!";
print $cfile $ccode;
close($cfile);
exit 0;
sub usage
{
die <<EOM;
Usage: fix-old-flex-code.pl c-file-name
fix-old-flex-code.pl modifies a flex output file to suppress
an unused-variable warning that occurs with older flex versions.
Report bugs to <pgsql-bugs\@postgresql.org>.
EOM
}