Merge remote-tracking branch 'origin/maint'

* origin/maint:
  skeletons: factor yacc.c and glr.c.
  glr.c: minor refactoring.
  tests: remove all the -On flags.
  maint: fix spello.
  maint: improve release procedure instructions.
  gnulib: update readme-release.
  maint: cfg.mk: manual title.
  maint: cfg.mk: simplify
  maint: post-release administrivia

Conflicts:
	NEWS
	bootstrap.conf
This commit is contained in:
Akim Demaille
2012-06-13 21:03:29 +02:00
11 changed files with 97 additions and 153 deletions

2
NEWS
View File

@@ -160,7 +160,7 @@ GNU Bison NEWS
This includes warnings with some compilers, unexpected behavior of tools This includes warnings with some compilers, unexpected behavior of tools
such as diff, warning messages from the test suite itself, etc. such as diff, warning messages from the test suite itself, etc.
*** The install-pdf target work properly: *** The install-pdf target works properly:
Running "make install-pdf" (or -dvi, -html, -info, and -ps) no longer Running "make install-pdf" (or -dvi, -html, -info, and -ps) no longer
halts in the middle of its course. halts in the middle of its course.

View File

@@ -258,25 +258,10 @@ copyright statement for each Bison file, check the copyright statements
that the skeletons insert into generated parsers, and check all that the skeletons insert into generated parsers, and check all
occurrences of PACKAGE_COPYRIGHT_YEAR in configure.ac. occurrences of PACKAGE_COPYRIGHT_YEAR in configure.ac.
** Update NEWS ** Update NEWS, commit and tag.
The version number, *and* the date of the release (including for See do-release-commit-and-tag in README-release.
betas).
** Mention the release name in a commit message ** make alpha, beta, or stable
Should have an entry similar to "Version 2.3b.".
** Tag the release
Before Bison will build with the right version number, you must tag
the release in git. Do this after all other changes. The command is
similar to:
git tag -a v2.3b -m "Bison 2.3b."
** Push
Once "make distcheck" passes, push your changes and the tag.
"git push" without arguments will not push the tag.
** make alpha, beta, or release
See README-release. See README-release.
** Upload ** Upload
@@ -297,8 +282,8 @@ where F125BDF3 should be replaced with your key ID.
*** Using gnupload *** Using gnupload
You need "ncftp". You need "ncftp".
At the end "make release" (or alpha/beta) will display the prodecure At the end "make stable" (or alpha/beta) will display the procedure to
to run. Just copy and paste it in your shell. run. Just copy and paste it in your shell.
*** By hand *** By hand
@@ -369,7 +354,8 @@ function 'index', once for the table of contents); you can ignore this
issue. issue.
** Announce ** Announce
To generate a template announcement file: The "make stable" (or alpha/beta) command just created a template,
$HOME/announce-bison-X.Y. Otherwise, to generate it, run:
make RELEASE_TYPE=alpha gpg_key_ID=F125BDF3 announcement make RELEASE_TYPE=alpha gpg_key_ID=F125BDF3 announcement
@@ -389,11 +375,12 @@ newsgroup by sending email to compilers@iecc.com. Do not make any Cc as
the moderator will throw away anything cross-posted or Cc'ed. It really the moderator will throw away anything cross-posted or Cc'ed. It really
needs to be a separate message. needs to be a separate message.
** Bump the version number ** Prepare NEWS
In configure.ac. Run "make". So that developers don't accidentally add new So that developers don't accidentally add new items to the old NEWS
items to the old NEWS entry, create a new empty NEWS entry something like: entry, create a new empty entry in line 3 (without the two leading
spaces):
Changes in version ?.? (????-??-??): * Noteworthy changes in release ?.? (????-??-??) [?]
Push these changes. Push these changes.

1
THANKS
View File

@@ -43,6 +43,7 @@ Frank Heckenbach frank@g-n-u.de
Frans Englich frans.englich@telia.com Frans Englich frans.englich@telia.com
Georg Sauthoff gsauthof@TechFak.Uni-Bielefeld.DE Georg Sauthoff gsauthof@TechFak.Uni-Bielefeld.DE
George Neuner gneuner2@comcast.net George Neuner gneuner2@comcast.net
Gilles Espinasse g.esp@free.fr
Goran Uddeborg goeran@uddeborg.se Goran Uddeborg goeran@uddeborg.se
Guido Trentalancia trentalg@aston.ac.uk Guido Trentalancia trentalg@aston.ac.uk
H. Merijn Brand h.m.brand@hccnet.nl H. Merijn Brand h.m.brand@hccnet.nl

View File

