Hi! > Le 30 oct. 2018 à 09:49, Kiyoshi KANAZAWA <yoi_no_myou...@yahoo.co.jp> a > écrit : > > Hello, > > make passed with bison-3.2.3-5d07f. > > But, make check fails as > FAIL: examples/calc++/calc++.test > 479: C++ GLR parser identifier shadowing FAILED (c++.at:1332) > > > calc++.log & 479/testsuite.log are attached.
Please, next time send tests/testsuite.log, like the final message of the testsuite asks. It will save mails exchanges to get details about your environment. Your calc++.log contains: ./examples/test[97]: .[64]: local: not found [No such file or directory] ./examples/test[97]: .[70]: local: not found [No such file or directory] ./examples/test[97]: .[73]: local: not found [No such file or directory] ./examples/test[97]: .[76]: local: not found [No such file or directory] ./examples/test[97]: .[79]: local: not found [No such file or directory] calc++: PASS: 1 so I will install this: commit ca8039e61279fcb1d15ae5333ef9007db85fd870 Author: Akim Demaille <akim.demai...@gmail.com> Date: Tue Oct 30 19:04:31 2018 +0100 tests: don't expect the shell to support 'local' It doesn't work on Solaris 11.3 x86/64. Reported by Kiyoshi Kanazawa. http://lists.gnu.org/archive/html/bug-bison/2018-10/msg00051.html * examples/test: Don't use 'local'. diff --git a/examples/test b/examples/test index 251307b0..96db4e7f 100755 --- a/examples/test +++ b/examples/test @@ -45,7 +45,7 @@ fi # ------- cleanup () { - local status=$? + status=$? if test -z "$DEBUG"; then cd $cwd rm -rf $$.dir @@ -61,22 +61,22 @@ cd $$.dir # -noerr: ignore stderr, otherwise merge it into effective output. run () { - local noerr=false + noerr=false case $1 in (-noerr) noerr=true; shift;; esac # Expected exit status. - local sta_exp="$1" + sta_exp=$1 shift # Expected output. - local out_exp="$1" + out_exp=$1 shift # Effective exit status. - local sta_eff=0 + sta_eff=0 $prog "$@" - <input >out_eff 2>err_eff || sta_eff=$? # Combine effective output and error streams. - local out_eff="$(cat out_eff && $noerr || sed -e 's/^/err: /g' err_eff)" + out_eff=$(cat out_eff && $noerr || sed -e 's/^/err: /g' err_eff) if test $sta_eff -eq $sta_exp; then if test "$out_eff" = "$out_exp"; then echo "$me: PASS: $number"