From 21ba4960834ad7eac3e757feb65b9a274e1d45fd Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sun, 19 Jan 2020 10:01:51 +0100 Subject: [PATCH 1/7] git: update ignores --- m4/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/m4/.gitignore b/m4/.gitignore index 12735327..608b5878 100644 --- a/m4/.gitignore +++ b/m4/.gitignore @@ -91,6 +91,7 @@ /locale_h.m4 /localtime-buffer.m4 /lock.m4 +/longlong.m4 /lstat.m4 /malloc.m4 /malloca.m4 From 27e822abfd0b336bf7ebbbb97b46e47752ca4663 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 18 Jan 2020 20:52:21 -0800 Subject: [PATCH 2/7] test: report.at: avoid tiny new failure Be robust to newer versions of Autoconf where the package URL defaults to https instead of http. * configure.ac (AC_INIT): Use https. * tests/report.at: Adjust expected output s/http/https/ to match updated URL. --- configure.ac | 4 +++- tests/report.at | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 235e7cc9..3f144cbc 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,9 @@ m4_pattern_allow([^BISON_USE_NLS$]) AC_INIT([GNU Bison], m4_esyscmd([build-aux/git-version-gen .tarball-version]), - [bug-bison@gnu.org]) + [bug-bison@gnu.org], + [], + [https://www.gnu.org/software/bison/]) AC_SUBST([PACKAGE_COPYRIGHT_YEAR], [2020]) AC_DEFINE_UNQUOTED([PACKAGE_COPYRIGHT_YEAR], [$PACKAGE_COPYRIGHT_YEAR], [The copyright year for this package]) diff --git a/tests/report.at b/tests/report.at index 1dfa6a3b..8d5ceafc 100644 --- a/tests/report.at +++ b/tests/report.at @@ -579,7 +579,7 @@ State 19 AT_CHECK([sed -e '1s/GNU Bison .*\.$/GNU Bison VERSION./' input.gv], [], [[// Generated by GNU Bison VERSION. // Report bugs to . -// Home page: . +// Home page: . digraph "input.yy" { @@ -673,7 +673,7 @@ digraph "input.yy" AT_CHECK([[sed -e 's/bison-xml-report version="[^"]*"/bison-xml-report version="VERSION"/g' input.xml]], [], [[ - + input.yy From 6990c5bde968ca756fb817ff8243d787ef9b35c3 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sun, 19 Jan 2020 11:29:27 +0100 Subject: [PATCH 3/7] warnings: pacify ICC in lalr1.cc See 139d0655947c87f90af08718618feaaca0e558d7. * data/skeletons/yacc.c: If I might be a char, write a[+I] instead of a[I], so that ICC does not complain. --- data/skeletons/lalr1.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/data/skeletons/lalr1.cc b/data/skeletons/lalr1.cc index 9036575b..1507122b 100644 --- a/data/skeletons/lalr1.cc +++ b/data/skeletons/lalr1.cc @@ -640,7 +640,7 @@ m4_if(b4_prefix, [yy], [], if (state == empty_state) return empty_symbol; else - return yystos_[state]; + return yystos_[+state]; } ]b4_parser_class[::stack_symbol_type::stack_symbol_type () @@ -866,7 +866,7 @@ b4_dollar_popdef])[]dnl `-----------*/ yybackup: // Try to take a decision without lookahead. - yyn = yypact_[yystack_[0].state]; + yyn = yypact_[+yystack_[0].state]; if (yy_pact_value_is_default_ (yyn)) goto yydefault; @@ -930,7 +930,7 @@ b4_dollar_popdef])[]dnl | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: - yyn = yydefact_[yystack_[0].state]; + yyn = yydefact_[+yystack_[0].state]; if (yyn == 0) goto yyerrlab; goto yyreduce; @@ -1057,7 +1057,7 @@ b4_dollar_popdef])[]dnl stack_symbol_type error_token; for (;;) { - yyn = yypact_[yystack_[0].state]; + yyn = yypact_[+yystack_[0].state]; if (!yy_pact_value_is_default_ (yyn)) { yyn += yy_error_token_; @@ -1166,13 +1166,13 @@ b4_dollar_popdef])[]dnl state_type top_state = (yylac_stack_.empty () ? yystack_[lac_top].state : yylac_stack_.back ()); - int yyrule = yypact_[top_state]; + int yyrule = yypact_[+top_state]; if (yy_pact_value_is_default_ (yyrule) || (yyrule += yytoken) < 0 || yylast_ < yyrule || yycheck_[yyrule] != yytoken) { // Use the default action. - yyrule = yydefact_[top_state]; + yyrule = yydefact_[+top_state]; if (yyrule == 0) { YYCDEBUG << " Err\n"; @@ -1345,7 +1345,7 @@ b4_error_verbose_if([state_type yystate, const symbol_type& yyla], yy_lac_check_ (yytoken); #endif]])[ - int yyn = yypact_[yystate]; + int yyn = yypact_[+yystate]; if (!yy_pact_value_is_default_ (yyn)) {]b4_lac_if([[ for (int yyx = 0; yyx < yyntokens_; ++yyx) From 61b8a8def5cafd3d6b70d4f5f8d14d067e8ac971 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Thu, 16 Jan 2020 06:29:25 +0100 Subject: [PATCH 4/7] CI: use ICC again See https://github.com/nemequ/icc-travis/issues/15. Thanks to Jeff Hammond and Evan Nemerson for their help. * configure.ac (warn_common): Disable dubious warnings. * .travis.yml: Use ICC again. --- .travis.yml | 16 ++++++++++++++++ THANKS | 2 ++ configure.ac | 30 +++++++++++++++++++++++++++++- 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index edca5f63..8d585843 100644 --- a/.travis.yml +++ b/.travis.yml @@ -119,6 +119,22 @@ jobs: - CXX='clang++-9 -fsanitize=address -stdlib=libc++' - PART=2 + - name: "ICC" + stage: check + os: linux + compiler: icc + env: + - CC=icc + - CXX=icpc + install: + - source /opt/intel/inteloneapi/compiler/latest/env/vars.sh + addons: + apt: + sources: + - sourceline: 'deb https://apt.repos.intel.com/oneapi all main' + key_url: 'https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB' + packages: + - intel-oneapi-icc ## ----- ## ## GCC. ## diff --git a/THANKS b/THANKS index 01c9246e..46de4dc2 100644 --- a/THANKS +++ b/THANKS @@ -60,6 +60,7 @@ Enrico Scholz enrico.scholz@informatik.tu-chemnitz.de Eric Blake ebb9@byu.net Eric S. Raymond esr@thyrsus.com Étienne Renault renault@lrde.epita.fr +Evan Nemerson evan@nemerson.com Evgeny Stambulchik fnevgeny@plasma-gate.weizmann.ac.il Fabrice Bauzac noon@cote-dazur.com Ferdinand Thiessen ferdinand@fthiessen.de @@ -79,6 +80,7 @@ Hans Åberg haberg-1@telia.com Horst Von Brand vonbrand@inf.utfsm.cl Jan Nieuwenhuizen janneke@gnu.org Jannick thirdedition@gmx.net +Jeff Hammond jeff_hammond@acm.org Jerry Quinn jlquinn@optonline.net Jesse Thilo jthilo@gnu.org Jim Kent jkent@arch.sel.sony.com diff --git a/configure.ac b/configure.ac index 3f144cbc..68c54a12 100644 --- a/configure.ac +++ b/configure.ac @@ -102,13 +102,41 @@ if test "$enable_gcc_warnings" = yes; then # -Wno-tautological-constant-out-of-range-compare for Clang 3.3 and # 3.4 on GNU/Linux that choke on intprops.h's INT_MULTIPLY_WRAPV, # etc. + # + # ICC: -wr188 + # + # 1669 warnings warnings_default = + # ../src/complain.c(318): error #188: enumerated type mixed with another type + # 1670 Wconflicts_sr | Wconflicts_rr | Wdeprecated | Wother; + # 1671 ^ + # 1672 + # 1673../src/complain.c(393): error #188: enumerated type mixed with another type + # 1674 warnings w = 1 << wbit; + # 1675 ^ + # + # ICC: -wr3179 + # + # char const *usefulness + # = rule_useless_in_grammar_p (&rules[r]) ? "useless-in-grammar" + # : rule_useless_in_parser_p (&rules[r]) ? "useless-in-parser" + # : "useful"; + # + # gives + # + # error #3179: deprecated conversion of string literal to char* (should be const char*) + # + # ICC: -wr2259 (that's in C, in spite of what the error messages which seems to be about C++). + # error #2259: non-pointer conversion from "int" to "yybool={signed char}" may lose significant bits + # yybool yynormal YY_ATTRIBUTE_UNUSED = yystackp->yysplitPoint == YY_NULLPTR; + # ^ warn_common='-Wall -Wextra -Wcast-align -Wchar-subscripts -fparse-all-comments -Wdocumentation -Wformat -Wimplicit-fallthrough -Wnull-dereference -Wno-sign-compare -Wno-tautological-constant-out-of-range-compare -Wpointer-arith -Wshadow - -Wwrite-strings' + -Wwrite-strings + -wr188 -wr2259 -wr3179' warn_c='-Wbad-function-cast -Wstrict-prototypes' warn_cxx='-Wextra-semi -Wnoexcept -Wold-style-cast -Wundefined-func-template -Wweak-vtables' From c8d997cb5fe380597ada946a4774f494d5f29a5b Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sun, 19 Jan 2020 14:10:46 +0100 Subject: [PATCH 5/7] news: update --- NEWS | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/NEWS b/NEWS index 8c8aba38..2a16f0f4 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,11 @@ GNU Bison NEWS * Noteworthy changes in release ?.? (????-??-??) [?] +** Bug fixes + + Portability fixes. + + Fix compiler warnings. * Noteworthy changes in release 3.5 (2019-12-11) [stable] From 57f64ebbf83c98e08fbfc5737d5b71878bbfd9e2 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sun, 19 Jan 2020 14:17:48 +0100 Subject: [PATCH 6/7] version 3.5.1 * NEWS: Record release date. --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 2a16f0f4..f00948b3 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ GNU Bison NEWS -* Noteworthy changes in release ?.? (????-??-??) [?] +* Noteworthy changes in release 3.5.1 (2020-01-19) [stable] ** Bug fixes From 7e3a513d886a3334f9fac66183cba3d67a0a7fdf Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sun, 19 Jan 2020 14:35:50 +0100 Subject: [PATCH 7/7] maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. --- .prev-version | 2 +- NEWS | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.prev-version b/.prev-version index 5a958026..d5c0c991 100644 --- a/.prev-version +++ b/.prev-version @@ -1 +1 @@ -3.5 +3.5.1 diff --git a/NEWS b/NEWS index f00948b3..e769199d 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,8 @@ GNU Bison NEWS +* Noteworthy changes in release ?.? (????-??-??) [?] + + * Noteworthy changes in release 3.5.1 (2020-01-19) [stable] ** Bug fixes