@@ -17,14 +17,13 @@
# gnulib modules used by this package. # gnulib modules used by this package.
gnulib_modules=' gnulib_modules='
announce-gen argmatch assert calloc-posix close closeout config-h c-strcase argmatch assert calloc-posix close closeout config-h c-strcase
configmake configmake
dirname dirname
do-release-commit-and-tag error extensions fdl fopen-safer getopt-gnu
error extensions fdl fopen-safer gendocs getopt-gnu
gettext git-version-gen gitlog-to-changelog gettext git-version-gen gitlog-to-changelog
gpl-3.0 hash inttypes isnan javacomp-script gpl-3.0 hash inttypes isnan javacomp-script
javaexec-script ldexpl maintainer-makefile malloc-gnu javaexec-script ldexpl malloc-gnu
mbswidth obstack perror progname mbswidth obstack perror progname
quote quotearg quote quotearg
readme-release readme-release

View File

@@ -23,3 +23,5 @@
/warn-on-use.h /warn-on-use.h
/ylwrap /ylwrap
/do-release-commit-and-tag /do-release-commit-and-tag
/gnu-web-doc-update
/gnupload

11
cfg.mk
View File

@@ -1,5 +1,4 @@
# Customize maint.mk -*- makefile -*- # Customize maint.mk -*- makefile -*-
# Copyright (C) 2008-2012 Free Software Foundation, Inc. # Copyright (C) 2008-2012 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@@ -15,6 +14,9 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# Used in maint.mk's web-manual rule
manual_title = The Yacc-compatible Parser Generator
# It's useful to run maintainer-*check* targets during development, but we # It's useful to run maintainer-*check* targets during development, but we
# don't want to wait on a recompile because of an update to $(VERSION). Thus, # don't want to wait on a recompile because of an update to $(VERSION). Thus,
# override the _is-dist-target from GNUmakefile so that maintainer-*check* # override the _is-dist-target from GNUmakefile so that maintainer-*check*
@@ -22,13 +24,6 @@
_is-dist-target = $(filter-out %clean maintainer-check% maintainer-%-check, \ _is-dist-target = $(filter-out %clean maintainer-check% maintainer-%-check, \
$(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS))) $(filter maintainer-% dist% alpha beta major,$(MAKECMDGOALS)))
# Use alpha.gnu.org for alpha and beta releases.
# Use ftp.gnu.org for major releases.
gnu_ftp_host-alpha = alpha.gnu.org
gnu_ftp_host-beta = alpha.gnu.org
gnu_ftp_host-major = ftp.gnu.org
gnu_rel_host = $(gnu_ftp_host-$(RELEASE_TYPE))
url_dir_list = \ url_dir_list = \
ftp://$(gnu_rel_host)/gnu/bison ftp://$(gnu_rel_host)/gnu/bison

View File

@@ -567,3 +567,40 @@ b4_locations_if([, yylocationp])[]b4_user_args[);
YYFPRINTF (yyoutput, ")"); YYFPRINTF (yyoutput, ")");
}]dnl }]dnl
]) ])
## -------------- ##
## Declarations. ##
## -------------- ##
# b4_declare_yylstype
# ------------------
# Declaration that might either go into the header (if --defines)
# or open coded in the parser body. Declare YYSTYPE and YYLTYPE.
m4_define([b4_declare_yylstype],
[[#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
]m4_ifdef([b4_stype],
[[typedef union ]b4_union_name[
{
]b4_user_stype[
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1]],
[m4_if(b4_tag_seen_flag, 0,
[[typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1]])])[
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif]b4_locations_if([[
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
} YYLTYPE;
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif]])
])

View File

