mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
On AIX 7.2, when invoking "exit 77", we actually exit with 127. The "cleanup" function, called via trap, received an incorrect exit status, something described in Autoconf's doc. Reported by Bruno Haible. https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00029.html https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00047.html * examples/test (skip): New. * examples/c/bistromathic/bistromathic.test, * examples/c/reccalc/reccalc.test: Use it, to ensure $? is set to 77 when the trap is called.
60 lines
1.4 KiB
Bash
60 lines
1.4 KiB
Bash
#! /bin/sh
|
|
|
|
# Copyright (C) 2018-2020 Free Software Foundation, Inc.
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
(seq 0) >/dev/null 2>&1 || skip "gimme one seq"
|
|
|
|
cat >input <<EOF
|
|
1+2*3
|
|
EOF
|
|
run 0 '7'
|
|
|
|
cat >input <<EOF
|
|
(1+2) * 3
|
|
EOF
|
|
run 0 '9'
|
|
run -noerr 0 '9' -p
|
|
|
|
cat >input <<EOF
|
|
(((1)+(2))*((3)+(4)))
|
|
EOF
|
|
run 0 '21'
|
|
|
|
# Some really deep computation.
|
|
# for 4, gives 4 + (3 + (2 + (1 + (- (4 * (4 + 1)) / 2)))).
|
|
n=100
|
|
for i in $(seq 0 $n)
|
|
do
|
|
if [ "$i" -eq 0 ]; then
|
|
input="- ($n * ($n + 1)) / 2"
|
|
else
|
|
input="$i + ($input)"
|
|
fi
|
|
done
|
|
echo "$input" > input
|
|
run 0 '0'
|
|
|
|
cat >input <<EOF
|
|
() + ()
|
|
EOF
|
|
run 1 'err: syntax error, unexpected end-of-file, expecting + or - or number or string'
|
|
|
|
cat >input <<EOF
|
|
1 + $
|
|
EOF
|
|
run 1 'err: syntax error, invalid character: $
|
|
err: syntax error, unexpected end-of-line, expecting + or - or number or string'
|