mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-19 17:23:02 +00:00
Prefer signed types for indexes in skeletons
* NEWS: Mention this. * data/skeletons/c.m4 (b4_int_type): Prefer char if it will do, and prefer signed types to unsigned if either will do. * data/skeletons/glr.c (yy_reduce_print): No need to convert rule line to unsigned long. (yyrecoverSyntaxError): Put action into an int to avoid GCC warning of using a char subscript. * data/skeletons/lalr1.cc (yy_lac_check_, yysyntax_error_): Prefer ptrdiff_t to size_t. * data/skeletons/yacc.c (b4_int_type): Prefer signed types to unsigned if either will do. * data/skeletons/yacc.c (b4_declare_parser_state_variables): (YYSTACK_RELOCATE, YYCOPY, yy_lac_stack_realloc, yy_lac) (yytnamerr, yysyntax_error, yyparse): Prefer ptrdiff_t to size_t. (YYPTRDIFF_T, YYPTRDIFF_MAXIMUM): New macros. (YYSIZE_T): Fix "! defined YYSIZE_T" typo. (YYSIZE_MAXIMUM): Take the minimum of PTRDIFF_MAX and SIZE_MAX. (YYSIZEOF): New macro. (YYSTACK_GAP_MAXIMUM, YYSTACK_BYTES, YYSTACK_RELOCATE) (yy_lac_stack_realloc, yyparse): Use it. (YYCOPY, yy_lac_stack_realloc): Cast to YYSIZE_T to pacify GCC. (yy_reduce_print): Use int instead of unsigned long when int will do. (yy_lac_stack_realloc): Prefer long to unsigned long when either will do. * tests/regression.at: Adjust to these changes.
This commit is contained in:
committed by
Akim Demaille
parent
2ca6b71967
commit
4d9ff272cf
6
NEWS
6
NEWS
@@ -40,6 +40,12 @@ GNU Bison NEWS
|
||||
The Java backend no longer emits code and data for parser tracing if the
|
||||
%define variable parse.trace is not defined.
|
||||
|
||||
*** Templates prefer signed integer types
|
||||
|
||||
Bison templates now prefer signed to unsigned integer types when
|
||||
either will do, as the signed types are less error-prone and allow
|
||||
for better checking with 'gcc -fsanitize=undefined'.
|
||||
|
||||
* Noteworthy changes in release 3.4.2 (2019-09-12) [stable]
|
||||
|
||||
** Bug fixes
|
||||
|
||||
Reference in New Issue
Block a user