@@ -162,6 +162,21 @@ m4_define([b4_rhs_location],
[(b4_rhs_data([$1], [$2]).yyloc)]) [(b4_rhs_data([$1], [$2]).yyloc)])
## -------------- ##
## Declarations. ##
## -------------- ##
# b4_shared_declarations
# ----------------------
# Declaration that might either go into the header (if --defines)
# or open coded in the parser body.
m4_define([b4_shared_declarations],
[b4_percent_code_get([[requires]])[
]b4_token_enums(b4_tokens)[
]b4_declare_yylstype[
]b4_percent_code_get([[provides]])[]dnl
])
## -------------- ## ## -------------- ##
## Output files. ## ## Output files. ##
@@ -191,47 +206,11 @@ m4_if(b4_prefix, [yy], [],
#define yylloc b4_prefix[]lloc])[ #define yylloc b4_prefix[]lloc])[
/* Copy the first part of user declarations. */ /* Copy the first part of user declarations. */
]b4_user_pre_prologue ]b4_user_pre_prologue[
b4_null_define ]b4_null_define[
dnl # b4_shared_declarations ]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
dnl # ----------------------
dnl # Declaration that might either go into the header (if --defines)
dnl # or open coded in the parser body.
m4_define([b4_shared_declarations],
[b4_percent_code_get([[requires]])[]dnl
b4_token_enums(b4_tokens)
[#ifndef YYSTYPE
]m4_ifdef([b4_stype],
[[typedef union ]b4_union_name[
{
]b4_user_stype[
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1]],
[m4_if(b4_tag_seen_flag, 0,
[[typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1]])])[
#endif
]b4_locations_if([[
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
} YYLTYPE;
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
]])[
]b4_percent_code_get([[provides]])[]dnl
])
b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
[b4_shared_declarations])[ [b4_shared_declarations])[
/* Enabling traces. */ /* Enabling traces. */

View File

@@ -160,9 +160,9 @@ m4_define([b4_rhs_location],
[(yylsp@{b4_subtract([$2], [$1])@})]) [(yylsp@{b4_subtract([$2], [$1])@})])
## ------------------ ## ## -------------- ##
## Parser variables. ## ## Declarations. ##
## ------------------ ## ## -------------- ##
# b4_declare_scanner_communication_variables # b4_declare_scanner_communication_variables
# ------------------------------------------ # ------------------------------------------
@@ -226,10 +226,9 @@ m4_define([b4_declare_parser_state_variables], [b4_pure_if([[
yytype_int16 *yyes; yytype_int16 *yyes;
YYSIZE_T yyes_capacity;]])]) YYSIZE_T yyes_capacity;]])])
## -------------- ##
## --------------------------------------------------------- ## ## Output files. ##
## Defining symbol actions, e.g., printers and destructors. ## ## -------------- ##
## --------------------------------------------------------- ##
# We do want M4 expansion after # for CPP macros. # We do want M4 expansion after # for CPP macros.
m4_changecom() m4_changecom()
@@ -288,37 +287,10 @@ m4_if(b4_prefix, [yy], [],
# define YYTOKEN_TABLE ]b4_token_table[ # define YYTOKEN_TABLE ]b4_token_table[
#endif #endif
]b4_percent_code_get([[requires]])[]dnl ]b4_percent_code_get([[requires]])[
]b4_token_enums_defines(b4_tokens)[
b4_token_enums_defines(b4_tokens)[ ]b4_declare_yylstype[
]b4_push_if([[
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
]m4_ifdef([b4_stype],
[[typedef union ]b4_union_name[
{
]b4_user_stype[
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1]],
[m4_if(b4_tag_seen_flag, 0,
[[typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1]])])[
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif]b4_locations_if([[
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
} YYLTYPE;
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif]])b4_push_if([[
#ifndef YYPUSH_DECLS #ifndef YYPUSH_DECLS
# define YYPUSH_DECLS # define YYPUSH_DECLS
struct yypstate; struct yypstate;
@@ -2008,40 +1980,10 @@ b4_copyright([Bison interface for Yacc-like parsers in C])dnl
b4_percent_code_get([[requires]])[]dnl b4_percent_code_get([[requires]])[]dnl
b4_token_enums_defines(b4_tokens) b4_token_enums_defines(b4_tokens)[
]b4_declare_yylstype[
[#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED ]b4_pure_if([], [[extern YYSTYPE ]b4_prefix[lval;
]m4_ifdef([b4_stype], ]b4_locations_if([[extern YYLTYPE ]b4_prefix[lloc;]])])dnl
[[typedef union ]b4_union_name[
{
]b4_user_stype[
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1]],
[m4_if(b4_tag_seen_flag, 0,
[[typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1]])])[
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
]b4_pure_if([], [[extern YYSTYPE ]b4_prefix[lval;]])
b4_locations_if(
[#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
} YYLTYPE;
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
]b4_pure_if([], [[extern YYLTYPE ]b4_prefix[lloc;]])
)dnl b4_locations_if
b4_push_if([[ b4_push_if([[
#ifndef YYPUSH_DECLS #ifndef YYPUSH_DECLS
# define YYPUSH_DECLS # define YYPUSH_DECLS

2
gnulib

Submodule gnulib updated: 338dd5d436...b42157dd01

View File

@@ -29,9 +29,11 @@ CPPFLAGS="-I$abs_top_builddir/lib @CPPFLAGS@"
# Is the compiler GCC? # Is the compiler GCC?
GCC='@GCC@' GCC='@GCC@'
# We want no optimization. # We want no optimization, as they uncover warnings (therefore,
O0CFLAGS=`echo '@CFLAGS@' | sed 's/-O[0-9] *//'` # failures) about uninitialized variables in the test suite. FIXME:
O0CXXFLAGS=`echo '@CXXFLAGS@' | sed 's/-O[0-9] *//'` # fix the warnings, not the flags.
O0CFLAGS=`echo '@CFLAGS@' | sed 's/-O[0-9s] *//g'`
O0CXXFLAGS=`echo '@CXXFLAGS@' | sed 's/-O[0-9s] *//g'`
# Sometimes a test group needs to ignore gcc warnings, so it locally # Sometimes a test group needs to ignore gcc warnings, so it locally
# sets CFLAGS to this. # sets CFLAGS to this.