1 #! /bin/sh 2 # Generated from ../../../tests/local.at by GNU Autoconf 2.69. 3 # 4 # Copyright (C) 2009-2012 Free Software Foundation, Inc. 5 # 6 # This test suite is free software; the Free Software Foundation gives 7 # unlimited permission to copy, distribute and modify it. 8 ## -------------------- ## 9 ## M4sh Initialization. ## 10 ## -------------------- ## 11 12 # Be more Bourne compatible 13 DUALCASE=1; export DUALCASE # for MKS sh 14 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : 15 emulate sh 16 NULLCMD=: 17 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which 18 # is contrary to our usage. Disable this feature. 19 alias -g '${1+"$@"}'='"$@"' 20 setopt NO_GLOB_SUBST 21 else 22 case `(set -o) 2>/dev/null` in #( 23 *posix*) : 24 set -o posix ;; #( 25 *) : 26 ;; 27 esac 28 fi 29 30 31 as_nl=' 32 ' 33 export as_nl 34 # Printing a long string crashes Solaris 7 /usr/bin/printf. 35 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 36 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo 37 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo 38 # Prefer a ksh shell builtin over an external printf program on Solaris, 39 # but without wasting forks for bash or zsh. 40 if test -z "$BASH_VERSION$ZSH_VERSION" \ 41 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then 42 as_echo='print -r --' 43 as_echo_n='print -rn --' 44 elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then 45 as_echo='printf %s\n' 46 as_echo_n='printf %s' 47 else 48 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then 49 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' 50 as_echo_n='/usr/ucb/echo -n' 51 else 52 as_echo_body='eval expr "X$1" : "X\\(.*\\)"' 53 as_echo_n_body='eval 54 arg=$1; 55 case $arg in #( 56 *"$as_nl"*) 57 expr "X$arg" : "X\\(.*\\)$as_nl"; 58 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; 59 esac; 60 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" 61 ' 62 export as_echo_n_body 63 as_echo_n='sh -c $as_echo_n_body as_echo' 64 fi 65 export as_echo_body 66 as_echo='sh -c $as_echo_body as_echo' 67 fi 68 69 # The user is always right. 70 if test "${PATH_SEPARATOR+set}" != set; then 71 PATH_SEPARATOR=: 72 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { 73 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || 74 PATH_SEPARATOR=';' 75 } 76 fi 77 78 79 # IFS 80 # We need space, tab and new line, in precisely that order. Quoting is 81 # there to prevent editors from complaining about space-tab. 82 # (If _AS_PATH_WALK were called with IFS unset, it would disable word 83 # splitting by setting IFS to empty value.) 84 IFS=" "" $as_nl" 85 86 # Find who we are. Look in the path if we contain no directory separator. 87 as_myself= 88 case $0 in #(( 89 *[\\/]* ) as_myself=$0 ;; 90 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 91 for as_dir in $PATH 92 do 93 IFS=$as_save_IFS 94 test -z "$as_dir" && as_dir=. 95 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break 96 done 97 IFS=$as_save_IFS 98 99 ;; 100 esac 101 # We did not find ourselves, most probably we were run as `sh COMMAND' 102 # in which case we are not to be found in the path. 103 if test "x$as_myself" = x; then 104 as_myself=$0 105 fi 106 if test ! -f "$as_myself"; then 107 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 108 exit 1 109 fi 110 111 # Unset variables that we do not need and which cause bugs (e.g. in 112 # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" 113 # suppresses any "Segmentation fault" message there. '((' could 114 # trigger a bug in pdksh 5.2.14. 115 for as_var in BASH_ENV ENV MAIL MAILPATH 116 do eval test x\${$as_var+set} = xset \ 117 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : 118 done 119 PS1='$ ' 120 PS2='> ' 121 PS4='+ ' 122 123 # NLS nuisances. 124 LC_ALL=C 125 export LC_ALL 126 LANGUAGE=C 127 export LANGUAGE 128 129 # CDPATH. 130 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 131 132 if test "x$CONFIG_SHELL" = x; then 133 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : 134 emulate sh 135 NULLCMD=: 136 # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which 137 # is contrary to our usage. Disable this feature. 138 alias -g '\${1+\"\$@\"}'='\"\$@\"' 139 setopt NO_GLOB_SUBST 140 else 141 case \`(set -o) 2>/dev/null\` in #( 142 *posix*) : 143 set -o posix ;; #( 144 *) : 145 ;; 146 esac 147 fi 148 " 149 as_required="as_fn_return () { (exit \$1); } 150 as_fn_success () { as_fn_return 0; } 151 as_fn_failure () { as_fn_return 1; } 152 as_fn_ret_success () { return 0; } 153 as_fn_ret_failure () { return 1; } 154 155 exitcode=0 156 as_fn_success || { exitcode=1; echo as_fn_success failed.; } 157 as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } 158 as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } 159 as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } 160 if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : 161 162 else 163 exitcode=1; echo positional parameters were not saved. 164 fi 165 test x\$exitcode = x0 || exit 1 166 test -x / || exit 1" 167 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO 168 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO 169 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && 170 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 171 test \$(( 1 + 1 )) = 2 || exit 1" 172 if (eval "$as_required") 2>/dev/null; then : 173 as_have_required=yes 174 else 175 as_have_required=no 176 fi 177 if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : 178 179 else 180 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 181 as_found=false 182 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH 183 do 184 IFS=$as_save_IFS 185 test -z "$as_dir" && as_dir=. 186 as_found=: 187 case $as_dir in #( 188 /*) 189 for as_base in sh bash ksh sh5; do 190 # Try only shells that exist, to save several forks. 191 as_shell=$as_dir/$as_base 192 if { test -f "$as_shell" || test -f "$as_shell.exe"; } && 193 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : 194 CONFIG_SHELL=$as_shell as_have_required=yes 195 if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : 196 break 2 197 fi 198 fi 199 done;; 200 esac 201 as_found=false 202 done 203 $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && 204 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : 205 CONFIG_SHELL=$SHELL as_have_required=yes 206 fi; } 207 IFS=$as_save_IFS 208 209 210 if test "x$CONFIG_SHELL" != x; then : 211 export CONFIG_SHELL 212 # We cannot yet assume a decent shell, so we have to provide a 213 # neutralization value for shells without unset; and this also 214 # works around shells that cannot unset nonexistent variables. 215 # Preserve -v and -x to the replacement shell. 216 BASH_ENV=/dev/null 217 ENV=/dev/null 218 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV 219 case $- in # (((( 220 *v*x* | *x*v* ) as_opts=-vx ;; 221 *v* ) as_opts=-v ;; 222 *x* ) as_opts=-x ;; 223 * ) as_opts= ;; 224 esac 225 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} 226 # Admittedly, this is quite paranoid, since all the known shells bail 227 # out after a failed `exec'. 228 $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 229 exit 255 230 fi 231 232 if test x$as_have_required = xno; then : 233 $as_echo "$0: This script requires a shell more modern than all" 234 $as_echo "$0: the shells that I found on your system." 235 if test x${ZSH_VERSION+set} = xset ; then 236 $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" 237 $as_echo "$0: be upgraded to zsh 4.3.4 or later." 238 else 239 $as_echo "$0: Please tell bug-autoconf (at] gnu.org about your system, 240 $0: including any error possibly output before this 241 $0: message. Then install a modern shell, or manually run 242 $0: the script under such a shell if you do have one." 243 fi 244 exit 1 245 fi 246 fi 247 fi 248 SHELL=${CONFIG_SHELL-/bin/sh} 249 export SHELL 250 # Unset more variables known to interfere with behavior of common tools. 251 CLICOLOR_FORCE= GREP_OPTIONS= 252 unset CLICOLOR_FORCE GREP_OPTIONS 253 254 ## --------------------- ## 255 ## M4sh Shell Functions. ## 256 ## --------------------- ## 257 # as_fn_unset VAR 258 # --------------- 259 # Portably unset VAR. 260 as_fn_unset () 261 { 262 { eval $1=; unset $1;} 263 } 264 as_unset=as_fn_unset 265 266 # as_fn_set_status STATUS 267 # ----------------------- 268 # Set $? to STATUS, without forking. 269 as_fn_set_status () 270 { 271 return $1 272 } # as_fn_set_status 273 274 # as_fn_exit STATUS 275 # ----------------- 276 # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. 277 as_fn_exit () 278 { 279 set +e 280 as_fn_set_status $1 281 exit $1 282 } # as_fn_exit 283 284 # as_fn_mkdir_p 285 # ------------- 286 # Create "$as_dir" as a directory, including parents if necessary. 287 as_fn_mkdir_p () 288 { 289 290 case $as_dir in #( 291 -*) as_dir=./$as_dir;; 292 esac 293 test -d "$as_dir" || eval $as_mkdir_p || { 294 as_dirs= 295 while :; do 296 case $as_dir in #( 297 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( 298 *) as_qdir=$as_dir;; 299 esac 300 as_dirs="'$as_qdir' $as_dirs" 301 as_dir=`$as_dirname -- "$as_dir" || 302 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ 303 X"$as_dir" : 'X\(//\)[^/]' \| \ 304 X"$as_dir" : 'X\(//\)$' \| \ 305 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || 306 $as_echo X"$as_dir" | 307 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ 308 s//\1/ 309 q 310 } 311 /^X\(\/\/\)[^/].*/{ 312 s//\1/ 313 q 314 } 315 /^X\(\/\/\)$/{ 316 s//\1/ 317 q 318 } 319 /^X\(\/\).*/{ 320 s//\1/ 321 q 322 } 323 s/.*/./; q'` 324 test -d "$as_dir" && break 325 done 326 test -z "$as_dirs" || eval "mkdir $as_dirs" 327 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" 328 329 330 } # as_fn_mkdir_p 331 332 # as_fn_executable_p FILE 333 # ----------------------- 334 # Test if FILE is an executable regular file. 335 as_fn_executable_p () 336 { 337 test -f "$1" && test -x "$1" 338 } # as_fn_executable_p 339 # as_fn_append VAR VALUE 340 # ---------------------- 341 # Append the text in VALUE to the end of the definition contained in VAR. Take 342 # advantage of any shell optimizations that allow amortized linear growth over 343 # repeated appends, instead of the typical quadratic growth present in naive 344 # implementations. 345 if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : 346 eval 'as_fn_append () 347 { 348 eval $1+=\$2 349 }' 350 else 351 as_fn_append () 352 { 353 eval $1=\$$1\$2 354 } 355 fi # as_fn_append 356 357 # as_fn_arith ARG... 358 # ------------------ 359 # Perform arithmetic evaluation on the ARGs, and store the result in the 360 # global $as_val. Take advantage of shells that can avoid forks. The arguments 361 # must be portable across $(()) and expr. 362 if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : 363 eval 'as_fn_arith () 364 { 365 as_val=$(( $* )) 366 }' 367 else 368 as_fn_arith () 369 { 370 as_val=`expr "$@" || test $? -eq 1` 371 } 372 fi # as_fn_arith 373 374 375 # as_fn_error STATUS ERROR [LINENO LOG_FD] 376 # ---------------------------------------- 377 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are 378 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the 379 # script with STATUS, using 1 if that was 0. 380 as_fn_error () 381 { 382 as_status=$1; test $as_status -eq 0 && as_status=1 383 if test "$4"; then 384 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 385 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 386 fi 387 $as_echo "$as_me: error: $2" >&2 388 as_fn_exit $as_status 389 } # as_fn_error 390 391 if expr a : '\(a\)' >/dev/null 2>&1 && 392 test "X`expr 00001 : '.*\(...\)'`" = X001; then 393 as_expr=expr 394 else 395 as_expr=false 396 fi 397 398 if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then 399 as_basename=basename 400 else 401 as_basename=false 402 fi 403 404 as_me=`$as_basename -- "$0" || 405 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ 406 X"$0" : 'X\(//\)$' \| \ 407 X"$0" : 'X\(/\)' \| . 2>/dev/null || 408 $as_echo X/"$0" | 409 sed '/^.*\/\([^/][^/]*\)\/*$/{ 410 s//\1/ 411 q 412 } 413 /^X\/\(\/\/\)$/{ 414 s//\1/ 415 q 416 } 417 /^X\/\(\/\).*/{ 418 s//\1/ 419 q 420 } 421 s/.*/./; q'` 422 423 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then 424 as_dirname=dirname 425 else 426 as_dirname=false 427 fi 428 429 # Avoid depending upon Character Ranges. 430 as_cr_letters='abcdefghijklmnopqrstuvwxyz' 431 as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' 432 as_cr_Letters=$as_cr_letters$as_cr_LETTERS 433 as_cr_digits='0123456789' 434 as_cr_alnum=$as_cr_Letters$as_cr_digits 435 436 437 as_lineno_1=$LINENO as_lineno_1a=$LINENO 438 as_lineno_2=$LINENO as_lineno_2a=$LINENO 439 eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && 440 test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { 441 # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) 442 sed -n ' 443 p 444 /[$]LINENO/= 445 ' <$as_myself | 446 sed ' 447 s/[$]LINENO.*/&-/ 448 t lineno 449 b 450 :lineno 451 N 452 :loop 453 s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ 454 t loop 455 s/-\n.*// 456 ' >$as_me.lineno && 457 chmod +x "$as_me.lineno" || 458 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } 459 460 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have 461 # already done that, so ensure we don't try to do so again and fall 462 # in an infinite loop. This has already happened in practice. 463 _as_can_reexec=no; export _as_can_reexec 464 # Don't try to exec as it changes $[0], causing all sort of problems 465 # (the dirname of $[0] is not the place where we might find the 466 # original and so on. Autoconf is especially sensitive to this). 467 . "./$as_me.lineno" 468 # Exit status is that of the last command. 469 exit 470 } 471 472 ECHO_C= ECHO_N= ECHO_T= 473 case `echo -n x` in #((((( 474 -n*) 475 case `echo 'xy\c'` in 476 *c*) ECHO_T=' ';; # ECHO_T is single tab character. 477 xy) ECHO_C='\c';; 478 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null 479 ECHO_T=' ';; 480 esac;; 481 *) 482 ECHO_N='-n';; 483 esac 484 485 rm -f conf$$ conf$$.exe conf$$.file 486 if test -d conf$$.dir; then 487 rm -f conf$$.dir/conf$$.file 488 else 489 rm -f conf$$.dir 490 mkdir conf$$.dir 2>/dev/null 491 fi 492 if (echo >conf$$.file) 2>/dev/null; then 493 if ln -s conf$$.file conf$$ 2>/dev/null; then 494 as_ln_s='ln -s' 495 # ... but there are two gotchas: 496 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. 497 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. 498 # In both cases, we have to default to `cp -pR'. 499 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || 500 as_ln_s='cp -pR' 501 elif ln conf$$.file conf$$ 2>/dev/null; then 502 as_ln_s=ln 503 else 504 as_ln_s='cp -pR' 505 fi 506 else 507 as_ln_s='cp -pR' 508 fi 509 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file 510 rmdir conf$$.dir 2>/dev/null 511 512 if mkdir -p . 2>/dev/null; then 513 as_mkdir_p='mkdir -p "$as_dir"' 514 else 515 test -d ./-p && rmdir ./-p 516 as_mkdir_p=false 517 fi 518 519 as_test_x='test -x' 520 as_executable_p=as_fn_executable_p 521 522 # Sed expression to map a string onto a valid CPP name. 523 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" 524 525 # Sed expression to map a string onto a valid variable name. 526 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 527 528 529 530 531 532 SHELL=${CONFIG_SHELL-/bin/sh} 533 534 # How were we run? 535 at_cli_args="$@" 536 537 538 # Not all shells have the 'times' builtin; the subshell is needed to make 539 # sure we discard the 'times: not found' message from the shell. 540 at_times_p=false 541 (times) >/dev/null 2>&1 && at_times_p=: 542 543 # CLI Arguments to pass to the debugging scripts. 544 at_debug_args= 545 # -e sets to true 546 at_errexit_p=false 547 # Shall we be verbose? ':' means no, empty means yes. 548 at_verbose=: 549 at_quiet= 550 # Running several jobs in parallel, 0 means as many as test groups. 551 at_jobs=1 552 at_traceon=: 553 at_trace_echo=: 554 at_check_filter_trace=: 555 556 # Shall we keep the debug scripts? Must be `:' when the suite is 557 # run by a debug script, so that the script doesn't remove itself. 558 at_debug_p=false 559 # Display help message? 560 at_help_p=false 561 # Display the version message? 562 at_version_p=false 563 # List test groups? 564 at_list_p=false 565 # --clean 566 at_clean=false 567 # Test groups to run 568 at_groups= 569 # Whether to rerun failed tests. 570 at_recheck= 571 # Whether a write failure occurred 572 at_write_fail=0 573 574 # The directory we run the suite in. Default to . if no -C option. 575 at_dir=`pwd` 576 # An absolute reference to this testsuite script. 577 case $as_myself in 578 [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; 579 * ) at_myself=$at_dir/$as_myself ;; 580 esac 581 # Whether -C is in effect. 582 at_change_dir=false 583 584 # Whether to enable colored test results. 585 at_color=auto 586 # List of the tested programs. 587 at_tested='bison' 588 # As many question marks as there are digits in the last test group number. 589 # Used to normalize the test group numbers so that `ls' lists them in 590 # numerical order. 591 at_format='???' 592 # Description of all the test groups. 593 at_help_all="1;input.at:27;Invalid inputs;; 594 2;input.at:57;Invalid inputs with {};; 595 3;input.at:84;Invalid \$n and @n;; 596 4;input.at:104;Type Clashes;; 597 5;input.at:285;Unused values;; 598 6;input.at:295;Unused values before symbol declarations;; 599 7;input.at:305;Default %printer and %destructor redeclared;; 600 8;input.at:365;Per-type %printer and %destructor redeclared;; 601 9;input.at:408;Unused values with default %destructor;; 602 10;input.at:450;Unused values with per-type %destructor;; 603 11;input.at:475;Incompatible Aliases;; 604 12;input.at:516;Torturing the Scanner;; 605 13;input.at:674;Typed symbol aliases;; 606 14;input.at:710;Require 1.0;; 607 15;input.at:711;Require 2.7;; 608 16;input.at:713;Require 100.0;; 609 17;input.at:720;String aliases for character tokens;; 610 18;input.at:741;Symbols;; 611 19;input.at:807;Numbered tokens;; 612 20;input.at:845;Unclosed constructs;; 613 21;input.at:909;%start after first rule;; 614 22;input.at:930;%prec takes a token;; 615 23;input.at:951;%prec's token must be defined;; 616 24;input.at:971;Reject unused %code qualifiers;; 617 25;input.at:1060;%define errors;; 618 26;input.at:1096;%define, --define, --force-define;; 619 27;input.at:1161;%define Boolean variables;; 620 28;input.at:1181;%define enum variables;; 621 29;input.at:1216;%define backward compatibility;; 622 30;input.at:1257;Unused %define api.pure;; 623 31;input.at:1290;C++ namespace reference errors;; 624 32;input.at:1346;Bad character literals;; 625 33;input.at:1399;Bad escapes in literals;; 626 34;input.at:1448;LAC: Errors for %define;; 627 35;input.at:1471;-Werror is not affected by -Wnone and -Wall;; 628 36;input.at:1505;%name-prefix and %define api.prefix are incompatible;; 629 37;input.at:1534;Stray \$ or @;; 630 38;input.at:1568;Code injection;; 631 39;named-refs.at:21;Tutorial calculator;; 632 40;named-refs.at:195;Undefined and ambiguous references;; 633 41;named-refs.at:271;Misleading references;; 634 42;named-refs.at:288;Many kinds of errors;; 635 43;named-refs.at:521;Missing identifiers in brackets;; 636 44;named-refs.at:535;Redundant words in brackets;; 637 45;named-refs.at:549;Comments in brackets;; 638 46;named-refs.at:563;Stray symbols in brackets;; 639 47;named-refs.at:580;Redundant words in LHS brackets;; 640 48;named-refs.at:595;Factored LHS;; 641 49;named-refs.at:606;Unresolved references;; 642 50;named-refs.at:671;\$ or @ followed by . or -;; 643 51;output.at:44;Output files: -dv ;; 644 52;output.at:50;Output files: -dv >&-;; 645 53;output.at:55;Output files: -dv -o foo.c ;; 646 54;output.at:57;Output files: -dv -o foo.tab.c ;; 647 55;output.at:59;Output files: -dv -y ;; 648 56;output.at:61;Output files: -dv -b bar ;; 649 57;output.at:63;Output files: -dv -g -o foo.c ;; 650 58;output.at:67;Output files: %defines %verbose ;; 651 59;output.at:69;Output files: %defines %verbose %yacc ;; 652 60;output.at:72;Output files: %defines %verbose %yacc ;; 653 61;output.at:76;Output files: %file-prefix \"bar\" %defines %verbose ;; 654 62;output.at:78;Output files: %output=\"bar.c\" %defines %verbose %yacc ;; 655 63;output.at:80;Output files: %file-prefix=\"baz\" %output \"bar.c\" %defines %verbose %yacc ;; 656 64;output.at:87;Output files: %defines %verbose ;; 657 65;output.at:90;Output files: %defines %verbose -o foo.c ;; 658 66;output.at:93;Output files: --defines=foo.hpp -o foo.c++ ;; 659 67;output.at:97;Output files: %defines \"foo.hpp\" -o foo.c++ ;; 660 68;output.at:101;Output files: -o foo.c++ --graph=foo.gph ;; 661 69;output.at:116;Output files: %skeleton \"lalr1.cc\" %defines %verbose ;; 662 70;output.at:119;Output files: %skeleton \"lalr1.cc\" %defines %verbose ;; 663 71;output.at:123;Output files: %skeleton \"lalr1.cc\" %defines %verbose -o subdir/foo.cc ;; 664 72;output.at:128;Output files: %skeleton \"lalr1.cc\" %defines %verbose %file-prefix \"output_dir/foo\" ;; 665 73;output.at:158;Conflicting output files: --graph=\"foo.tab.c\";; 666 74;output.at:163;Conflicting output files: %defines \"foo.output\" -v;; 667 75;output.at:168;Conflicting output files: %skeleton \"lalr1.cc\" %defines --graph=\"location.hh\";; 668 76;output.at:173;Conflicting output files: -o foo.y;; 669 77;output.at:219;Output file name: \`~!@#\$%^&*()-=_+{}[]|\\:;<>, .';c++; 670 78;output.at:226;Output file name: (;c++; 671 79;output.at:227;Output file name: );c++; 672 80;output.at:228;Output file name: #;c++; 673 81;output.at:229;Output file name: @@;c++; 674 82;output.at:230;Output file name: @{;c++; 675 83;output.at:231;Output file name: @};c++; 676 84;output.at:232;Output file name: [;c++; 677 85;output.at:233;Output file name: ];c++; 678 86;output.at:260;Graph with no conflicts;graph; 679 87;output.at:294;Graph with unsolved S/R;graph; 680 88;output.at:358;Graph with solved S/R;graph; 681 89;output.at:417;Graph with R/R;graph; 682 90;output.at:449;Graph with reductions with multiple LAT;graph; 683 91;output.at:508;Graph with a reduction rule both enabled and disabled;graph; 684 92;skeletons.at:24;Relative skeleton file names;; 685 93;skeletons.at:84;Installed skeleton file names;; 686 94;skeletons.at:146;%define Boolean variables: invalid skeleton defaults;; 687 95;skeletons.at:170;Complaining during macro argument expansion;; 688 96;skeletons.at:252;Fatal errors make M4 exit immediately;; 689 97;skeletons.at:306;Fatal errors but M4 continues producing output;; 690 98;sets.at:66;Nullable;; 691 99;sets.at:151;Broken Closure;; 692 100;sets.at:193;Firsts;; 693 101;sets.at:269;Accept;; 694 102;reduce.at:25;Useless Terminals;; 695 103;reduce.at:69;Useless Nonterminals;; 696 104;reduce.at:124;Useless Rules;report; 697 105;reduce.at:271;Reduced Automaton;report; 698 106;reduce.at:381;Underivable Rules;report; 699 107;reduce.at:423;Empty Language;; 700 108;reduce.at:474;no %define lr.type: Single State Split;; 701 109;reduce.at:474;%define lr.type lalr: Single State Split;; 702 110;reduce.at:474;%define lr.type ielr: Single State Split;; 703 111;reduce.at:474;%define lr.type canonical-lr: Single State Split;; 704 112;reduce.at:707;no %define lr.type: Lane Split;; 705 113;reduce.at:707;%define lr.type lalr: Lane Split;; 706 114;reduce.at:707;%define lr.type ielr: Lane Split;; 707 115;reduce.at:707;%define lr.type canonical-lr: Lane Split;; 708 116;reduce.at:951;no %define lr.type: Complex Lane Split;; 709 117;reduce.at:951;%define lr.type lalr: Complex Lane Split;; 710 118;reduce.at:951;%define lr.type ielr: Complex Lane Split;; 711 119;reduce.at:951;%define lr.type canonical-lr: Complex Lane Split;; 712 120;reduce.at:1220;no %define lr.type: Split During Added Lookahead Propagation;; 713 121;reduce.at:1220;%define lr.type lalr: Split During Added Lookahead Propagation;; 714 122;reduce.at:1220;%define lr.type ielr: Split During Added Lookahead Propagation;; 715 123;reduce.at:1220;%define lr.type canonical-lr: Split During Added Lookahead Propagation;; 716 124;reduce.at:1550;no %define lr.default-reductions;; 717 125;reduce.at:1550;%define lr.default-reductions most;; 718 126;reduce.at:1550;%define lr.default-reductions consistent;; 719 127;reduce.at:1550;%define lr.default-reductions accepting;; 720 128;synclines.at:150;Prologue syncline;; 721 129;synclines.at:168;%union syncline;; 722 130;synclines.at:189;Postprologue syncline;; 723 131;synclines.at:213;Action syncline;; 724 132;synclines.at:232;Epilogue syncline;; 725 133;synclines.at:249;%code top syncline;; 726 134;synclines.at:290;%no-lines;; 727 135;synclines.at:291;%no-lines;; 728 136;synclines.at:292;%no-lines;; 729 137;synclines.at:293;%no-lines;; 730 138;headers.at:57;Invalid CPP guards: --defines=input/input.h;; 731 139;headers.at:58;Invalid CPP guards: --defines=9foo.h;; 732 140;headers.at:59;Invalid CPP guards: %glr-parser --defines=input/input.h;; 733 141;headers.at:60;Invalid CPP guards: %glr-parser --defines=9foo.h;; 734 142;headers.at:69;export YYLTYPE;; 735 143;headers.at:125;Several parsers;c++; 736 144;actions.at:24;Mid-rule actions;; 737 145;actions.at:133;Initial location: yacc.c ;; 738 146;actions.at:134;Initial location: yacc.c %define api.pure full;; 739 147;actions.at:135;Initial location: yacc.c %define api.pure %parse-param { int x };; 740 148;actions.at:136;Initial location: yacc.c %define api.push-pull both;; 741 149;actions.at:137;Initial location: yacc.c %define api.push-pull both %define api.pure full;; 742 150;actions.at:138;Initial location: glr.c ;; 743 151;actions.at:139;Initial location: glr.c %define api.pure;; 744 152;actions.at:140;Initial location: lalr1.cc ;c++; 745 153;actions.at:141;Initial location: glr.cc ;c++; 746 154;actions.at:150;Initial location: yacc.c %define api.pure full;; 747 155;actions.at:161;Initial location: yacc.c %define api.pure full;; 748 156;actions.at:244;Location print: yacc.c ;; 749 157;actions.at:245;Location print: glr.c ;; 750 158;actions.at:257;Exotic Dollars;; 751 159;actions.at:751;Printers and Destructors;; 752 160;actions.at:752;Printers and Destructors with union;; 753 161;actions.at:754;Printers and Destructors: %defines %skeleton \"lalr1.cc\";c++; 754 162;actions.at:755;Printers and Destructors with union: %defines %skeleton \"lalr1.cc\";c++; 755 163;actions.at:757;Printers and Destructors: %glr-parser;; 756 164;actions.at:758;Printers and Destructors with union: %glr-parser;; 757 165;actions.at:769;Default tagless %printer and %destructor;; 758 166;actions.at:867;Default tagged and per-type %printer and %destructor;; 759 167;actions.at:991;Default %printer and %destructor for user-defined end token;; 760 168;actions.at:1098;Default %printer and %destructor are not for error or \$undefined;; 761 169;actions.at:1193;Default %printer and %destructor are not for \$accept;; 762 170;actions.at:1258;Default %printer and %destructor for mid-rule values;; 763 171;actions.at:1406;@\$ in %initial-action implies %locations;; 764 172;actions.at:1407;@\$ in %destructor implies %locations;; 765 173;actions.at:1408;@\$ in %printer implies %locations;; 766 174;actions.at:1529;Qualified \$\$ in actions: yacc.c;; 767 175;actions.at:1530;Qualified \$\$ in actions: glr.c;; 768 176;actions.at:1531;Qualified \$\$ in actions: lalr1.cc;c++; 769 177;actions.at:1532;Qualified \$\$ in actions: glr.cc;c++; 770 178;actions.at:1540;Fix user actions without a trailing semicolon;; 771 179;actions.at:1649;Destroying lookahead assigned by semantic action;; 772 180;actions.at:1708;YYBACKUP;; 773 181;conflicts.at:31;S/R in initial;; 774 182;conflicts.at:57;%nonassoc and eof;; 775 183;conflicts.at:155;%error-verbose and consistent errors;c++ java; 776 184;conflicts.at:456;LAC: %nonassoc requires splitting canonical LR states;; 777 185;conflicts.at:546;Unresolved SR Conflicts;report; 778 186;conflicts.at:653;Resolved SR Conflicts;report; 779 187;conflicts.at:775;Defaulted Conflicted Reduction;report; 780 188;conflicts.at:894;%expect not enough;; 781 189;conflicts.at:914;%expect right;; 782 190;conflicts.at:931;%expect too much;; 783 191;conflicts.at:951;%expect with reduce conflicts;; 784 192;conflicts.at:971;%prec with user string;; 785 193;conflicts.at:988;%no-default-prec without %prec;; 786 194;conflicts.at:1014;%no-default-prec with %prec;; 787 195;conflicts.at:1038;%default-prec;; 788 196;conflicts.at:1062;Unreachable States After Conflict Resolution;; 789 197;conflicts.at:1273;Solved conflicts report for multiple reductions in a state;; 790 198;conflicts.at:1353;%nonassoc error actions for multiple reductions in a state;; 791 199;conflicts.at:1422;-W versus %expect and %expect-rr;; 792 200;calc.at:597;Calculator ;; 793 201;calc.at:599;Calculator %defines;; 794 202;calc.at:600;Calculator %locations;; 795 203;calc.at:602;Calculator %name-prefix=\"calc\";; 796 204;calc.at:603;Calculator %verbose;; 797 205;calc.at:604;Calculator %yacc;; 798 206;calc.at:605;Calculator %error-verbose;; 799 207;calc.at:607;Calculator %define api.pure full %locations;; 800 208;calc.at:608;Calculator %define api.push-pull both %define api.pure full %locations;; 801 209;calc.at:609;Calculator %error-verbose %locations;; 802 210;calc.at:611;Calculator %error-verbose %locations %defines %name-prefix \"calc\" %verbose %yacc;; 803 211;calc.at:612;Calculator %error-verbose %locations %defines %define api.prefix \"calc\" %verbose %yacc;; 804 212;calc.at:614;Calculator %debug;; 805 213;calc.at:615;Calculator %error-verbose %debug %locations %defines %name-prefix \"calc\" %verbose %yacc;; 806 214;calc.at:616;Calculator %error-verbose %debug %locations %defines %define api.prefix \"calc\" %verbose %yacc;; 807 215;calc.at:618;Calculator %define api.pure full %verbose %debug %locations %defines %name-prefix \"calc\" %verbose %yacc;; 808 216;calc.at:619;Calculator %define api.push-pull both %define api.pure full %verbose %debug %locations %defines %define api.prefix \"calc\" %verbose %yacc;; 809 217;calc.at:621;Calculator %define api.pure %error-verbose %debug %locations %defines %define api.prefix \"calc\" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count};; 810 218;calc.at:638;Calculator %glr-parser ;; 811 219;calc.at:640;Calculator %glr-parser %defines;; 812 220;calc.at:641;Calculator %glr-parser %locations;; 813 221;calc.at:642;Calculator %glr-parser %name-prefix \"calc\";; 814 222;calc.at:643;Calculator %glr-parser %define api.prefix \"calc\";; 815 223;calc.at:644;Calculator %glr-parser %verbose;; 816 224;calc.at:645;Calculator %glr-parser %yacc;; 817 225;calc.at:646;Calculator %glr-parser %error-verbose;; 818 226;calc.at:648;Calculator %glr-parser %define api.pure %locations;; 819 227;calc.at:649;Calculator %glr-parser %error-verbose %locations;; 820 228;calc.at:651;Calculator %glr-parser %error-verbose %locations %defines %name-prefix \"calc\" %verbose %yacc;; 821 229;calc.at:653;Calculator %glr-parser %debug;; 822 230;calc.at:654;Calculator %glr-parser %error-verbose %debug %locations %defines %name-prefix \"calc\" %verbose %yacc;; 823 231;calc.at:655;Calculator %glr-parser %error-verbose %debug %locations %defines %define api.prefix \"calc\" %verbose %yacc;; 824 232;calc.at:657;Calculator %glr-parser %define api.pure %error-verbose %debug %locations %defines %name-prefix \"calc\" %verbose %yacc;; 825 233;calc.at:659;Calculator %glr-parser %define api.pure %error-verbose %debug %locations %defines %name-prefix \"calc\" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count};; 826 234;calc.at:660;Calculator %glr-parser %define api.pure %error-verbose %debug %locations %defines %define api.prefix \"calc\" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count};; 827 235;calc.at:670;Calculator %skeleton \"lalr1.cc\" %defines %locations;c++; 828 236;calc.at:679;Calculator %language \"C++\" %defines %locations ;c++; 829 237;calc.at:680;Calculator %language \"C++\" %defines %locations %define api.location.type Span;c++; 830 238;calc.at:681;Calculator %language \"C++\" %defines %locations %error-verbose %name-prefix \"calc\" %verbose %yacc;c++; 831 239;calc.at:682;Calculator %language \"C++\" %defines %locations %error-verbose %define api.prefix \"calc\" %verbose %yacc;c++; 832 240;calc.at:683;Calculator %language \"C++\" %defines %locations %error-verbose %debug %name-prefix \"calc\" %verbose %yacc;c++; 833 241;calc.at:685;Calculator %language \"C++\" %defines %locations %pure-parser %error-verbose %debug %define api.prefix \"calc\" %verbose %yacc;c++; 834 242;calc.at:687;Calculator %language \"C++\" %defines %locations %pure-parser %error-verbose %debug %name-prefix \"calc\" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count};c++; 835 243;calc.at:688;Calculator %language \"C++\" %defines %locations %pure-parser %error-verbose %debug %define api.prefix \"calc\" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count};c++; 836 244;calc.at:699;Calculator %skeleton \"glr.cc\" %defines %locations;c++; 837 245;calc.at:708;Calculator %language \"C++\" %glr-parser %defines %locations ;c++; 838 246;calc.at:709;Calculator %language \"C++\" %glr-parser %defines %locations %define api.location.type Span;c++; 839 247;calc.at:710;Calculator %language \"C++\" %glr-parser %defines %locations %error-verbose %name-prefix \"calc\" %verbose %yacc;c++; 840 248;calc.at:711;Calculator %language \"C++\" %glr-parser %defines %locations %error-verbose %define api.prefix \"calc\" %verbose %yacc;c++; 841 249;calc.at:713;Calculator %language \"C++\" %glr-parser %defines %locations %debug;c++; 842 250;calc.at:714;Calculator %language \"C++\" %glr-parser %defines %locations %error-verbose %debug %name-prefix \"calc\" %verbose %yacc;c++; 843 251;calc.at:716;Calculator %language \"C++\" %glr-parser %defines %locations %pure-parser %error-verbose %debug %name-prefix \"calc\" %verbose %yacc;c++; 844 252;calc.at:718;Calculator %language \"C++\" %glr-parser %defines %locations %pure-parser %error-verbose %debug %name-prefix \"calc\" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count};c++; 845 253;calc.at:719;Calculator %language \"C++\" %glr-parser %defines %locations %pure-parser %error-verbose %debug %define api.prefix \"calc\" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count};c++; 846 254;torture.at:137;Big triangle;; 847 255;torture.at:227;Big horizontal;; 848 256;torture.at:364;Many lookahead tokens;; 849 257;torture.at:466;Exploding the Stack Size with Alloca;; 850 258;torture.at:512;Exploding the Stack Size with Malloc;; 851 259;existing.at:79;GNU AWK 3.1.0 Grammar: LALR(1);; 852 260;existing.at:79;GNU AWK 3.1.0 Grammar: IELR(1);; 853 261;existing.at:79;GNU AWK 3.1.0 Grammar: Canonical LR(1);; 854 262;existing.at:783;GNU Cim Grammar: LALR(1);; 855 263;existing.at:783;GNU Cim Grammar: IELR(1);; 856 264;existing.at:783;GNU Cim Grammar: Canonical LR(1);; 857 265;existing.at:1403;GNU pic (Groff 1.18.1) Grammar: LALR(1);; 858 266;existing.at:1403;GNU pic (Groff 1.18.1) Grammar: IELR(1);; 859 267;existing.at:1403;GNU pic (Groff 1.18.1) Grammar: Canonical LR(1);; 860 268;regression.at:25;Trivial grammars;; 861 269;regression.at:55;YYSTYPE typedef;; 862 270;regression.at:85;Early token definitions with --yacc;; 863 271;regression.at:125;Early token definitions without --yacc;; 864 272;regression.at:170;Braces parsing;; 865 273;regression.at:194;Duplicate string;; 866 274;regression.at:222;Rule Line Numbers;report; 867 275;regression.at:368;Mixing %token styles;; 868 276;regression.at:391;Invalid inputs;; 869 277;regression.at:418;Invalid inputs with {};; 870 278;regression.at:443;Token definitions;; 871 279;regression.at:511;Characters Escapes;; 872 280;regression.at:544;Web2c Report;report; 873 281;regression.at:721;Web2c Actions;report; 874 282;regression.at:936;Dancer ;; 875 283;regression.at:937;Dancer %glr-parser;; 876 284;regression.at:938;Dancer %skeleton \"lalr1.cc\";c++; 877 285;regression.at:1020;Expecting two tokens ;; 878 286;regression.at:1021;Expecting two tokens %glr-parser;; 879 287;regression.at:1022;Expecting two tokens %skeleton \"lalr1.cc\";c++; 880 288;regression.at:1030;Braced code in declaration in rules section;; 881 289;regression.at:1097;String alias declared after use;; 882 290;regression.at:1120;Extra lookahead sets in report;; 883 291;regression.at:1161;Token number in precedence declaration;; 884 292;regression.at:1219;parse-gram.y: LALR = IELR;; 885 293;regression.at:1240;%error-verbose and YYSTACK_USE_ALLOCA;; 886 294;regression.at:1319;%error-verbose overflow;; 887 295;regression.at:1429;LAC: Exploratory stack;; 888 296;regression.at:1523;LAC: Memory exhaustion;; 889 297;regression.at:1664;Lex and parse params: yacc.c;; 890 298;regression.at:1665;Lex and parse params: glr.c;; 891 299;regression.at:1666;Lex and parse params: lalr1.cc;c++; 892 300;regression.at:1667;Lex and parse params: glr.cc;c++; 893 301;c++.at:101;Doxygen Public Documentation;; 894 302;c++.at:102;Doxygen Private Documentation;; 895 303;c++.at:160;Relative namespace references;c++; 896 304;c++.at:166;Absolute namespace references;c++; 897 305;c++.at:175;Syntactically invalid namespace references;; 898 306;c++.at:190;Exception safety;c++; 899 307;java.at:360;Calculator ;java; 900 308;java.at:360;Calculator %error-verbose ;java; 901 309;java.at:360;Calculator %locations ;java; 902 310;java.at:360;Calculator %error-verbose %locations ;java; 903 311;java.at:369;Calculator %lex-param { InputStream is } ;java; 904 312;java.at:369;Calculator %error-verbose %lex-param { InputStream is } ;java; 905 313;java.at:369;Calculator %locations %lex-param { InputStream is } ;java; 906 314;java.at:369;Calculator %error-verbose %locations %lex-param { InputStream is } ;java; 907 315;java.at:455;Java parser class and package names;java; 908 316;java.at:476;Java parser class modifiers;java; 909 317;java.at:534;Java parser class extends and implements;java; 910 318;java.at:554;Java %parse-param and %lex-param;java; 911 319;java.at:628;Java throws specifications;java; 912 320;java.at:717;Java stype, position_class and location_class;java; 913 321;java.at:748;Java syntax error handling without error token;java; 914 322;cxx-type.at:394;GLR: Resolve ambiguity, impure, no locations;; 915 323;cxx-type.at:401;GLR: Resolve ambiguity, impure, locations;; 916 324;cxx-type.at:407;GLR: Resolve ambiguity, pure, no locations;; 917 325;cxx-type.at:414;GLR: Resolve ambiguity, pure, locations;; 918 326;cxx-type.at:421;GLR: Merge conflicting parses, impure, no locations;; 919 327;cxx-type.at:428;GLR: Merge conflicting parses, impure, locations;; 920 328;cxx-type.at:435;GLR: Merge conflicting parses, pure, no locations;; 921 329;cxx-type.at:441;GLR: Merge conflicting parses, pure, locations;; 922 330;cxx-type.at:448;GLR: Verbose messages, resolve ambiguity, impure, no locations;; 923 331;glr-regression.at:25;Badly Collapsed GLR States;; 924 332;glr-regression.at:112;Improper handling of embedded actions and dollar(-N) in GLR parsers;; 925 333;glr-regression.at:244;Improper merging of GLR delayed action sets;; 926 334;glr-regression.at:364;Duplicate representation of merged trees;; 927 335;glr-regression.at:455;User destructor for unresolved GLR semantic value;; 928 336;glr-regression.at:515;User destructor after an error during a split parse;; 929 337;glr-regression.at:569;Duplicated user destructor for lookahead;; 930 338;glr-regression.at:658;Incorrectly initialized location for empty right-hand side in GLR;; 931 339;glr-regression.at:752;No users destructors if stack 0 deleted;; 932 340;glr-regression.at:829;Corrupted semantic options if user action cuts parse;; 933 341;glr-regression.at:883;Undesirable destructors if user action cuts parse;; 934 342;glr-regression.at:941;Leaked semantic values if user action cuts parse;; 935 343;glr-regression.at:1064;Incorrect lookahead during deterministic GLR;; 936 344;glr-regression.at:1188;Incorrect lookahead during nondeterministic GLR;; 937 345;glr-regression.at:1405;Leaked semantic values when reporting ambiguity;; 938 346;glr-regression.at:1487;Leaked lookahead after nondeterministic parse syntax error;; 939 347;glr-regression.at:1547;Uninitialized location when reporting ambiguity;; 940 348;glr-regression.at:1625;Missed %merge type warnings when LHS type is declared later;; 941 349;glr-regression.at:1678;Ambiguity reports;; 942 350;push.at:24;Memory Leak for Early Deletion;; 943 351;push.at:83;Multiple impure instances;; 944 352;push.at:144;Unsupported Skeletons;; 945 " 946 # List of the all the test groups. 947 at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` 948 949 # at_fn_validate_ranges NAME... 950 # ----------------------------- 951 # Validate and normalize the test group number contained in each variable 952 # NAME. Leading zeroes are treated as decimal. 953 at_fn_validate_ranges () 954 { 955 for at_grp 956 do 957 eval at_value=\$$at_grp 958 if test $at_value -lt 1 || test $at_value -gt 352; then 959 $as_echo "invalid test group: $at_value" >&2 960 exit 1 961 fi 962 case $at_value in 963 0*) # We want to treat leading 0 as decimal, like expr and test, but 964 # AS_VAR_ARITH treats it as octal if it uses $(( )). 965 # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the 966 # expr fork, but it is not worth the effort to determine if the 967 # shell supports XSI when the user can just avoid leading 0. 968 eval $at_grp='`expr $at_value + 0`' ;; 969 esac 970 done 971 } 972 973 ## 974 ## Set up package specific options. 975 ## 976 977 at_arg_compile_c_with_cxx=false 978 at_arg_given_compile_c_with_cxx=false 979 980 981 at_prev= 982 for at_option 983 do 984 # If the previous option needs an argument, assign it. 985 if test -n "$at_prev"; then 986 at_option=$at_prev=$at_option 987 at_prev= 988 fi 989 990 case $at_option in 991 *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;; 992 *) at_optarg= ;; 993 esac 994 995 # Accept the important Cygnus configure options, so we can diagnose typos. 996 997 case $at_option in 998 --help | -h ) 999 at_help_p=: 1000 ;; 1001 1002 --list | -l ) 1003 at_list_p=: 1004 ;; 1005 1006 --version | -V ) 1007 at_version_p=: 1008 ;; 1009 1010 --clean | -c ) 1011 at_clean=: 1012 ;; 1013 1014 --color ) 1015 at_color=always 1016 ;; 1017 --color=* ) 1018 case $at_optarg in 1019 no | never | none) at_color=never ;; 1020 auto | tty | if-tty) at_color=auto ;; 1021 always | yes | force) at_color=always ;; 1022 *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` 1023 as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; 1024 esac 1025 ;; 1026 1027 --debug | -d ) 1028 at_debug_p=: 1029 ;; 1030 1031 --errexit | -e ) 1032 at_debug_p=: 1033 at_errexit_p=: 1034 ;; 1035 1036 --verbose | -v ) 1037 at_verbose=; at_quiet=: 1038 ;; 1039 1040 --trace | -x ) 1041 at_traceon='set -x' 1042 at_trace_echo=echo 1043 at_check_filter_trace=at_fn_filter_trace 1044 ;; 1045 1046 [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) 1047 at_fn_validate_ranges at_option 1048 as_fn_append at_groups "$at_option$as_nl" 1049 ;; 1050 1051 # Ranges 1052 [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) 1053 at_range_start=`echo $at_option |tr -d X-` 1054 at_fn_validate_ranges at_range_start 1055 at_range=`$as_echo "$at_groups_all" | \ 1056 sed -ne '/^'$at_range_start'$/,$p'` 1057 as_fn_append at_groups "$at_range$as_nl" 1058 ;; 1059 1060 -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) 1061 at_range_end=`echo $at_option |tr -d X-` 1062 at_fn_validate_ranges at_range_end 1063 at_range=`$as_echo "$at_groups_all" | \ 1064 sed -ne '1,/^'$at_range_end'$/p'` 1065 as_fn_append at_groups "$at_range$as_nl" 1066 ;; 1067 1068 [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \ 1069 [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \ 1070 [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \ 1071 [0-9][0-9][0-9]-[0-9][0-9][0-9] | \ 1072 [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \ 1073 [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ) 1074 at_range_start=`expr $at_option : '\(.*\)-'` 1075 at_range_end=`expr $at_option : '.*-\(.*\)'` 1076 if test $at_range_start -gt $at_range_end; then 1077 at_tmp=$at_range_end 1078 at_range_end=$at_range_start 1079 at_range_start=$at_tmp 1080 fi 1081 at_fn_validate_ranges at_range_start at_range_end 1082 at_range=`$as_echo "$at_groups_all" | \ 1083 sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` 1084 as_fn_append at_groups "$at_range$as_nl" 1085 ;; 1086 1087 # Directory selection. 1088 --directory | -C ) 1089 at_prev=--directory 1090 ;; 1091 --directory=* ) 1092 at_change_dir=: 1093 at_dir=$at_optarg 1094 if test x- = "x$at_dir" ; then 1095 at_dir=./- 1096 fi 1097 ;; 1098 1099 # Parallel execution. 1100 --jobs | -j ) 1101 at_jobs=0 1102 ;; 1103 --jobs=* | -j[0-9]* ) 1104 if test -n "$at_optarg"; then 1105 at_jobs=$at_optarg 1106 else 1107 at_jobs=`expr X$at_option : 'X-j\(.*\)'` 1108 fi 1109 case $at_jobs in *[!0-9]*) 1110 at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` 1111 as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; 1112 esac 1113 ;; 1114 1115 # Keywords. 1116 --keywords | -k ) 1117 at_prev=--keywords 1118 ;; 1119 --keywords=* ) 1120 at_groups_selected=$at_help_all 1121 at_save_IFS=$IFS 1122 IFS=, 1123 set X $at_optarg 1124 shift 1125 IFS=$at_save_IFS 1126 for at_keyword 1127 do 1128 at_invert= 1129 case $at_keyword in 1130 '!'*) 1131 at_invert="-v" 1132 at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'` 1133 ;; 1134 esac 1135 # It is on purpose that we match the test group titles too. 1136 at_groups_selected=`$as_echo "$at_groups_selected" | 1137 grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` 1138 done 1139 # Smash the keywords. 1140 at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` 1141 as_fn_append at_groups "$at_groups_selected$as_nl" 1142 ;; 1143 --recheck) 1144 at_recheck=: 1145 ;; 1146 --compile-c-with-cxx ) 1147 at_optarg=: 1148 at_arg_compile_c_with_cxx=: 1149 at_arg_given_compile_c_with_cxx=: 1150 ;; 1151 --no-compile-c-with-cxx ) 1152 at_optarg=false 1153 at_arg_compile_c_with_cxx=false 1154 at_arg_given_compile_c_with_cxx=: 1155 ;; 1156 1157 1158 *=*) 1159 at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` 1160 # Reject names that are not valid shell variable names. 1161 case $at_envvar in 1162 '' | [0-9]* | *[!_$as_cr_alnum]* ) 1163 as_fn_error $? "invalid variable name: \`$at_envvar'" ;; 1164 esac 1165 at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` 1166 # Export now, but save eval for later and for debug scripts. 1167 export $at_envvar 1168 as_fn_append at_debug_args " $at_envvar='$at_value'" 1169 ;; 1170 1171 *) $as_echo "$as_me: invalid option: $at_option" >&2 1172 $as_echo "Try \`$0 --help' for more information." >&2 1173 exit 1 1174 ;; 1175 esac 1176 done 1177 1178 # Verify our last option didn't require an argument 1179 if test -n "$at_prev"; then : 1180 as_fn_error $? "\`$at_prev' requires an argument" 1181 fi 1182 1183 # The file containing the suite. 1184 at_suite_log=$at_dir/$as_me.log 1185 1186 # Selected test groups. 1187 if test -z "$at_groups$at_recheck"; then 1188 at_groups=$at_groups_all 1189 else 1190 if test -n "$at_recheck" && test -r "$at_suite_log"; then 1191 at_oldfails=`sed -n ' 1192 /^Failed tests:$/,/^Skipped tests:$/{ 1193 s/^[ ]*\([1-9][0-9]*\):.*/\1/p 1194 } 1195 /^Unexpected passes:$/,/^## Detailed failed tests/{ 1196 s/^[ ]*\([1-9][0-9]*\):.*/\1/p 1197 } 1198 /^## Detailed failed tests/q 1199 ' "$at_suite_log"` 1200 as_fn_append at_groups "$at_oldfails$as_nl" 1201 fi 1202 # Sort the tests, removing duplicates. 1203 at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` 1204 fi 1205 1206 if test x"$at_color" = xalways \ 1207 || { test x"$at_color" = xauto && test -t 1; }; then 1208 at_red=`printf '\033[0;31m'` 1209 at_grn=`printf '\033[0;32m'` 1210 at_lgn=`printf '\033[1;32m'` 1211 at_blu=`printf '\033[1;34m'` 1212 at_std=`printf '\033[m'` 1213 else 1214 at_red= at_grn= at_lgn= at_blu= at_std= 1215 fi 1216 1217 # Help message. 1218 if $at_help_p; then 1219 cat <<_ATEOF || at_write_fail=1 1220 Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] 1221 1222 Run all the tests, or the selected TESTS, given by numeric ranges, and 1223 save a detailed log file. Upon failure, create debugging scripts. 1224 1225 Do not change environment variables directly. Instead, set them via 1226 command line arguments. Set \`AUTOTEST_PATH' to select the executables 1227 to exercise. Each relative directory is expanded as build and source 1228 directories relative to the top level of this distribution. 1229 E.g., from within the build directory /tmp/foo-1.0, invoking this: 1230 1231 $ $0 AUTOTEST_PATH=bin 1232 1233 is equivalent to the following, assuming the source directory is /src/foo-1.0: 1234 1235 PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 1236 _ATEOF 1237 cat <<_ATEOF || at_write_fail=1 1238 1239 Operation modes: 1240 -h, --help print the help message, then exit 1241 -V, --version print version number, then exit 1242 -c, --clean remove all the files this test suite might create and exit 1243 -l, --list describes all the tests, or the selected TESTS 1244 _ATEOF 1245 cat <<_ATEOF || at_write_fail=1 1246 1247 Execution tuning: 1248 -C, --directory=DIR 1249 change to directory DIR before starting 1250 --color[=never|auto|always] 1251 disable colored test results, or enable even without terminal 1252 -j, --jobs[=N] 1253 Allow N jobs at once; infinite jobs with no arg (default 1) 1254 -k, --keywords=KEYWORDS 1255 select the tests matching all the comma-separated KEYWORDS 1256 multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD 1257 --recheck select all tests that failed or passed unexpectedly last time 1258 -e, --errexit abort as soon as a test fails; implies --debug 1259 -v, --verbose force more detailed output 1260 default for debugging scripts 1261 -d, --debug inhibit clean up and top-level logging 1262 default for debugging scripts 1263 -x, --trace enable tests shell tracing 1264 _ATEOF 1265 cat <<_ATEOF || at_write_fail=1 1266 1267 Other options: 1268 _ATEOF 1269 1270 cat <<_ATEOF || at_write_fail=1 1271 compile C parsers with the C++ compiler 1272 _ATEOF 1273 cat <<_ATEOF || at_write_fail=1 1274 1275 Report bugs to <bug-bison@gnu.org>. 1276 General help using GNU software: <http://www.gnu.org/gethelp/>. 1277 _ATEOF 1278 exit $at_write_fail 1279 fi 1280 1281 # List of tests. 1282 if $at_list_p; then 1283 cat <<_ATEOF || at_write_fail=1 1284 GNU Bison 2.7 test suite test groups: 1285 1286 NUM: FILE-NAME:LINE TEST-GROUP-NAME 1287 KEYWORDS 1288 1289 _ATEOF 1290 # Pass an empty line as separator between selected groups and help. 1291 $as_echo "$at_groups$as_nl$as_nl$at_help_all" | 1292 awk 'NF == 1 && FS != ";" { 1293 selected[$ 1] = 1 1294 next 1295 } 1296 /^$/ { FS = ";" } 1297 NF > 0 { 1298 if (selected[$ 1]) { 1299 printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 1300 if ($ 4) { 1301 lmax = 79 1302 indent = " " 1303 line = indent 1304 len = length (line) 1305 n = split ($ 4, a, " ") 1306 for (i = 1; i <= n; i++) { 1307 l = length (a[i]) + 1 1308 if (i > 1 && len + l > lmax) { 1309 print line 1310 line = indent " " a[i] 1311 len = length (line) 1312 } else { 1313 line = line " " a[i] 1314 len += l 1315 } 1316 } 1317 if (n) 1318 print line 1319 } 1320 } 1321 }' || at_write_fail=1 1322 exit $at_write_fail 1323 fi 1324 if $at_version_p; then 1325 $as_echo "$as_me (GNU Bison 2.7)" && 1326 cat <<\_ATEOF || at_write_fail=1 1327 1328 Copyright (C) 2012 Free Software Foundation, Inc. 1329 This test suite is free software; the Free Software Foundation gives 1330 unlimited permission to copy, distribute and modify it. 1331 _ATEOF 1332 exit $at_write_fail 1333 fi 1334 1335 # Should we print banners? Yes if more than one test is run. 1336 case $at_groups in #( 1337 *$as_nl* ) 1338 at_print_banners=: ;; #( 1339 * ) at_print_banners=false ;; 1340 esac 1341 # Text for banner N, set to a single space once printed. 1342 # Banner 1. input.at:18 1343 # Category starts at test group 1. 1344 at_banner_text_1="Input Processing." 1345 # Banner 2. named-refs.at:19 1346 # Category starts at test group 39. 1347 at_banner_text_2="Named references tests." 1348 # Banner 3. output.at:18 1349 # Category starts at test group 51. 1350 at_banner_text_3="Output file names." 1351 # Banner 4. skeletons.at:18 1352 # Category starts at test group 92. 1353 at_banner_text_4="Skeleton Support." 1354 # Banner 5. sets.at:59 1355 # Category starts at test group 98. 1356 at_banner_text_5="Grammar Sets (Firsts etc.)." 1357 # Banner 6. reduce.at:18 1358 # Category starts at test group 102. 1359 at_banner_text_6="Grammar Reduction." 1360 # Banner 7. synclines.at:19 1361 # Category starts at test group 128. 1362 at_banner_text_7="User Actions." 1363 # Banner 8. headers.at:19 1364 # Category starts at test group 138. 1365 at_banner_text_8="Parser Headers." 1366 # Banner 9. actions.at:18 1367 # Category starts at test group 144. 1368 at_banner_text_9="User Actions." 1369 # Banner 10. conflicts.at:19 1370 # Category starts at test group 181. 1371 at_banner_text_10="Conflicts." 1372 # Banner 11. calc.at:588 1373 # Category starts at test group 200. 1374 at_banner_text_11="Simple LALR(1) Calculator." 1375 # Banner 12. calc.at:628 1376 # Category starts at test group 218. 1377 at_banner_text_12="Simple GLR Calculator." 1378 # Banner 13. calc.at:667 1379 # Category starts at test group 235. 1380 at_banner_text_13="Simple LALR(1) C++ Calculator." 1381 # Banner 14. calc.at:696 1382 # Category starts at test group 244. 1383 at_banner_text_14="Simple GLR C++ Calculator." 1384 # Banner 15. torture.at:19 1385 # Category starts at test group 254. 1386 at_banner_text_15="Torture Tests." 1387 # Banner 16. existing.at:19 1388 # Category starts at test group 259. 1389 at_banner_text_16="Existing Grammars." 1390 # Banner 17. regression.at:18 1391 # Category starts at test group 268. 1392 at_banner_text_17="Regression tests." 1393 # Banner 18. c++.at:19 1394 # Category starts at test group 301. 1395 at_banner_text_18="C++ Features." 1396 # Banner 19. java.at:18 1397 # Category starts at test group 307. 1398 at_banner_text_19="Java Calculator." 1399 # Banner 20. java.at:382 1400 # Category starts at test group 315. 1401 at_banner_text_20="Java Parameters." 1402 # Banner 21. cxx-type.at:18 1403 # Category starts at test group 322. 1404 at_banner_text_21="C++ Type Syntax (GLR)." 1405 # Banner 22. glr-regression.at:19 1406 # Category starts at test group 331. 1407 at_banner_text_22="GLR Regression Tests" 1408 # Banner 23. push.at:18 1409 # Category starts at test group 350. 1410 at_banner_text_23="Push Parsing Tests" 1411 1412 # Take any -C into account. 1413 if $at_change_dir ; then 1414 test x != "x$at_dir" && cd "$at_dir" \ 1415 || as_fn_error $? "unable to change directory" 1416 at_dir=`pwd` 1417 fi 1418 1419 # Load the config files for any default variable assignments. 1420 for at_file in atconfig atlocal 1421 do 1422 test -r $at_file || continue 1423 . ./$at_file || as_fn_error $? "invalid content: $at_file" 1424 done 1425 1426 # Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: 1427 : "${at_top_build_prefix=$at_top_builddir}" 1428 1429 # Perform any assignments requested during argument parsing. 1430 eval "$at_debug_args" 1431 1432 # atconfig delivers names relative to the directory the test suite is 1433 # in, but the groups themselves are run in testsuite-dir/group-dir. 1434 if test -n "$at_top_srcdir"; then 1435 builddir=../.. 1436 for at_dir_var in srcdir top_srcdir top_build_prefix 1437 do 1438 eval at_val=\$at_$at_dir_var 1439 case $at_val in 1440 [\\/$]* | ?:[\\/]* ) at_prefix= ;; 1441 *) at_prefix=../../ ;; 1442 esac 1443 eval "$at_dir_var=\$at_prefix\$at_val" 1444 done 1445 fi 1446 1447 ## -------------------- ## 1448 ## Directory structure. ## 1449 ## -------------------- ## 1450 1451 # This is the set of directories and files used by this script 1452 # (non-literals are capitalized): 1453 # 1454 # TESTSUITE - the testsuite 1455 # TESTSUITE.log - summarizes the complete testsuite run 1456 # TESTSUITE.dir/ - created during a run, remains after -d or failed test 1457 # + at-groups/ - during a run: status of all groups in run 1458 # | + NNN/ - during a run: meta-data about test group NNN 1459 # | | + check-line - location (source file and line) of current AT_CHECK 1460 # | | + status - exit status of current AT_CHECK 1461 # | | + stdout - stdout of current AT_CHECK 1462 # | | + stder1 - stderr, including trace 1463 # | | + stderr - stderr, with trace filtered out 1464 # | | + test-source - portion of testsuite that defines group 1465 # | | + times - timestamps for computing duration 1466 # | | + pass - created if group passed 1467 # | | + xpass - created if group xpassed 1468 # | | + fail - created if group failed 1469 # | | + xfail - created if group xfailed 1470 # | | + skip - created if group skipped 1471 # + at-stop - during a run: end the run if this file exists 1472 # + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction 1473 # + 0..NNN/ - created for each group NNN, remains after -d or failed test 1474 # | + TESTSUITE.log - summarizes the group results 1475 # | + ... - files created during the group 1476 1477 # The directory the whole suite works in. 1478 # Should be absolute to let the user `cd' at will. 1479 at_suite_dir=$at_dir/$as_me.dir 1480 # The file containing the suite ($at_dir might have changed since earlier). 1481 at_suite_log=$at_dir/$as_me.log 1482 # The directory containing helper files per test group. 1483 at_helper_dir=$at_suite_dir/at-groups 1484 # Stop file: if it exists, do not start new jobs. 1485 at_stop_file=$at_suite_dir/at-stop 1486 # The fifo used for the job dispatcher. 1487 at_job_fifo=$at_suite_dir/at-job-fifo 1488 1489 if $at_clean; then 1490 test -d "$at_suite_dir" && 1491 find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; 1492 rm -f -r "$at_suite_dir" "$at_suite_log" 1493 exit $? 1494 fi 1495 1496 # Don't take risks: use only absolute directories in PATH. 1497 # 1498 # For stand-alone test suites (ie. atconfig was not found), 1499 # AUTOTEST_PATH is relative to `.'. 1500 # 1501 # For embedded test suites, AUTOTEST_PATH is relative to the top level 1502 # of the package. Then expand it into build/src parts, since users 1503 # may create executables in both places. 1504 AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` 1505 at_path= 1506 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1507 for as_dir in $AUTOTEST_PATH $PATH 1508 do 1509 IFS=$as_save_IFS 1510 test -z "$as_dir" && as_dir=. 1511 test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR 1512 case $as_dir in 1513 [\\/]* | ?:[\\/]* ) 1514 as_fn_append at_path "$as_dir" 1515 ;; 1516 * ) 1517 if test -z "$at_top_build_prefix"; then 1518 # Stand-alone test suite. 1519 as_fn_append at_path "$as_dir" 1520 else 1521 # Embedded test suite. 1522 as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR" 1523 as_fn_append at_path "$at_top_srcdir/$as_dir" 1524 fi 1525 ;; 1526 esac 1527 done 1528 IFS=$as_save_IFS 1529 1530 1531 # Now build and simplify PATH. 1532 # 1533 # There might be directories that don't exist, but don't redirect 1534 # builtins' (eg., cd) stderr directly: Ultrix's sh hates that. 1535 at_new_path= 1536 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1537 for as_dir in $at_path 1538 do 1539 IFS=$as_save_IFS 1540 test -z "$as_dir" && as_dir=. 1541 test -d "$as_dir" || continue 1542 case $as_dir in 1543 [\\/]* | ?:[\\/]* ) ;; 1544 * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; 1545 esac 1546 case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in 1547 *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; 1548 $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; 1549 *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;; 1550 esac 1551 done 1552 IFS=$as_save_IFS 1553 1554 PATH=$at_new_path 1555 export PATH 1556 1557 # Setting up the FDs. 1558 1559 1560 1561 # 5 is the log file. Not to be overwritten if `-d'. 1562 if $at_debug_p; then 1563 at_suite_log=/dev/null 1564 else 1565 : >"$at_suite_log" 1566 fi 1567 exec 5>>"$at_suite_log" 1568 1569 # Banners and logs. 1570 $as_echo "## ------------------------- ## 1571 ## GNU Bison 2.7 test suite. ## 1572 ## ------------------------- ##" 1573 { 1574 $as_echo "## ------------------------- ## 1575 ## GNU Bison 2.7 test suite. ## 1576 ## ------------------------- ##" 1577 echo 1578 1579 $as_echo "$as_me: command line was:" 1580 $as_echo " \$ $0 $at_cli_args" 1581 echo 1582 1583 # If ChangeLog exists, list a few lines in case it might help determining 1584 # the exact version. 1585 if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then 1586 $as_echo "## ---------- ## 1587 ## ChangeLog. ## 1588 ## ---------- ##" 1589 echo 1590 sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog" 1591 echo 1592 fi 1593 1594 { 1595 cat <<_ASUNAME 1596 ## --------- ## 1597 ## Platform. ## 1598 ## --------- ## 1599 1600 hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 1601 uname -m = `(uname -m) 2>/dev/null || echo unknown` 1602 uname -r = `(uname -r) 2>/dev/null || echo unknown` 1603 uname -s = `(uname -s) 2>/dev/null || echo unknown` 1604 uname -v = `(uname -v) 2>/dev/null || echo unknown` 1605 1606 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` 1607 /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` 1608 1609 /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` 1610 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` 1611 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` 1612 /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` 1613 /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` 1614 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` 1615 /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` 1616 1617 _ASUNAME 1618 1619 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1620 for as_dir in $PATH 1621 do 1622 IFS=$as_save_IFS 1623 test -z "$as_dir" && as_dir=. 1624 $as_echo "PATH: $as_dir" 1625 done 1626 IFS=$as_save_IFS 1627 1628 } 1629 echo 1630 1631 # Contents of the config files. 1632 for at_file in atconfig atlocal 1633 do 1634 test -r $at_file || continue 1635 $as_echo "$as_me: $at_file:" 1636 sed 's/^/| /' $at_file 1637 echo 1638 done 1639 } >&5 1640 1641 at_save_special_files () 1642 { 1643 for at_save_file in stderr experr expout 1644 do 1645 test ! -f at-bison-check-$at_save_file.bak || 1646 as_fn_error 1 "fatal error: back-up on top of a back-up" 1647 test ! -f $at_save_file || mv $at_save_file at-bison-check-$at_save_file.bak 1648 done 1649 } 1650 1651 at_restore_special_files () 1652 { 1653 for at_save_file in stderr experr expout 1654 do 1655 test ! -f at-bison-check-$at_save_file.bak || 1656 mv at-bison-check-$at_save_file.bak $at_save_file 1657 done 1658 } 1659 1660 1661 ## ------------------------- ## 1662 ## Autotest shell functions. ## 1663 ## ------------------------- ## 1664 1665 # at_fn_banner NUMBER 1666 # ------------------- 1667 # Output banner NUMBER, provided the testsuite is running multiple groups and 1668 # this particular banner has not yet been printed. 1669 at_fn_banner () 1670 { 1671 $at_print_banners || return 0 1672 eval at_banner_text=\$at_banner_text_$1 1673 test "x$at_banner_text" = "x " && return 0 1674 eval "at_banner_text_$1=\" \"" 1675 if test -z "$at_banner_text"; then 1676 $at_first || echo 1677 else 1678 $as_echo "$as_nl$at_banner_text$as_nl" 1679 fi 1680 } # at_fn_banner 1681 1682 # at_fn_check_prepare_notrace REASON LINE 1683 # --------------------------------------- 1684 # Perform AT_CHECK preparations for the command at LINE for an untraceable 1685 # command; REASON is the reason for disabling tracing. 1686 at_fn_check_prepare_notrace () 1687 { 1688 $at_trace_echo "Not enabling shell tracing (command contains $1)" 1689 $as_echo "$2" >"$at_check_line_file" 1690 at_check_trace=: at_check_filter=: 1691 : >"$at_stdout"; : >"$at_stderr" 1692 } 1693 1694 # at_fn_check_prepare_trace LINE 1695 # ------------------------------ 1696 # Perform AT_CHECK preparations for the command at LINE for a traceable 1697 # command. 1698 at_fn_check_prepare_trace () 1699 { 1700 $as_echo "$1" >"$at_check_line_file" 1701 at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace 1702 : >"$at_stdout"; : >"$at_stderr" 1703 } 1704 1705 # at_fn_check_prepare_dynamic COMMAND LINE 1706 # ---------------------------------------- 1707 # Decide if COMMAND at LINE is traceable at runtime, and call the appropriate 1708 # preparation function. 1709 at_fn_check_prepare_dynamic () 1710 { 1711 case $1 in 1712 *$as_nl*) 1713 at_fn_check_prepare_notrace 'an embedded newline' "$2" ;; 1714 *) 1715 at_fn_check_prepare_trace "$2" ;; 1716 esac 1717 } 1718 1719 # at_fn_filter_trace 1720 # ------------------ 1721 # Remove the lines in the file "$at_stderr" generated by "set -x" and print 1722 # them to stderr. 1723 at_fn_filter_trace () 1724 { 1725 mv "$at_stderr" "$at_stder1" 1726 grep '^ *+' "$at_stder1" >&2 1727 grep -v '^ *+' "$at_stder1" >"$at_stderr" 1728 } 1729 1730 # at_fn_log_failure FILE-LIST 1731 # --------------------------- 1732 # Copy the files in the list on stdout with a "> " prefix, and exit the shell 1733 # with a failure exit code. 1734 at_fn_log_failure () 1735 { 1736 for file 1737 do $as_echo "$file:"; sed 's/^/> /' "$file"; done 1738 echo 1 > "$at_status_file" 1739 exit 1 1740 } 1741 1742 # at_fn_check_skip EXIT-CODE LINE 1743 # ------------------------------- 1744 # Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit 1745 # the test group subshell with that same exit code. Use LINE in any report 1746 # about test failure. 1747 at_fn_check_skip () 1748 { 1749 case $1 in 1750 99) echo 99 > "$at_status_file"; at_failed=: 1751 $as_echo "$2: hard failure"; exit 99;; 1752 77) echo 77 > "$at_status_file"; exit 77;; 1753 esac 1754 } 1755 1756 # at_fn_check_status EXPECTED EXIT-CODE LINE 1757 # ------------------------------------------ 1758 # Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. 1759 # Otherwise, if it is 77 or 99, exit the test group subshell with that same 1760 # exit code; if it is anything else print an error message referring to LINE, 1761 # and fail the test. 1762 at_fn_check_status () 1763 { 1764 case $2 in 1765 $1 ) ;; 1766 77) echo 77 > "$at_status_file"; exit 77;; 1767 99) echo 99 > "$at_status_file"; at_failed=: 1768 $as_echo "$3: hard failure"; exit 99;; 1769 *) $as_echo "$3: exit code was $2, expected $1" 1770 at_failed=:;; 1771 esac 1772 } 1773 1774 # at_fn_diff_devnull FILE 1775 # ----------------------- 1776 # Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff 1777 # invocations. 1778 at_fn_diff_devnull () 1779 { 1780 test -s "$1" || return 0 1781 $at_diff "$at_devnull" "$1" 1782 } 1783 1784 # at_fn_test NUMBER 1785 # ----------------- 1786 # Parse out test NUMBER from the tail of this file. 1787 at_fn_test () 1788 { 1789 eval at_sed=\$at_sed$1 1790 sed "$at_sed" "$at_myself" > "$at_test_source" 1791 } 1792 1793 # at_fn_create_debugging_script 1794 # ----------------------------- 1795 # Create the debugging script $at_group_dir/run which will reproduce the 1796 # current test group. 1797 at_fn_create_debugging_script () 1798 { 1799 { 1800 echo "#! /bin/sh" && 1801 echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && 1802 $as_echo "cd '$at_dir'" && 1803 $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && 1804 echo 'exit 1' 1805 } >"$at_group_dir/run" && 1806 chmod +x "$at_group_dir/run" 1807 } 1808 1809 ## -------------------------------- ## 1810 ## End of autotest shell functions. ## 1811 ## -------------------------------- ## 1812 { 1813 $as_echo "## ---------------- ## 1814 ## Tested programs. ## 1815 ## ---------------- ##" 1816 echo 1817 } >&5 1818 1819 # Report what programs are being tested. 1820 for at_program in : $at_tested 1821 do 1822 test "$at_program" = : && continue 1823 case $at_program in 1824 [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; 1825 * ) 1826 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1827 for as_dir in $PATH 1828 do 1829 IFS=$as_save_IFS 1830 test -z "$as_dir" && as_dir=. 1831 test -f "$as_dir/$at_program" && break 1832 done 1833 IFS=$as_save_IFS 1834 1835 at_program_=$as_dir/$at_program ;; 1836 esac 1837 if test -f "$at_program_"; then 1838 { 1839 $as_echo "$at_srcdir/local.at:913: $at_program_ --version" 1840 "$at_program_" --version </dev/null 1841 echo 1842 } >&5 2>&1 1843 else 1844 as_fn_error $? "cannot find $at_program" "$LINENO" 5 1845 fi 1846 done 1847 1848 { 1849 $as_echo "## ------------------ ## 1850 ## Running the tests. ## 1851 ## ------------------ ##" 1852 } >&5 1853 1854 at_start_date=`date` 1855 at_start_time=`date +%s 2>/dev/null` 1856 $as_echo "$as_me: starting at: $at_start_date" >&5 1857 1858 # Create the master directory if it doesn't already exist. 1859 as_dir="$at_suite_dir"; as_fn_mkdir_p || 1860 as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 1861 1862 # Can we diff with `/dev/null'? DU 5.0 refuses. 1863 if diff /dev/null /dev/null >/dev/null 2>&1; then 1864 at_devnull=/dev/null 1865 else 1866 at_devnull=$at_suite_dir/devnull 1867 >"$at_devnull" 1868 fi 1869 1870 # Use `diff -u' when possible. 1871 if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff" 1872 then 1873 at_diff='diff -u' 1874 else 1875 at_diff=diff 1876 fi 1877 1878 # Get the last needed group. 1879 for at_group in : $at_groups; do :; done 1880 1881 # Extract the start and end lines of each test group at the tail 1882 # of this file 1883 awk ' 1884 BEGIN { FS="" } 1885 /^#AT_START_/ { 1886 start = NR 1887 } 1888 /^#AT_STOP_/ { 1889 test = substr ($ 0, 10) 1890 print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" 1891 if (test == "'"$at_group"'") exit 1892 }' "$at_myself" > "$at_suite_dir/at-source-lines" && 1893 . "$at_suite_dir/at-source-lines" || 1894 as_fn_error $? "cannot create test line number cache" "$LINENO" 5 1895 rm -f "$at_suite_dir/at-source-lines" 1896 1897 # Set number of jobs for `-j'; avoid more jobs than test groups. 1898 set X $at_groups; shift; at_max_jobs=$# 1899 if test $at_max_jobs -eq 0; then 1900 at_jobs=1 1901 fi 1902 if test $at_jobs -ne 1 && 1903 { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then 1904 at_jobs=$at_max_jobs 1905 fi 1906 1907 # If parallel mode, don't output banners, don't split summary lines. 1908 if test $at_jobs -ne 1; then 1909 at_print_banners=false 1910 at_quiet=: 1911 fi 1912 1913 # Set up helper dirs. 1914 rm -rf "$at_helper_dir" && 1915 mkdir "$at_helper_dir" && 1916 cd "$at_helper_dir" && 1917 { test -z "$at_groups" || mkdir $at_groups; } || 1918 as_fn_error $? "testsuite directory setup failed" "$LINENO" 5 1919 1920 # Functions for running a test group. We leave the actual 1921 # test group execution outside of a shell function in order 1922 # to avoid hitting zsh 4.x exit status bugs. 1923 1924 # at_fn_group_prepare 1925 # ------------------- 1926 # Prepare for running a test group. 1927 at_fn_group_prepare () 1928 { 1929 # The directory for additional per-group helper files. 1930 at_job_dir=$at_helper_dir/$at_group 1931 # The file containing the location of the last AT_CHECK. 1932 at_check_line_file=$at_job_dir/check-line 1933 # The file containing the exit status of the last command. 1934 at_status_file=$at_job_dir/status 1935 # The files containing the output of the tested commands. 1936 at_stdout=$at_job_dir/stdout 1937 at_stder1=$at_job_dir/stder1 1938 at_stderr=$at_job_dir/stderr 1939 # The file containing the code for a test group. 1940 at_test_source=$at_job_dir/test-source 1941 # The file containing dates. 1942 at_times_file=$at_job_dir/times 1943 1944 # Be sure to come back to the top test directory. 1945 cd "$at_suite_dir" 1946 1947 # Clearly separate the test groups when verbose. 1948 $at_first || $at_verbose echo 1949 1950 at_group_normalized=$at_group 1951 1952 eval 'while :; do 1953 case $at_group_normalized in #( 1954 '"$at_format"'*) break;; 1955 esac 1956 at_group_normalized=0$at_group_normalized 1957 done' 1958 1959 1960 # Create a fresh directory for the next test group, and enter. 1961 # If one already exists, the user may have invoked ./run from 1962 # within that directory; we remove the contents, but not the 1963 # directory itself, so that we aren't pulling the rug out from 1964 # under the shell's notion of the current directory. 1965 at_group_dir=$at_suite_dir/$at_group_normalized 1966 at_group_log=$at_group_dir/$as_me.log 1967 if test -d "$at_group_dir"; then 1968 find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; 1969 rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* 1970 fi || 1971 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 1972 $as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} 1973 # Be tolerant if the above `rm' was not able to remove the directory. 1974 as_dir="$at_group_dir"; as_fn_mkdir_p 1975 1976 echo 0 > "$at_status_file" 1977 1978 # In verbose mode, append to the log file *and* show on 1979 # the standard output; in quiet mode only write to the log. 1980 if test -z "$at_verbose"; then 1981 at_tee_pipe='tee -a "$at_group_log"' 1982 else 1983 at_tee_pipe='cat >> "$at_group_log"' 1984 fi 1985 } 1986 1987 # at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] 1988 # ------------------------------------------------- 1989 # Declare the test group ORDINAL, located at LINE with group description DESC, 1990 # and residing under BANNER. Use PAD to align the status column. 1991 at_fn_group_banner () 1992 { 1993 at_setup_line="$2" 1994 test -n "$5" && at_fn_banner $5 1995 at_desc="$3" 1996 case $1 in 1997 [0-9]) at_desc_line=" $1: ";; 1998 [0-9][0-9]) at_desc_line=" $1: " ;; 1999 *) at_desc_line="$1: " ;; 2000 esac 2001 as_fn_append at_desc_line "$3$4" 2002 $at_quiet $as_echo_n "$at_desc_line" 2003 echo "# -*- compilation -*-" >> "$at_group_log" 2004 } 2005 2006 # at_fn_group_postprocess 2007 # ----------------------- 2008 # Perform cleanup after running a test group. 2009 at_fn_group_postprocess () 2010 { 2011 # Be sure to come back to the suite directory, in particular 2012 # since below we might `rm' the group directory we are in currently. 2013 cd "$at_suite_dir" 2014 2015 if test ! -f "$at_check_line_file"; then 2016 sed "s/^ */$as_me: WARNING: /" <<_ATEOF 2017 A failure happened in a test group before any test could be 2018 run. This means that test suite is improperly designed. Please 2019 report this failure to <bug-bison@gnu.org>. 2020 _ATEOF 2021 $as_echo "$at_setup_line" >"$at_check_line_file" 2022 at_status=99 2023 fi 2024 $at_verbose $as_echo_n "$at_group. $at_setup_line: " 2025 $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" 2026 case $at_xfail:$at_status in 2027 yes:0) 2028 at_msg="UNEXPECTED PASS" 2029 at_res=xpass 2030 at_errexit=$at_errexit_p 2031 at_color=$at_red 2032 ;; 2033 no:0) 2034 at_msg="ok" 2035 at_res=pass 2036 at_errexit=false 2037 at_color=$at_grn 2038 ;; 2039 *:77) 2040 at_msg='skipped ('`cat "$at_check_line_file"`')' 2041 at_res=skip 2042 at_errexit=false 2043 at_color=$at_blu 2044 ;; 2045 no:* | *:99) 2046 at_msg='FAILED ('`cat "$at_check_line_file"`')' 2047 at_res=fail 2048 at_errexit=$at_errexit_p 2049 at_color=$at_red 2050 ;; 2051 yes:*) 2052 at_msg='expected failure ('`cat "$at_check_line_file"`')' 2053 at_res=xfail 2054 at_errexit=false 2055 at_color=$at_lgn 2056 ;; 2057 esac 2058 echo "$at_res" > "$at_job_dir/$at_res" 2059 # In parallel mode, output the summary line only afterwards. 2060 if test $at_jobs -ne 1 && test -n "$at_verbose"; then 2061 $as_echo "$at_desc_line $at_color$at_msg$at_std" 2062 else 2063 # Make sure there is a separator even with long titles. 2064 $as_echo " $at_color$at_msg$at_std" 2065 fi 2066 at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" 2067 case $at_status in 2068 0|77) 2069 # $at_times_file is only available if the group succeeded. 2070 # We're not including the group log, so the success message 2071 # is written in the global log separately. But we also 2072 # write to the group log in case they're using -d. 2073 if test -f "$at_times_file"; then 2074 at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' 2075 rm -f "$at_times_file" 2076 fi 2077 $as_echo "$at_log_msg" >> "$at_group_log" 2078 $as_echo "$at_log_msg" >&5 2079 2080 # Cleanup the group directory, unless the user wants the files 2081 # or the success was unexpected. 2082 if $at_debug_p || test $at_res = xpass; then 2083 at_fn_create_debugging_script 2084 if test $at_res = xpass && $at_errexit; then 2085 echo stop > "$at_stop_file" 2086 fi 2087 else 2088 if test -d "$at_group_dir"; then 2089 find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; 2090 rm -fr "$at_group_dir" 2091 fi 2092 rm -f "$at_test_source" 2093 fi 2094 ;; 2095 *) 2096 # Upon failure, include the log into the testsuite's global 2097 # log. The failure message is written in the group log. It 2098 # is later included in the global log. 2099 $as_echo "$at_log_msg" >> "$at_group_log" 2100 2101 # Upon failure, keep the group directory for autopsy, and create 2102 # the debugging script. With -e, do not start any further tests. 2103 at_fn_create_debugging_script 2104 if $at_errexit; then 2105 echo stop > "$at_stop_file" 2106 fi 2107 ;; 2108 esac 2109 } 2110 2111 2112 ## ------------ ## 2113 ## Driver loop. ## 2114 ## ------------ ## 2115 2116 2117 if (set -m && set +m && set +b) >/dev/null 2>&1; then 2118 set +b 2119 at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=- 2120 else 2121 at_job_control_on=: at_job_control_off=: at_job_group= 2122 fi 2123 2124 for at_signal in 1 2 15; do 2125 trap 'set +x; set +e 2126 $at_job_control_off 2127 at_signal='"$at_signal"' 2128 echo stop > "$at_stop_file" 2129 trap "" $at_signal 2130 at_pgids= 2131 for at_pgid in `jobs -p 2>/dev/null`; do 2132 at_pgids="$at_pgids $at_job_group$at_pgid" 2133 done 2134 test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null 2135 wait 2136 if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then 2137 echo >&2 2138 fi 2139 at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` 2140 set x $at_signame 2141 test 0 -gt 2 && at_signame=$at_signal 2142 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 2143 $as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} 2144 as_fn_arith 128 + $at_signal && exit_status=$as_val 2145 as_fn_exit $exit_status' $at_signal 2146 done 2147 2148 rm -f "$at_stop_file" 2149 at_first=: 2150 2151 if test $at_jobs -ne 1 && 2152 rm -f "$at_job_fifo" && 2153 test -n "$at_job_group" && 2154 ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null 2155 then 2156 # FIFO job dispatcher. 2157 2158 trap 'at_pids= 2159 for at_pid in `jobs -p`; do 2160 at_pids="$at_pids $at_job_group$at_pid" 2161 done 2162 if test -n "$at_pids"; then 2163 at_sig=TSTP 2164 test "${TMOUT+set}" = set && at_sig=STOP 2165 kill -$at_sig $at_pids 2>/dev/null 2166 fi 2167 kill -STOP $$ 2168 test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP 2169 2170 echo 2171 # Turn jobs into a list of numbers, starting from 1. 2172 at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` 2173 2174 set X $at_joblist 2175 shift 2176 for at_group in $at_groups; do 2177 $at_job_control_on 2>/dev/null 2178 ( 2179 # Start one test group. 2180 $at_job_control_off 2181 if $at_first; then 2182 exec 7>"$at_job_fifo" 2183 else 2184 exec 6<&- 2185 fi 2186 trap 'set +x; set +e 2187 trap "" PIPE 2188 echo stop > "$at_stop_file" 2189 echo >&7 2190 as_fn_exit 141' PIPE 2191 at_fn_group_prepare 2192 if cd "$at_group_dir" && 2193 at_fn_test $at_group && 2194 . "$at_test_source" 2195 then :; else 2196 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 2197 $as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} 2198 at_failed=: 2199 fi 2200 at_fn_group_postprocess 2201 echo >&7 2202 ) & 2203 $at_job_control_off 2204 if $at_first; then 2205 at_first=false 2206 exec 6<"$at_job_fifo" 7>"$at_job_fifo" 2207 fi 2208 shift # Consume one token. 2209 if test $# -gt 0; then :; else 2210 read at_token <&6 || break 2211 set x $* 2212 fi 2213 test -f "$at_stop_file" && break 2214 done 2215 exec 7>&- 2216 # Read back the remaining ($at_jobs - 1) tokens. 2217 set X $at_joblist 2218 shift 2219 if test $# -gt 0; then 2220 shift 2221 for at_job 2222 do 2223 read at_token 2224 done <&6 2225 fi 2226 exec 6<&- 2227 wait 2228 else 2229 # Run serially, avoid forks and other potential surprises. 2230 for at_group in $at_groups; do 2231 at_fn_group_prepare 2232 if cd "$at_group_dir" && 2233 at_fn_test $at_group && 2234 . "$at_test_source"; then :; else 2235 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 2236 $as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} 2237 at_failed=: 2238 fi 2239 at_fn_group_postprocess 2240 test -f "$at_stop_file" && break 2241 at_first=false 2242 done 2243 fi 2244 2245 # Wrap up the test suite with summary statistics. 2246 cd "$at_helper_dir" 2247 2248 # Use ?..???? when the list must remain sorted, the faster * otherwise. 2249 at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` 2250 at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` 2251 at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` 2252 at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do 2253 echo $f; done | sed '/?/d; s,/xpass,,'` 2254 at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do 2255 echo $f; done | sed '/?/d; s,/fail,,'` 2256 2257 set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list 2258 shift; at_group_count=$# 2259 set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* 2260 set X $at_xfail_list; shift; at_xfail_count=$# 2261 set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* 2262 set X $at_skip_list; shift; at_skip_count=$# 2263 2264 as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val 2265 as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val 2266 as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val 2267 2268 # Back to the top directory. 2269 cd "$at_dir" 2270 rm -rf "$at_helper_dir" 2271 2272 # Compute the duration of the suite. 2273 at_stop_date=`date` 2274 at_stop_time=`date +%s 2>/dev/null` 2275 $as_echo "$as_me: ending at: $at_stop_date" >&5 2276 case $at_start_time,$at_stop_time in 2277 [0-9]*,[0-9]*) 2278 as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val 2279 as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val 2280 as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val 2281 as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val 2282 as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val 2283 at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" 2284 $as_echo "$as_me: test suite duration: $at_duration" >&5 2285 ;; 2286 esac 2287 2288 echo 2289 $as_echo "## ------------- ## 2290 ## Test results. ## 2291 ## ------------- ##" 2292 echo 2293 { 2294 echo 2295 $as_echo "## ------------- ## 2296 ## Test results. ## 2297 ## ------------- ##" 2298 echo 2299 } >&5 2300 2301 if test $at_run_count = 1; then 2302 at_result="1 test" 2303 at_were=was 2304 else 2305 at_result="$at_run_count tests" 2306 at_were=were 2307 fi 2308 if $at_errexit_p && test $at_unexpected_count != 0; then 2309 if test $at_xpass_count = 1; then 2310 at_result="$at_result $at_were run, one passed" 2311 else 2312 at_result="$at_result $at_were run, one failed" 2313 fi 2314 at_result="$at_result unexpectedly and inhibited subsequent tests." 2315 at_color=$at_red 2316 else 2317 # Don't you just love exponential explosion of the number of cases? 2318 at_color=$at_red 2319 case $at_xpass_count:$at_fail_count:$at_xfail_count in 2320 # So far, so good. 2321 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;; 2322 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;; 2323 2324 # Some unexpected failures 2325 0:*:0) at_result="$at_result $at_were run, 2326 $at_fail_count failed unexpectedly." ;; 2327 2328 # Some failures, both expected and unexpected 2329 0:*:1) at_result="$at_result $at_were run, 2330 $at_total_fail_count failed ($at_xfail_count expected failure)." ;; 2331 0:*:*) at_result="$at_result $at_were run, 2332 $at_total_fail_count failed ($at_xfail_count expected failures)." ;; 2333 2334 # No unexpected failures, but some xpasses 2335 *:0:*) at_result="$at_result $at_were run, 2336 $at_xpass_count passed unexpectedly." ;; 2337 2338 # No expected failures, but failures and xpasses 2339 *:1:0) at_result="$at_result $at_were run, 2340 $at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; 2341 *:*:0) at_result="$at_result $at_were run, 2342 $at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; 2343 2344 # All of them. 2345 *:*:1) at_result="$at_result $at_were run, 2346 $at_xpass_count passed unexpectedly, 2347 $at_total_fail_count failed ($at_xfail_count expected failure)." ;; 2348 *:*:*) at_result="$at_result $at_were run, 2349 $at_xpass_count passed unexpectedly, 2350 $at_total_fail_count failed ($at_xfail_count expected failures)." ;; 2351 esac 2352 2353 if test $at_skip_count = 0 && test $at_run_count -gt 1; then 2354 at_result="All $at_result" 2355 fi 2356 fi 2357 2358 # Now put skips in the mix. 2359 case $at_skip_count in 2360 0) ;; 2361 1) at_result="$at_result 2362 1 test was skipped." ;; 2363 *) at_result="$at_result 2364 $at_skip_count tests were skipped." ;; 2365 esac 2366 2367 if test $at_unexpected_count = 0; then 2368 echo "$at_color$at_result$at_std" 2369 echo "$at_result" >&5 2370 else 2371 echo "${at_color}ERROR: $at_result$at_std" >&2 2372 echo "ERROR: $at_result" >&5 2373 { 2374 echo 2375 $as_echo "## ------------------------ ## 2376 ## Summary of the failures. ## 2377 ## ------------------------ ##" 2378 2379 # Summary of failed and skipped tests. 2380 if test $at_fail_count != 0; then 2381 echo "Failed tests:" 2382 $SHELL "$at_myself" $at_fail_list --list 2383 echo 2384 fi 2385 if test $at_skip_count != 0; then 2386 echo "Skipped tests:" 2387 $SHELL "$at_myself" $at_skip_list --list 2388 echo 2389 fi 2390 if test $at_xpass_count != 0; then 2391 echo "Unexpected passes:" 2392 $SHELL "$at_myself" $at_xpass_list --list 2393 echo 2394 fi 2395 if test $at_fail_count != 0; then 2396 $as_echo "## ---------------------- ## 2397 ## Detailed failed tests. ## 2398 ## ---------------------- ##" 2399 echo 2400 for at_group in $at_fail_list 2401 do 2402 at_group_normalized=$at_group 2403 2404 eval 'while :; do 2405 case $at_group_normalized in #( 2406 '"$at_format"'*) break;; 2407 esac 2408 at_group_normalized=0$at_group_normalized 2409 done' 2410 2411 cat "$at_suite_dir/$at_group_normalized/$as_me.log" 2412 echo 2413 done 2414 echo 2415 fi 2416 if test -n "$at_top_srcdir"; then 2417 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX 2418 ## ${at_top_build_prefix}config.log ## 2419 _ASBOX 2420 sed 's/^/| /' ${at_top_build_prefix}config.log 2421 echo 2422 fi 2423 } >&5 2424 2425 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX 2426 ## $as_me.log was created. ## 2427 _ASBOX 2428 2429 echo 2430 if $at_debug_p; then 2431 at_msg='per-test log files' 2432 else 2433 at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" 2434 fi 2435 $as_echo "Please send $at_msg and all information you think might help: 2436 2437 To: <bug-bison (at] gnu.org> 2438 Subject: [GNU Bison 2.7] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} 2439 2440 You may investigate any problem if you feel able to do so, in which 2441 case the test suite provides a good starting point. Its output may 2442 be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. 2443 " 2444 exit 1 2445 fi 2446 2447 exit 0 2448 2449 ## ------------- ## 2450 ## Actual tests. ## 2451 ## ------------- ## 2452 #AT_START_1 2453 at_fn_group_banner 1 'input.at:27' \ 2454 "Invalid inputs" " " 1 2455 at_xfail=no 2456 ( 2457 $as_echo "1. $at_setup_line: testing $at_desc ..." 2458 $at_traceon 2459 2460 2461 cat >input.y <<'_ATEOF' 2462 \000\001\002\377? 2463 %% 2464 ? 2465 default: 'a' } 2466 %& 2467 %a-does-not-exist 2468 %- 2469 %{ 2470 _ATEOF 2471 2472 { set +x 2473 $as_echo "$at_srcdir/input.at:39: \$PERL -pi -e 's/\\\\(\\d{3})/chr(oct(\$1))/ge' input.y || exit 77" 2474 at_fn_check_prepare_dynamic "$PERL -pi -e 's/\\\\(\\d{3})/chr(oct($1))/ge' input.y || exit 77" "input.at:39" 2475 ( $at_check_trace; $PERL -pi -e 's/\\(\d{3})/chr(oct($1))/ge' input.y || exit 77 2476 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2477 at_status=$? at_failed=false 2478 $at_check_filter 2479 at_fn_diff_devnull "$at_stderr" || at_failed=: 2480 at_fn_diff_devnull "$at_stdout" || at_failed=: 2481 at_fn_check_status 0 $at_status "$at_srcdir/input.at:39" 2482 $at_failed && at_fn_log_failure 2483 $at_traceon; } 2484 2485 2486 2487 { set +x 2488 $as_echo "$at_srcdir/input.at:41: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 2489 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:41" 2490 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 2491 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2492 at_status=$? at_failed=false 2493 $at_check_filter 2494 echo >>"$at_stderr"; $as_echo "input.y:1.1-2: error: invalid characters: '\\0\\001\\002\\377?' 2495 input.y:3.1: error: invalid character: '?' 2496 input.y:4.14: error: invalid character: '}' 2497 input.y:5.1: error: invalid character: '%' 2498 input.y:5.2: error: invalid character: '&' 2499 input.y:6.1-17: error: invalid directive: '%a-does-not-exist' 2500 input.y:7.1: error: invalid character: '%' 2501 input.y:7.2: error: invalid character: '-' 2502 input.y:8.1-9.0: error: missing '%}' at end of file 2503 input.y:8.1-9.0: error: syntax error, unexpected %{...%} 2504 " | \ 2505 $at_diff - "$at_stderr" || at_failed=: 2506 at_fn_diff_devnull "$at_stdout" || at_failed=: 2507 at_fn_check_status 1 $at_status "$at_srcdir/input.at:41" 2508 $at_failed && at_fn_log_failure 2509 $at_traceon; } 2510 2511 2512 2513 set +x 2514 $at_times_p && times >"$at_times_file" 2515 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2516 read at_status <"$at_status_file" 2517 #AT_STOP_1 2518 #AT_START_2 2519 at_fn_group_banner 2 'input.at:57' \ 2520 "Invalid inputs with {}" " " 1 2521 at_xfail=no 2522 ( 2523 $as_echo "2. $at_setup_line: testing $at_desc ..." 2524 $at_traceon 2525 2526 2527 # We used to SEGV here. See 2528 # http://lists.gnu.org/archive/html/bug-bison/2005-07/msg00053.html 2529 2530 cat >input.y <<'_ATEOF' 2531 2532 %destructor 2533 %initial-action 2534 %lex-param 2535 %parse-param 2536 %printer 2537 %union 2538 _ATEOF 2539 2540 2541 2542 { set +x 2543 $as_echo "$at_srcdir/input.at:72: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 2544 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:72" 2545 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 2546 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2547 at_status=$? at_failed=false 2548 $at_check_filter 2549 echo >>"$at_stderr"; $as_echo "input.y:3.1-15: error: syntax error, unexpected %initial-action, expecting {...} 2550 " | \ 2551 $at_diff - "$at_stderr" || at_failed=: 2552 at_fn_diff_devnull "$at_stdout" || at_failed=: 2553 at_fn_check_status 1 $at_status "$at_srcdir/input.at:72" 2554 $at_failed && at_fn_log_failure 2555 $at_traceon; } 2556 2557 2558 2559 set +x 2560 $at_times_p && times >"$at_times_file" 2561 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2562 read at_status <"$at_status_file" 2563 #AT_STOP_2 2564 #AT_START_3 2565 at_fn_group_banner 3 'input.at:84' \ 2566 "Invalid \$n and @n" " " 1 2567 at_xfail=no 2568 ( 2569 $as_echo "3. $at_setup_line: testing $at_desc ..." 2570 $at_traceon 2571 2572 2573 cat >input.y <<'_ATEOF' 2574 %% 2575 exp: { $$ = $1 ; }; 2576 exp: { @$ = @1 ; }; 2577 _ATEOF 2578 2579 2580 2581 { set +x 2582 $as_echo "$at_srcdir/input.at:92: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 2583 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:92" 2584 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 2585 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2586 at_status=$? at_failed=false 2587 $at_check_filter 2588 echo >>"$at_stderr"; $as_echo "input.y:2.13-14: error: integer out of range: '\$1' 2589 input.y:3.13-14: error: integer out of range: '@1' 2590 " | \ 2591 $at_diff - "$at_stderr" || at_failed=: 2592 at_fn_diff_devnull "$at_stdout" || at_failed=: 2593 at_fn_check_status 1 $at_status "$at_srcdir/input.at:92" 2594 $at_failed && at_fn_log_failure 2595 $at_traceon; } 2596 2597 2598 2599 set +x 2600 $at_times_p && times >"$at_times_file" 2601 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2602 read at_status <"$at_status_file" 2603 #AT_STOP_3 2604 #AT_START_4 2605 at_fn_group_banner 4 'input.at:104' \ 2606 "Type Clashes" " " 1 2607 at_xfail=no 2608 ( 2609 $as_echo "4. $at_setup_line: testing $at_desc ..." 2610 $at_traceon 2611 2612 2613 cat >input.y <<'_ATEOF' 2614 %union { int bar; } 2615 %token foo 2616 %type <bar> exp 2617 %% 2618 exp: foo { $$; } foo { $2; } foo 2619 | foo 2620 | /* Empty. */ 2621 ; 2622 _ATEOF 2623 2624 2625 2626 { set +x 2627 $as_echo "$at_srcdir/input.at:117: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 2628 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:117" 2629 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 2630 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2631 at_status=$? at_failed=false 2632 $at_check_filter 2633 echo >>"$at_stderr"; $as_echo "input.y:5.12-13: error: \$\$ for the midrule at \$2 of 'exp' has no declared type 2634 input.y:5.24-25: error: \$2 of 'exp' has no declared type 2635 input.y:5.6-32: warning: type clash on default action: <bar> != <> 2636 input.y:6.6-8: warning: type clash on default action: <bar> != <> 2637 input.y:7.5: warning: empty rule for typed nonterminal, and no action 2638 " | \ 2639 $at_diff - "$at_stderr" || at_failed=: 2640 at_fn_diff_devnull "$at_stdout" || at_failed=: 2641 at_fn_check_status 1 $at_status "$at_srcdir/input.at:117" 2642 $at_failed && at_fn_log_failure 2643 $at_traceon; } 2644 2645 2646 2647 set +x 2648 $at_times_p && times >"$at_times_file" 2649 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2650 read at_status <"$at_status_file" 2651 #AT_STOP_4 2652 #AT_START_5 2653 at_fn_group_banner 5 'input.at:285' \ 2654 "Unused values" " " 1 2655 at_xfail=no 2656 ( 2657 $as_echo "5. $at_setup_line: testing $at_desc ..." 2658 $at_traceon 2659 2660 cat >input.y <<'_ATEOF' 2661 %token <integer> INT; 2662 %type <integer> a b c d e f g h i j k l; 2663 %destructor { destroy ($$); } INT a b c d e f g h i j k l; 2664 %% 2665 start: 2666 'a' a { $2; } | 'b' b { $2; } | 'c' c { $2; } | 'd' d { $2; } 2667 | 'e' e { $2; } | 'f' f { $2; } | 'g' g { $2; } | 'h' h { $2; } 2668 | 'i' i { $2; } | 'j' j { $2; } | 'k' k { $2; } | 'l' l { $2; } 2669 ; 2670 2671 a: INT | INT { } INT { } INT { }; 2672 b: INT | /* empty */; 2673 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 2674 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 2675 e: INT | INT { } INT { } INT { $1; }; 2676 f: INT | INT { } INT { } INT { $$ = $1 + $3 + $5; }; 2677 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 2678 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 2679 i: INT | INT INT { } { $$ = $1 + $2; }; 2680 j: INT | INT INT { $<integer>$ = 1; } { $$ = $1 + $2; }; 2681 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 2682 l: INT | INT { $<integer>$ = $<integer>1; } INT { $<integer>$ = $<integer>2 + $<integer>3; } INT { $<integer>$ = $<integer>4 + $<integer>5; }; 2683 _ATEOF 2684 2685 2686 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 2687 at_save_special_files 2688 mkdir xml-tests 2689 # Don't combine these Bison invocations since we want to be sure that 2690 # --report=all isn't required to get the full XML file. 2691 { set +x 2692 $as_echo "$at_srcdir/input.at:286: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 2693 --graph=xml-tests/test.dot -fcaret input.y" 2694 at_fn_check_prepare_notrace 'an embedded newline' "input.at:286" 2695 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 2696 --graph=xml-tests/test.dot -fcaret input.y 2697 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2698 at_status=$? at_failed=false 2699 $at_check_filter 2700 echo stderr:; cat "$at_stderr" 2701 echo stdout:; cat "$at_stdout" 2702 at_fn_check_status 0 $at_status "$at_srcdir/input.at:286" 2703 $at_failed && at_fn_log_failure 2704 $at_traceon; } 2705 2706 { set +x 2707 $as_echo "$at_srcdir/input.at:286: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -fcaret input.y" 2708 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -fcaret input.y" "input.at:286" 2709 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -fcaret input.y 2710 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2711 at_status=$? at_failed=false 2712 $at_check_filter 2713 echo stderr:; cat "$at_stderr" 2714 echo stdout:; cat "$at_stdout" 2715 at_fn_check_status 0 $at_status "$at_srcdir/input.at:286" 2716 $at_failed && at_fn_log_failure 2717 $at_traceon; } 2718 2719 cp xml-tests/test.output expout 2720 { set +x 2721 $as_echo "$at_srcdir/input.at:286: \$XSLTPROC \\ 2722 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 2723 xml-tests/test.xml" 2724 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:286" 2725 ( $at_check_trace; $XSLTPROC \ 2726 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 2727 xml-tests/test.xml 2728 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2729 at_status=$? at_failed=false 2730 $at_check_filter 2731 at_fn_diff_devnull "$at_stderr" || at_failed=: 2732 $at_diff expout "$at_stdout" || at_failed=: 2733 at_fn_check_status 0 $at_status "$at_srcdir/input.at:286" 2734 $at_failed && at_fn_log_failure 2735 $at_traceon; } 2736 2737 sort xml-tests/test.dot > expout 2738 { set +x 2739 $as_echo "$at_srcdir/input.at:286: \$XSLTPROC \\ 2740 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 2741 xml-tests/test.xml | sort" 2742 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:286" 2743 ( $at_check_trace; $XSLTPROC \ 2744 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 2745 xml-tests/test.xml | sort 2746 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2747 at_status=$? at_failed=false 2748 $at_check_filter 2749 at_fn_diff_devnull "$at_stderr" || at_failed=: 2750 $at_diff expout "$at_stdout" || at_failed=: 2751 at_fn_check_status 0 $at_status "$at_srcdir/input.at:286" 2752 $at_failed && at_fn_log_failure 2753 $at_traceon; } 2754 2755 rm -rf xml-tests expout 2756 at_restore_special_files 2757 fi 2758 { set +x 2759 $as_echo "$at_srcdir/input.at:286: bison -fcaret input.y" 2760 at_fn_check_prepare_trace "input.at:286" 2761 ( $at_check_trace; bison -fcaret input.y 2762 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2763 at_status=$? at_failed=false 2764 $at_check_filter 2765 echo >>"$at_stderr"; $as_echo "input.y:11.10-32: warning: unset value: \$\$ 2766 a: INT | INT { } INT { } INT { }; 2767 ^^^^^^^^^^^^^^^^^^^^^^^ 2768 input.y:11.10-12: warning: unused value: \$1 2769 a: INT | INT { } INT { } INT { }; 2770 ^^^ 2771 input.y:11.18-20: warning: unused value: \$3 2772 a: INT | INT { } INT { } INT { }; 2773 ^^^ 2774 input.y:11.26-28: warning: unused value: \$5 2775 a: INT | INT { } INT { } INT { }; 2776 ^^^ 2777 input.y:12.9: warning: empty rule for typed nonterminal, and no action 2778 b: INT | /* empty */; 2779 ^ 2780 input.y:13.10-62: warning: unset value: \$\$ 2781 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 2782 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2783 input.y:13.22-24: warning: unused value: \$3 2784 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 2785 ^^^ 2786 input.y:13.43-45: warning: unused value: \$5 2787 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 2788 ^^^ 2789 input.y:14.10-49: warning: unset value: \$\$ 2790 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 2791 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2792 input.y:14.18-20: warning: unused value: \$3 2793 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 2794 ^^^ 2795 input.y:14.30-32: warning: unused value: \$5 2796 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 2797 ^^^ 2798 input.y:15.10-37: warning: unset value: \$\$ 2799 e: INT | INT { } INT { } INT { \$1; }; 2800 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2801 input.y:15.18-20: warning: unused value: \$3 2802 e: INT | INT { } INT { } INT { \$1; }; 2803 ^^^ 2804 input.y:15.27-29: warning: unused value: \$5 2805 e: INT | INT { } INT { } INT { \$1; }; 2806 ^^^ 2807 input.y:17.10-58: warning: unset value: \$\$ 2808 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 2809 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2810 input.y:17.10-12: warning: unused value: \$1 2811 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 2812 ^^^ 2813 input.y:17.31-33: warning: unused value: \$3 2814 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 2815 ^^^ 2816 input.y:17.52-54: warning: unused value: \$5 2817 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 2818 ^^^ 2819 input.y:18.10-72: warning: unset value: \$\$ 2820 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 2821 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2822 input.y:18.10-12: warning: unused value: \$1 2823 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 2824 ^^^ 2825 input.y:18.31-33: warning: unused value: \$3 2826 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 2827 ^^^ 2828 input.y:18.66-68: warning: unused value: \$5 2829 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 2830 ^^^ 2831 input.y:21.10-68: warning: unset value: \$\$ 2832 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 2833 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2834 input.y:21.10-12: warning: unused value: \$1 2835 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 2836 ^^^ 2837 input.y:21.14-16: warning: unused value: \$2 2838 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 2839 ^^^ 2840 " | \ 2841 $at_diff - "$at_stderr" || at_failed=: 2842 at_fn_diff_devnull "$at_stdout" || at_failed=: 2843 at_fn_check_status 0 $at_status "$at_srcdir/input.at:286" 2844 $at_failed && at_fn_log_failure 2845 $at_traceon; } 2846 2847 # Defining POSIXLY_CORRECT causes bison to complain if options are 2848 # added after the grammar file name, so skip these checks in that 2849 # case. 2850 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 2851 at_save_special_files 2852 2853 # To avoid expanding it repeatedly, store specified stdout. 2854 : >expout 2855 2856 # Run with -Werror. 2857 { set +x 2858 $as_echo "$at_srcdir/input.at:286: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y -Werror" 2859 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y -Werror" "input.at:286" 2860 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret input.y -Werror 2861 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2862 at_status=$? at_failed=false 2863 $at_check_filter 2864 echo stderr:; tee stderr <"$at_stderr" 2865 $at_diff expout "$at_stdout" || at_failed=: 2866 at_fn_check_status 1 $at_status "$at_srcdir/input.at:286" 2867 $at_failed && at_fn_log_failure 2868 $at_traceon; } 2869 2870 2871 # Build expected stderr up to and including the "warnings being 2872 # treated as errors" message. 2873 cat >at-bison-check-warnings <<'_ATEOF' 2874 input.y:11.10-32: warning: unset value: $$ 2875 a: INT | INT { } INT { } INT { }; 2876 ^^^^^^^^^^^^^^^^^^^^^^^ 2877 input.y:11.10-12: warning: unused value: $1 2878 a: INT | INT { } INT { } INT { }; 2879 ^^^ 2880 input.y:11.18-20: warning: unused value: $3 2881 a: INT | INT { } INT { } INT { }; 2882 ^^^ 2883 input.y:11.26-28: warning: unused value: $5 2884 a: INT | INT { } INT { } INT { }; 2885 ^^^ 2886 input.y:12.9: warning: empty rule for typed nonterminal, and no action 2887 b: INT | /* empty */; 2888 ^ 2889 input.y:13.10-62: warning: unset value: $$ 2890 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 2891 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2892 input.y:13.22-24: warning: unused value: $3 2893 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 2894 ^^^ 2895 input.y:13.43-45: warning: unused value: $5 2896 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 2897 ^^^ 2898 input.y:14.10-49: warning: unset value: $$ 2899 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 2900 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2901 input.y:14.18-20: warning: unused value: $3 2902 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 2903 ^^^ 2904 input.y:14.30-32: warning: unused value: $5 2905 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 2906 ^^^ 2907 input.y:15.10-37: warning: unset value: $$ 2908 e: INT | INT { } INT { } INT { $1; }; 2909 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2910 input.y:15.18-20: warning: unused value: $3 2911 e: INT | INT { } INT { } INT { $1; }; 2912 ^^^ 2913 input.y:15.27-29: warning: unused value: $5 2914 e: INT | INT { } INT { } INT { $1; }; 2915 ^^^ 2916 input.y:17.10-58: warning: unset value: $$ 2917 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 2918 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2919 input.y:17.10-12: warning: unused value: $1 2920 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 2921 ^^^ 2922 input.y:17.31-33: warning: unused value: $3 2923 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 2924 ^^^ 2925 input.y:17.52-54: warning: unused value: $5 2926 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 2927 ^^^ 2928 input.y:18.10-72: warning: unset value: $$ 2929 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 2930 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2931 input.y:18.10-12: warning: unused value: $1 2932 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 2933 ^^^ 2934 input.y:18.31-33: warning: unused value: $3 2935 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 2936 ^^^ 2937 input.y:18.66-68: warning: unused value: $5 2938 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 2939 ^^^ 2940 input.y:21.10-68: warning: unset value: $$ 2941 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 2942 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2943 input.y:21.10-12: warning: unused value: $1 2944 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 2945 ^^^ 2946 input.y:21.14-16: warning: unused value: $2 2947 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 2948 ^^^ 2949 _ATEOF 2950 2951 at_bison_check_first=`sed -n \ 2952 '/: warning: /{=;q;}' at-bison-check-warnings` 2953 : ${at_bison_check_first:=1} 2954 at_bison_check_first_tmp=`sed -n \ 2955 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 2956 : ${at_bison_check_first_tmp:=1} 2957 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 2958 at_bison_check_first=$at_bison_check_first_tmp 2959 fi 2960 if test $at_bison_check_first -gt 1; then 2961 sed -n "1,`expr $at_bison_check_first - 1`"p \ 2962 at-bison-check-warnings > experr 2963 fi 2964 echo 'bison: warnings being treated as errors' >> experr 2965 2966 # Finish building expected stderr and check. Unlike warnings, 2967 # complaints cause bison to exit early. Thus, with -Werror, bison 2968 # does not necessarily report all warnings that it does without 2969 # -Werror, but it at least reports one. 2970 at_bison_check_last=`sed -n '$=' stderr` 2971 : ${at_bison_check_last:=1} 2972 at_bison_check_last=`expr $at_bison_check_last - 1` 2973 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 2974 at-bison-check-warnings >> experr 2975 { set +x 2976 $as_echo "$at_srcdir/input.at:286: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 2977 stderr 1>&2" 2978 at_fn_check_prepare_notrace 'an embedded newline' "input.at:286" 2979 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 2980 stderr 1>&2 2981 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2982 at_status=$? at_failed=false 2983 $at_check_filter 2984 $at_diff experr "$at_stderr" || at_failed=: 2985 at_fn_diff_devnull "$at_stdout" || at_failed=: 2986 at_fn_check_status 0 $at_status "$at_srcdir/input.at:286" 2987 $at_failed && at_fn_log_failure 2988 $at_traceon; } 2989 2990 2991 # Now check --warnings=error. 2992 cp stderr experr 2993 { set +x 2994 $as_echo "$at_srcdir/input.at:286: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=error" 2995 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=error" "input.at:286" 2996 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=error 2997 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2998 at_status=$? at_failed=false 2999 $at_check_filter 3000 $at_diff experr "$at_stderr" || at_failed=: 3001 $at_diff expout "$at_stdout" || at_failed=: 3002 at_fn_check_status 1 $at_status "$at_srcdir/input.at:286" 3003 $at_failed && at_fn_log_failure 3004 $at_traceon; } 3005 3006 3007 # Now check -Wnone and --warnings=none by making sure that 3008 # -Werror doesn't change the exit status when -Wnone or 3009 # --warnings=none is specified. 3010 { set +x 3011 $as_echo "$at_srcdir/input.at:286: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y -Wnone -Werror" 3012 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y -Wnone -Werror" "input.at:286" 3013 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret input.y -Wnone -Werror 3014 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3015 at_status=$? at_failed=false 3016 $at_check_filter 3017 at_fn_diff_devnull "$at_stderr" || at_failed=: 3018 $at_diff expout "$at_stdout" || at_failed=: 3019 at_fn_check_status 0 $at_status "$at_srcdir/input.at:286" 3020 $at_failed && at_fn_log_failure 3021 $at_traceon; } 3022 3023 { set +x 3024 $as_echo "$at_srcdir/input.at:286: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=none -Werror" 3025 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=none -Werror" "input.at:286" 3026 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=none -Werror 3027 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3028 at_status=$? at_failed=false 3029 $at_check_filter 3030 at_fn_diff_devnull "$at_stderr" || at_failed=: 3031 $at_diff expout "$at_stdout" || at_failed=: 3032 at_fn_check_status 0 $at_status "$at_srcdir/input.at:286" 3033 $at_failed && at_fn_log_failure 3034 $at_traceon; } 3035 3036 3037 at_restore_special_files 3038 fi 3039 3040 cat >input.y <<'_ATEOF' 3041 %token <integer> INT; 3042 %type <integer> a b c d e f g h i j k l; 3043 %destructor { destroy ($$); } INT a b c d e f g h i j k l; 3044 %% 3045 start: 3046 'a' a { $2; } | 'b' b { $2; } | 'c' c { $2; } | 'd' d { $2; } 3047 | 'e' e { $2; } | 'f' f { $2; } | 'g' g { $2; } | 'h' h { $2; } 3048 | 'i' i { $2; } | 'j' j { $2; } | 'k' k { $2; } | 'l' l { $2; } 3049 ; 3050 3051 a: INT | INT { } INT { } INT { }; 3052 b: INT | /* empty */; 3053 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3054 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3055 e: INT | INT { } INT { } INT { $1; }; 3056 f: INT | INT { } INT { } INT { $$ = $1 + $3 + $5; }; 3057 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3058 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3059 i: INT | INT INT { } { $$ = $1 + $2; }; 3060 j: INT | INT INT { $<integer>$ = 1; } { $$ = $1 + $2; }; 3061 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3062 l: INT | INT { $<integer>$ = $<integer>1; } INT { $<integer>$ = $<integer>2 + $<integer>3; } INT { $<integer>$ = $<integer>4 + $<integer>5; }; 3063 _ATEOF 3064 3065 3066 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 3067 at_save_special_files 3068 mkdir xml-tests 3069 # Don't combine these Bison invocations since we want to be sure that 3070 # --report=all isn't required to get the full XML file. 3071 { set +x 3072 $as_echo "$at_srcdir/input.at:287: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 3073 --graph=xml-tests/test.dot --warnings=midrule-values -fcaret input.y" 3074 at_fn_check_prepare_notrace 'an embedded newline' "input.at:287" 3075 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 3076 --graph=xml-tests/test.dot --warnings=midrule-values -fcaret input.y 3077 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3078 at_status=$? at_failed=false 3079 $at_check_filter 3080 echo stderr:; cat "$at_stderr" 3081 echo stdout:; cat "$at_stdout" 3082 at_fn_check_status 0 $at_status "$at_srcdir/input.at:287" 3083 $at_failed && at_fn_log_failure 3084 $at_traceon; } 3085 3086 { set +x 3087 $as_echo "$at_srcdir/input.at:287: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml --warnings=midrule-values -fcaret input.y" 3088 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml --warnings=midrule-values -fcaret input.y" "input.at:287" 3089 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml --warnings=midrule-values -fcaret input.y 3090 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3091 at_status=$? at_failed=false 3092 $at_check_filter 3093 echo stderr:; cat "$at_stderr" 3094 echo stdout:; cat "$at_stdout" 3095 at_fn_check_status 0 $at_status "$at_srcdir/input.at:287" 3096 $at_failed && at_fn_log_failure 3097 $at_traceon; } 3098 3099 cp xml-tests/test.output expout 3100 { set +x 3101 $as_echo "$at_srcdir/input.at:287: \$XSLTPROC \\ 3102 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 3103 xml-tests/test.xml" 3104 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:287" 3105 ( $at_check_trace; $XSLTPROC \ 3106 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 3107 xml-tests/test.xml 3108 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3109 at_status=$? at_failed=false 3110 $at_check_filter 3111 at_fn_diff_devnull "$at_stderr" || at_failed=: 3112 $at_diff expout "$at_stdout" || at_failed=: 3113 at_fn_check_status 0 $at_status "$at_srcdir/input.at:287" 3114 $at_failed && at_fn_log_failure 3115 $at_traceon; } 3116 3117 sort xml-tests/test.dot > expout 3118 { set +x 3119 $as_echo "$at_srcdir/input.at:287: \$XSLTPROC \\ 3120 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 3121 xml-tests/test.xml | sort" 3122 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:287" 3123 ( $at_check_trace; $XSLTPROC \ 3124 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 3125 xml-tests/test.xml | sort 3126 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3127 at_status=$? at_failed=false 3128 $at_check_filter 3129 at_fn_diff_devnull "$at_stderr" || at_failed=: 3130 $at_diff expout "$at_stdout" || at_failed=: 3131 at_fn_check_status 0 $at_status "$at_srcdir/input.at:287" 3132 $at_failed && at_fn_log_failure 3133 $at_traceon; } 3134 3135 rm -rf xml-tests expout 3136 at_restore_special_files 3137 fi 3138 { set +x 3139 $as_echo "$at_srcdir/input.at:287: bison --warnings=midrule-values -fcaret input.y" 3140 at_fn_check_prepare_trace "input.at:287" 3141 ( $at_check_trace; bison --warnings=midrule-values -fcaret input.y 3142 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3143 at_status=$? at_failed=false 3144 $at_check_filter 3145 echo >>"$at_stderr"; $as_echo "input.y:11.10-32: warning: unset value: \$\$ 3146 a: INT | INT { } INT { } INT { }; 3147 ^^^^^^^^^^^^^^^^^^^^^^^ 3148 input.y:11.10-12: warning: unused value: \$1 3149 a: INT | INT { } INT { } INT { }; 3150 ^^^ 3151 input.y:11.18-20: warning: unused value: \$3 3152 a: INT | INT { } INT { } INT { }; 3153 ^^^ 3154 input.y:11.26-28: warning: unused value: \$5 3155 a: INT | INT { } INT { } INT { }; 3156 ^^^ 3157 input.y:12.9: warning: empty rule for typed nonterminal, and no action 3158 b: INT | /* empty */; 3159 ^ 3160 input.y:13.14-20: warning: unset value: \$\$ 3161 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3162 ^^^^^^^ 3163 input.y:13.26-41: warning: unset value: \$\$ 3164 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3165 ^^^^^^^^^^^^^^^^ 3166 input.y:13.10-62: warning: unset value: \$\$ 3167 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3168 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3169 input.y:13.22-24: warning: unused value: \$3 3170 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3171 ^^^ 3172 input.y:13.43-45: warning: unused value: \$5 3173 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3174 ^^^ 3175 input.y:14.14-16: warning: unset value: \$\$ 3176 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 3177 ^^^ 3178 input.y:14.10-49: warning: unset value: \$\$ 3179 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 3180 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3181 input.y:14.18-20: warning: unused value: \$3 3182 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 3183 ^^^ 3184 input.y:14.30-32: warning: unused value: \$5 3185 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 3186 ^^^ 3187 input.y:15.10-37: warning: unset value: \$\$ 3188 e: INT | INT { } INT { } INT { \$1; }; 3189 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3190 input.y:15.18-20: warning: unused value: \$3 3191 e: INT | INT { } INT { } INT { \$1; }; 3192 ^^^ 3193 input.y:15.27-29: warning: unused value: \$5 3194 e: INT | INT { } INT { } INT { \$1; }; 3195 ^^^ 3196 input.y:17.10-58: warning: unset value: \$\$ 3197 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3198 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3199 input.y:17.10-12: warning: unused value: \$1 3200 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3201 ^^^ 3202 input.y:17.14-29: warning: unused value: \$2 3203 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3204 ^^^^^^^^^^^^^^^^ 3205 input.y:17.31-33: warning: unused value: \$3 3206 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3207 ^^^ 3208 input.y:17.35-50: warning: unused value: \$4 3209 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3210 ^^^^^^^^^^^^^^^^ 3211 input.y:17.52-54: warning: unused value: \$5 3212 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3213 ^^^ 3214 input.y:18.10-72: warning: unset value: \$\$ 3215 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 3216 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3217 input.y:18.10-12: warning: unused value: \$1 3218 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 3219 ^^^ 3220 input.y:18.31-33: warning: unused value: \$3 3221 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 3222 ^^^ 3223 input.y:18.35-64: warning: unused value: \$4 3224 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 3225 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3226 input.y:18.66-68: warning: unused value: \$5 3227 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 3228 ^^^ 3229 input.y:20.18-37: warning: unused value: \$3 3230 j: INT | INT INT { \$<integer>\$ = 1; } { \$\$ = \$1 + \$2; }; 3231 ^^^^^^^^^^^^^^^^^^^^ 3232 input.y:21.10-68: warning: unset value: \$\$ 3233 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 3234 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3235 input.y:21.10-12: warning: unused value: \$1 3236 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 3237 ^^^ 3238 input.y:21.14-16: warning: unused value: \$2 3239 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 3240 ^^^ 3241 input.y:21.35-64: warning: unused value: \$4 3242 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 3243 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3244 " | \ 3245 $at_diff - "$at_stderr" || at_failed=: 3246 at_fn_diff_devnull "$at_stdout" || at_failed=: 3247 at_fn_check_status 0 $at_status "$at_srcdir/input.at:287" 3248 $at_failed && at_fn_log_failure 3249 $at_traceon; } 3250 3251 # Defining POSIXLY_CORRECT causes bison to complain if options are 3252 # added after the grammar file name, so skip these checks in that 3253 # case. 3254 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 3255 at_save_special_files 3256 3257 # To avoid expanding it repeatedly, store specified stdout. 3258 : >expout 3259 3260 # Run with -Werror. 3261 { set +x 3262 $as_echo "$at_srcdir/input.at:287: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Werror" 3263 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Werror" "input.at:287" 3264 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Werror 3265 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3266 at_status=$? at_failed=false 3267 $at_check_filter 3268 echo stderr:; tee stderr <"$at_stderr" 3269 $at_diff expout "$at_stdout" || at_failed=: 3270 at_fn_check_status 1 $at_status "$at_srcdir/input.at:287" 3271 $at_failed && at_fn_log_failure 3272 $at_traceon; } 3273 3274 3275 # Build expected stderr up to and including the "warnings being 3276 # treated as errors" message. 3277 cat >at-bison-check-warnings <<'_ATEOF' 3278 input.y:11.10-32: warning: unset value: $$ 3279 a: INT | INT { } INT { } INT { }; 3280 ^^^^^^^^^^^^^^^^^^^^^^^ 3281 input.y:11.10-12: warning: unused value: $1 3282 a: INT | INT { } INT { } INT { }; 3283 ^^^ 3284 input.y:11.18-20: warning: unused value: $3 3285 a: INT | INT { } INT { } INT { }; 3286 ^^^ 3287 input.y:11.26-28: warning: unused value: $5 3288 a: INT | INT { } INT { } INT { }; 3289 ^^^ 3290 input.y:12.9: warning: empty rule for typed nonterminal, and no action 3291 b: INT | /* empty */; 3292 ^ 3293 input.y:13.14-20: warning: unset value: $$ 3294 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3295 ^^^^^^^ 3296 input.y:13.26-41: warning: unset value: $$ 3297 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3298 ^^^^^^^^^^^^^^^^ 3299 input.y:13.10-62: warning: unset value: $$ 3300 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3301 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3302 input.y:13.22-24: warning: unused value: $3 3303 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3304 ^^^ 3305 input.y:13.43-45: warning: unused value: $5 3306 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3307 ^^^ 3308 input.y:14.14-16: warning: unset value: $$ 3309 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3310 ^^^ 3311 input.y:14.10-49: warning: unset value: $$ 3312 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3314 input.y:14.18-20: warning: unused value: $3 3315 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3316 ^^^ 3317 input.y:14.30-32: warning: unused value: $5 3318 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3319 ^^^ 3320 input.y:15.10-37: warning: unset value: $$ 3321 e: INT | INT { } INT { } INT { $1; }; 3322 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3323 input.y:15.18-20: warning: unused value: $3 3324 e: INT | INT { } INT { } INT { $1; }; 3325 ^^^ 3326 input.y:15.27-29: warning: unused value: $5 3327 e: INT | INT { } INT { } INT { $1; }; 3328 ^^^ 3329 input.y:17.10-58: warning: unset value: $$ 3330 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3331 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3332 input.y:17.10-12: warning: unused value: $1 3333 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3334 ^^^ 3335 input.y:17.14-29: warning: unused value: $2 3336 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3337 ^^^^^^^^^^^^^^^^ 3338 input.y:17.31-33: warning: unused value: $3 3339 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3340 ^^^ 3341 input.y:17.35-50: warning: unused value: $4 3342 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3343 ^^^^^^^^^^^^^^^^ 3344 input.y:17.52-54: warning: unused value: $5 3345 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3346 ^^^ 3347 input.y:18.10-72: warning: unset value: $$ 3348 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3349 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3350 input.y:18.10-12: warning: unused value: $1 3351 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3352 ^^^ 3353 input.y:18.31-33: warning: unused value: $3 3354 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3355 ^^^ 3356 input.y:18.35-64: warning: unused value: $4 3357 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3358 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3359 input.y:18.66-68: warning: unused value: $5 3360 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3361 ^^^ 3362 input.y:20.18-37: warning: unused value: $3 3363 j: INT | INT INT { $<integer>$ = 1; } { $$ = $1 + $2; }; 3364 ^^^^^^^^^^^^^^^^^^^^ 3365 input.y:21.10-68: warning: unset value: $$ 3366 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3367 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3368 input.y:21.10-12: warning: unused value: $1 3369 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3370 ^^^ 3371 input.y:21.14-16: warning: unused value: $2 3372 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3373 ^^^ 3374 input.y:21.35-64: warning: unused value: $4 3375 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3376 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3377 _ATEOF 3378 3379 at_bison_check_first=`sed -n \ 3380 '/: warning: /{=;q;}' at-bison-check-warnings` 3381 : ${at_bison_check_first:=1} 3382 at_bison_check_first_tmp=`sed -n \ 3383 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 3384 : ${at_bison_check_first_tmp:=1} 3385 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 3386 at_bison_check_first=$at_bison_check_first_tmp 3387 fi 3388 if test $at_bison_check_first -gt 1; then 3389 sed -n "1,`expr $at_bison_check_first - 1`"p \ 3390 at-bison-check-warnings > experr 3391 fi 3392 echo 'bison: warnings being treated as errors' >> experr 3393 3394 # Finish building expected stderr and check. Unlike warnings, 3395 # complaints cause bison to exit early. Thus, with -Werror, bison 3396 # does not necessarily report all warnings that it does without 3397 # -Werror, but it at least reports one. 3398 at_bison_check_last=`sed -n '$=' stderr` 3399 : ${at_bison_check_last:=1} 3400 at_bison_check_last=`expr $at_bison_check_last - 1` 3401 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 3402 at-bison-check-warnings >> experr 3403 { set +x 3404 $as_echo "$at_srcdir/input.at:287: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 3405 stderr 1>&2" 3406 at_fn_check_prepare_notrace 'an embedded newline' "input.at:287" 3407 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 3408 stderr 1>&2 3409 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3410 at_status=$? at_failed=false 3411 $at_check_filter 3412 $at_diff experr "$at_stderr" || at_failed=: 3413 at_fn_diff_devnull "$at_stdout" || at_failed=: 3414 at_fn_check_status 0 $at_status "$at_srcdir/input.at:287" 3415 $at_failed && at_fn_log_failure 3416 $at_traceon; } 3417 3418 3419 # Now check --warnings=error. 3420 cp stderr experr 3421 { set +x 3422 $as_echo "$at_srcdir/input.at:287: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=error" 3423 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=error" "input.at:287" 3424 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=error 3425 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3426 at_status=$? at_failed=false 3427 $at_check_filter 3428 $at_diff experr "$at_stderr" || at_failed=: 3429 $at_diff expout "$at_stdout" || at_failed=: 3430 at_fn_check_status 1 $at_status "$at_srcdir/input.at:287" 3431 $at_failed && at_fn_log_failure 3432 $at_traceon; } 3433 3434 3435 # Now check -Wnone and --warnings=none by making sure that 3436 # -Werror doesn't change the exit status when -Wnone or 3437 # --warnings=none is specified. 3438 { set +x 3439 $as_echo "$at_srcdir/input.at:287: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Wnone -Werror" 3440 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Wnone -Werror" "input.at:287" 3441 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Wnone -Werror 3442 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3443 at_status=$? at_failed=false 3444 $at_check_filter 3445 at_fn_diff_devnull "$at_stderr" || at_failed=: 3446 $at_diff expout "$at_stdout" || at_failed=: 3447 at_fn_check_status 0 $at_status "$at_srcdir/input.at:287" 3448 $at_failed && at_fn_log_failure 3449 $at_traceon; } 3450 3451 { set +x 3452 $as_echo "$at_srcdir/input.at:287: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=none -Werror" 3453 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=none -Werror" "input.at:287" 3454 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=none -Werror 3455 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3456 at_status=$? at_failed=false 3457 $at_check_filter 3458 at_fn_diff_devnull "$at_stderr" || at_failed=: 3459 $at_diff expout "$at_stdout" || at_failed=: 3460 at_fn_check_status 0 $at_status "$at_srcdir/input.at:287" 3461 $at_failed && at_fn_log_failure 3462 $at_traceon; } 3463 3464 3465 at_restore_special_files 3466 fi 3467 3468 set +x 3469 $at_times_p && times >"$at_times_file" 3470 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3471 read at_status <"$at_status_file" 3472 #AT_STOP_5 3473 #AT_START_6 3474 at_fn_group_banner 6 'input.at:295' \ 3475 "Unused values before symbol declarations" " " 1 3476 at_xfail=no 3477 ( 3478 $as_echo "6. $at_setup_line: testing $at_desc ..." 3479 $at_traceon 3480 3481 cat >input.y <<'_ATEOF' 3482 3483 3484 3485 %% 3486 start: 3487 'a' a { $2; } | 'b' b { $2; } | 'c' c { $2; } | 'd' d { $2; } 3488 | 'e' e { $2; } | 'f' f { $2; } | 'g' g { $2; } | 'h' h { $2; } 3489 | 'i' i { $2; } | 'j' j { $2; } | 'k' k { $2; } | 'l' l { $2; } 3490 ; 3491 3492 a: INT | INT { } INT { } INT { }; 3493 b: INT | /* empty */; 3494 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3495 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3496 e: INT | INT { } INT { } INT { $1; }; 3497 f: INT | INT { } INT { } INT { $$ = $1 + $3 + $5; }; 3498 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3499 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3500 i: INT | INT INT { } { $$ = $1 + $2; }; 3501 j: INT | INT INT { $<integer>$ = 1; } { $$ = $1 + $2; }; 3502 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3503 l: INT | INT { $<integer>$ = $<integer>1; } INT { $<integer>$ = $<integer>2 + $<integer>3; } INT { $<integer>$ = $<integer>4 + $<integer>5; }; 3504 %token <integer> INT; 3505 %type <integer> a b c d e f g h i j k l; 3506 %destructor { destroy ($$); } INT a b c d e f g h i j k l; 3507 _ATEOF 3508 3509 3510 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 3511 at_save_special_files 3512 mkdir xml-tests 3513 # Don't combine these Bison invocations since we want to be sure that 3514 # --report=all isn't required to get the full XML file. 3515 { set +x 3516 $as_echo "$at_srcdir/input.at:296: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 3517 --graph=xml-tests/test.dot -fcaret input.y" 3518 at_fn_check_prepare_notrace 'an embedded newline' "input.at:296" 3519 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 3520 --graph=xml-tests/test.dot -fcaret input.y 3521 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3522 at_status=$? at_failed=false 3523 $at_check_filter 3524 echo stderr:; cat "$at_stderr" 3525 echo stdout:; cat "$at_stdout" 3526 at_fn_check_status 0 $at_status "$at_srcdir/input.at:296" 3527 $at_failed && at_fn_log_failure 3528 $at_traceon; } 3529 3530 { set +x 3531 $as_echo "$at_srcdir/input.at:296: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -fcaret input.y" 3532 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -fcaret input.y" "input.at:296" 3533 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -fcaret input.y 3534 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3535 at_status=$? at_failed=false 3536 $at_check_filter 3537 echo stderr:; cat "$at_stderr" 3538 echo stdout:; cat "$at_stdout" 3539 at_fn_check_status 0 $at_status "$at_srcdir/input.at:296" 3540 $at_failed && at_fn_log_failure 3541 $at_traceon; } 3542 3543 cp xml-tests/test.output expout 3544 { set +x 3545 $as_echo "$at_srcdir/input.at:296: \$XSLTPROC \\ 3546 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 3547 xml-tests/test.xml" 3548 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:296" 3549 ( $at_check_trace; $XSLTPROC \ 3550 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 3551 xml-tests/test.xml 3552 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3553 at_status=$? at_failed=false 3554 $at_check_filter 3555 at_fn_diff_devnull "$at_stderr" || at_failed=: 3556 $at_diff expout "$at_stdout" || at_failed=: 3557 at_fn_check_status 0 $at_status "$at_srcdir/input.at:296" 3558 $at_failed && at_fn_log_failure 3559 $at_traceon; } 3560 3561 sort xml-tests/test.dot > expout 3562 { set +x 3563 $as_echo "$at_srcdir/input.at:296: \$XSLTPROC \\ 3564 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 3565 xml-tests/test.xml | sort" 3566 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:296" 3567 ( $at_check_trace; $XSLTPROC \ 3568 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 3569 xml-tests/test.xml | sort 3570 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3571 at_status=$? at_failed=false 3572 $at_check_filter 3573 at_fn_diff_devnull "$at_stderr" || at_failed=: 3574 $at_diff expout "$at_stdout" || at_failed=: 3575 at_fn_check_status 0 $at_status "$at_srcdir/input.at:296" 3576 $at_failed && at_fn_log_failure 3577 $at_traceon; } 3578 3579 rm -rf xml-tests expout 3580 at_restore_special_files 3581 fi 3582 { set +x 3583 $as_echo "$at_srcdir/input.at:296: bison -fcaret input.y" 3584 at_fn_check_prepare_trace "input.at:296" 3585 ( $at_check_trace; bison -fcaret input.y 3586 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3587 at_status=$? at_failed=false 3588 $at_check_filter 3589 echo >>"$at_stderr"; $as_echo "input.y:11.10-32: warning: unset value: \$\$ 3590 a: INT | INT { } INT { } INT { }; 3591 ^^^^^^^^^^^^^^^^^^^^^^^ 3592 input.y:11.10-12: warning: unused value: \$1 3593 a: INT | INT { } INT { } INT { }; 3594 ^^^ 3595 input.y:11.18-20: warning: unused value: \$3 3596 a: INT | INT { } INT { } INT { }; 3597 ^^^ 3598 input.y:11.26-28: warning: unused value: \$5 3599 a: INT | INT { } INT { } INT { }; 3600 ^^^ 3601 input.y:12.9: warning: empty rule for typed nonterminal, and no action 3602 b: INT | /* empty */; 3603 ^ 3604 input.y:13.10-62: warning: unset value: \$\$ 3605 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3606 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3607 input.y:13.22-24: warning: unused value: \$3 3608 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3609 ^^^ 3610 input.y:13.43-45: warning: unused value: \$5 3611 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3612 ^^^ 3613 input.y:14.10-49: warning: unset value: \$\$ 3614 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 3615 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3616 input.y:14.18-20: warning: unused value: \$3 3617 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 3618 ^^^ 3619 input.y:14.30-32: warning: unused value: \$5 3620 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 3621 ^^^ 3622 input.y:15.10-37: warning: unset value: \$\$ 3623 e: INT | INT { } INT { } INT { \$1; }; 3624 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3625 input.y:15.18-20: warning: unused value: \$3 3626 e: INT | INT { } INT { } INT { \$1; }; 3627 ^^^ 3628 input.y:15.27-29: warning: unused value: \$5 3629 e: INT | INT { } INT { } INT { \$1; }; 3630 ^^^ 3631 input.y:17.10-58: warning: unset value: \$\$ 3632 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3633 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3634 input.y:17.10-12: warning: unused value: \$1 3635 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3636 ^^^ 3637 input.y:17.31-33: warning: unused value: \$3 3638 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3639 ^^^ 3640 input.y:17.52-54: warning: unused value: \$5 3641 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 3642 ^^^ 3643 input.y:18.10-72: warning: unset value: \$\$ 3644 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 3645 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3646 input.y:18.10-12: warning: unused value: \$1 3647 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 3648 ^^^ 3649 input.y:18.31-33: warning: unused value: \$3 3650 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 3651 ^^^ 3652 input.y:18.66-68: warning: unused value: \$5 3653 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 3654 ^^^ 3655 input.y:21.10-68: warning: unset value: \$\$ 3656 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 3657 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3658 input.y:21.10-12: warning: unused value: \$1 3659 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 3660 ^^^ 3661 input.y:21.14-16: warning: unused value: \$2 3662 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 3663 ^^^ 3664 " | \ 3665 $at_diff - "$at_stderr" || at_failed=: 3666 at_fn_diff_devnull "$at_stdout" || at_failed=: 3667 at_fn_check_status 0 $at_status "$at_srcdir/input.at:296" 3668 $at_failed && at_fn_log_failure 3669 $at_traceon; } 3670 3671 # Defining POSIXLY_CORRECT causes bison to complain if options are 3672 # added after the grammar file name, so skip these checks in that 3673 # case. 3674 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 3675 at_save_special_files 3676 3677 # To avoid expanding it repeatedly, store specified stdout. 3678 : >expout 3679 3680 # Run with -Werror. 3681 { set +x 3682 $as_echo "$at_srcdir/input.at:296: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y -Werror" 3683 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y -Werror" "input.at:296" 3684 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret input.y -Werror 3685 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3686 at_status=$? at_failed=false 3687 $at_check_filter 3688 echo stderr:; tee stderr <"$at_stderr" 3689 $at_diff expout "$at_stdout" || at_failed=: 3690 at_fn_check_status 1 $at_status "$at_srcdir/input.at:296" 3691 $at_failed && at_fn_log_failure 3692 $at_traceon; } 3693 3694 3695 # Build expected stderr up to and including the "warnings being 3696 # treated as errors" message. 3697 cat >at-bison-check-warnings <<'_ATEOF' 3698 input.y:11.10-32: warning: unset value: $$ 3699 a: INT | INT { } INT { } INT { }; 3700 ^^^^^^^^^^^^^^^^^^^^^^^ 3701 input.y:11.10-12: warning: unused value: $1 3702 a: INT | INT { } INT { } INT { }; 3703 ^^^ 3704 input.y:11.18-20: warning: unused value: $3 3705 a: INT | INT { } INT { } INT { }; 3706 ^^^ 3707 input.y:11.26-28: warning: unused value: $5 3708 a: INT | INT { } INT { } INT { }; 3709 ^^^ 3710 input.y:12.9: warning: empty rule for typed nonterminal, and no action 3711 b: INT | /* empty */; 3712 ^ 3713 input.y:13.10-62: warning: unset value: $$ 3714 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3715 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3716 input.y:13.22-24: warning: unused value: $3 3717 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3718 ^^^ 3719 input.y:13.43-45: warning: unused value: $5 3720 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3721 ^^^ 3722 input.y:14.10-49: warning: unset value: $$ 3723 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3724 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3725 input.y:14.18-20: warning: unused value: $3 3726 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3727 ^^^ 3728 input.y:14.30-32: warning: unused value: $5 3729 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3730 ^^^ 3731 input.y:15.10-37: warning: unset value: $$ 3732 e: INT | INT { } INT { } INT { $1; }; 3733 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3734 input.y:15.18-20: warning: unused value: $3 3735 e: INT | INT { } INT { } INT { $1; }; 3736 ^^^ 3737 input.y:15.27-29: warning: unused value: $5 3738 e: INT | INT { } INT { } INT { $1; }; 3739 ^^^ 3740 input.y:17.10-58: warning: unset value: $$ 3741 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3742 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3743 input.y:17.10-12: warning: unused value: $1 3744 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3745 ^^^ 3746 input.y:17.31-33: warning: unused value: $3 3747 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3748 ^^^ 3749 input.y:17.52-54: warning: unused value: $5 3750 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3751 ^^^ 3752 input.y:18.10-72: warning: unset value: $$ 3753 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3754 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3755 input.y:18.10-12: warning: unused value: $1 3756 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3757 ^^^ 3758 input.y:18.31-33: warning: unused value: $3 3759 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3760 ^^^ 3761 input.y:18.66-68: warning: unused value: $5 3762 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3763 ^^^ 3764 input.y:21.10-68: warning: unset value: $$ 3765 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3766 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3767 input.y:21.10-12: warning: unused value: $1 3768 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3769 ^^^ 3770 input.y:21.14-16: warning: unused value: $2 3771 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3772 ^^^ 3773 _ATEOF 3774 3775 at_bison_check_first=`sed -n \ 3776 '/: warning: /{=;q;}' at-bison-check-warnings` 3777 : ${at_bison_check_first:=1} 3778 at_bison_check_first_tmp=`sed -n \ 3779 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 3780 : ${at_bison_check_first_tmp:=1} 3781 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 3782 at_bison_check_first=$at_bison_check_first_tmp 3783 fi 3784 if test $at_bison_check_first -gt 1; then 3785 sed -n "1,`expr $at_bison_check_first - 1`"p \ 3786 at-bison-check-warnings > experr 3787 fi 3788 echo 'bison: warnings being treated as errors' >> experr 3789 3790 # Finish building expected stderr and check. Unlike warnings, 3791 # complaints cause bison to exit early. Thus, with -Werror, bison 3792 # does not necessarily report all warnings that it does without 3793 # -Werror, but it at least reports one. 3794 at_bison_check_last=`sed -n '$=' stderr` 3795 : ${at_bison_check_last:=1} 3796 at_bison_check_last=`expr $at_bison_check_last - 1` 3797 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 3798 at-bison-check-warnings >> experr 3799 { set +x 3800 $as_echo "$at_srcdir/input.at:296: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 3801 stderr 1>&2" 3802 at_fn_check_prepare_notrace 'an embedded newline' "input.at:296" 3803 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 3804 stderr 1>&2 3805 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3806 at_status=$? at_failed=false 3807 $at_check_filter 3808 $at_diff experr "$at_stderr" || at_failed=: 3809 at_fn_diff_devnull "$at_stdout" || at_failed=: 3810 at_fn_check_status 0 $at_status "$at_srcdir/input.at:296" 3811 $at_failed && at_fn_log_failure 3812 $at_traceon; } 3813 3814 3815 # Now check --warnings=error. 3816 cp stderr experr 3817 { set +x 3818 $as_echo "$at_srcdir/input.at:296: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=error" 3819 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=error" "input.at:296" 3820 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=error 3821 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3822 at_status=$? at_failed=false 3823 $at_check_filter 3824 $at_diff experr "$at_stderr" || at_failed=: 3825 $at_diff expout "$at_stdout" || at_failed=: 3826 at_fn_check_status 1 $at_status "$at_srcdir/input.at:296" 3827 $at_failed && at_fn_log_failure 3828 $at_traceon; } 3829 3830 3831 # Now check -Wnone and --warnings=none by making sure that 3832 # -Werror doesn't change the exit status when -Wnone or 3833 # --warnings=none is specified. 3834 { set +x 3835 $as_echo "$at_srcdir/input.at:296: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y -Wnone -Werror" 3836 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y -Wnone -Werror" "input.at:296" 3837 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret input.y -Wnone -Werror 3838 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3839 at_status=$? at_failed=false 3840 $at_check_filter 3841 at_fn_diff_devnull "$at_stderr" || at_failed=: 3842 $at_diff expout "$at_stdout" || at_failed=: 3843 at_fn_check_status 0 $at_status "$at_srcdir/input.at:296" 3844 $at_failed && at_fn_log_failure 3845 $at_traceon; } 3846 3847 { set +x 3848 $as_echo "$at_srcdir/input.at:296: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=none -Werror" 3849 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=none -Werror" "input.at:296" 3850 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret input.y --warnings=none -Werror 3851 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3852 at_status=$? at_failed=false 3853 $at_check_filter 3854 at_fn_diff_devnull "$at_stderr" || at_failed=: 3855 $at_diff expout "$at_stdout" || at_failed=: 3856 at_fn_check_status 0 $at_status "$at_srcdir/input.at:296" 3857 $at_failed && at_fn_log_failure 3858 $at_traceon; } 3859 3860 3861 at_restore_special_files 3862 fi 3863 3864 cat >input.y <<'_ATEOF' 3865 3866 3867 3868 %% 3869 start: 3870 'a' a { $2; } | 'b' b { $2; } | 'c' c { $2; } | 'd' d { $2; } 3871 | 'e' e { $2; } | 'f' f { $2; } | 'g' g { $2; } | 'h' h { $2; } 3872 | 'i' i { $2; } | 'j' j { $2; } | 'k' k { $2; } | 'l' l { $2; } 3873 ; 3874 3875 a: INT | INT { } INT { } INT { }; 3876 b: INT | /* empty */; 3877 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 3878 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 3879 e: INT | INT { } INT { } INT { $1; }; 3880 f: INT | INT { } INT { } INT { $$ = $1 + $3 + $5; }; 3881 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 3882 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 3883 i: INT | INT INT { } { $$ = $1 + $2; }; 3884 j: INT | INT INT { $<integer>$ = 1; } { $$ = $1 + $2; }; 3885 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 3886 l: INT | INT { $<integer>$ = $<integer>1; } INT { $<integer>$ = $<integer>2 + $<integer>3; } INT { $<integer>$ = $<integer>4 + $<integer>5; }; 3887 %token <integer> INT; 3888 %type <integer> a b c d e f g h i j k l; 3889 %destructor { destroy ($$); } INT a b c d e f g h i j k l; 3890 _ATEOF 3891 3892 3893 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 3894 at_save_special_files 3895 mkdir xml-tests 3896 # Don't combine these Bison invocations since we want to be sure that 3897 # --report=all isn't required to get the full XML file. 3898 { set +x 3899 $as_echo "$at_srcdir/input.at:297: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 3900 --graph=xml-tests/test.dot --warnings=midrule-values -fcaret input.y" 3901 at_fn_check_prepare_notrace 'an embedded newline' "input.at:297" 3902 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 3903 --graph=xml-tests/test.dot --warnings=midrule-values -fcaret input.y 3904 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3905 at_status=$? at_failed=false 3906 $at_check_filter 3907 echo stderr:; cat "$at_stderr" 3908 echo stdout:; cat "$at_stdout" 3909 at_fn_check_status 0 $at_status "$at_srcdir/input.at:297" 3910 $at_failed && at_fn_log_failure 3911 $at_traceon; } 3912 3913 { set +x 3914 $as_echo "$at_srcdir/input.at:297: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml --warnings=midrule-values -fcaret input.y" 3915 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml --warnings=midrule-values -fcaret input.y" "input.at:297" 3916 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml --warnings=midrule-values -fcaret input.y 3917 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3918 at_status=$? at_failed=false 3919 $at_check_filter 3920 echo stderr:; cat "$at_stderr" 3921 echo stdout:; cat "$at_stdout" 3922 at_fn_check_status 0 $at_status "$at_srcdir/input.at:297" 3923 $at_failed && at_fn_log_failure 3924 $at_traceon; } 3925 3926 cp xml-tests/test.output expout 3927 { set +x 3928 $as_echo "$at_srcdir/input.at:297: \$XSLTPROC \\ 3929 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 3930 xml-tests/test.xml" 3931 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:297" 3932 ( $at_check_trace; $XSLTPROC \ 3933 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 3934 xml-tests/test.xml 3935 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3936 at_status=$? at_failed=false 3937 $at_check_filter 3938 at_fn_diff_devnull "$at_stderr" || at_failed=: 3939 $at_diff expout "$at_stdout" || at_failed=: 3940 at_fn_check_status 0 $at_status "$at_srcdir/input.at:297" 3941 $at_failed && at_fn_log_failure 3942 $at_traceon; } 3943 3944 sort xml-tests/test.dot > expout 3945 { set +x 3946 $as_echo "$at_srcdir/input.at:297: \$XSLTPROC \\ 3947 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 3948 xml-tests/test.xml | sort" 3949 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:297" 3950 ( $at_check_trace; $XSLTPROC \ 3951 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 3952 xml-tests/test.xml | sort 3953 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3954 at_status=$? at_failed=false 3955 $at_check_filter 3956 at_fn_diff_devnull "$at_stderr" || at_failed=: 3957 $at_diff expout "$at_stdout" || at_failed=: 3958 at_fn_check_status 0 $at_status "$at_srcdir/input.at:297" 3959 $at_failed && at_fn_log_failure 3960 $at_traceon; } 3961 3962 rm -rf xml-tests expout 3963 at_restore_special_files 3964 fi 3965 { set +x 3966 $as_echo "$at_srcdir/input.at:297: bison --warnings=midrule-values -fcaret input.y" 3967 at_fn_check_prepare_trace "input.at:297" 3968 ( $at_check_trace; bison --warnings=midrule-values -fcaret input.y 3969 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3970 at_status=$? at_failed=false 3971 $at_check_filter 3972 echo >>"$at_stderr"; $as_echo "input.y:11.10-32: warning: unset value: \$\$ 3973 a: INT | INT { } INT { } INT { }; 3974 ^^^^^^^^^^^^^^^^^^^^^^^ 3975 input.y:11.10-12: warning: unused value: \$1 3976 a: INT | INT { } INT { } INT { }; 3977 ^^^ 3978 input.y:11.18-20: warning: unused value: \$3 3979 a: INT | INT { } INT { } INT { }; 3980 ^^^ 3981 input.y:11.26-28: warning: unused value: \$5 3982 a: INT | INT { } INT { } INT { }; 3983 ^^^ 3984 input.y:12.9: warning: empty rule for typed nonterminal, and no action 3985 b: INT | /* empty */; 3986 ^ 3987 input.y:13.14-20: warning: unset value: \$\$ 3988 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3989 ^^^^^^^ 3990 input.y:13.26-41: warning: unset value: \$\$ 3991 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3992 ^^^^^^^^^^^^^^^^ 3993 input.y:13.10-62: warning: unset value: \$\$ 3994 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3995 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3996 input.y:13.22-24: warning: unused value: \$3 3997 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 3998 ^^^ 3999 input.y:13.43-45: warning: unused value: \$5 4000 c: INT | INT { \$1; } INT { \$<integer>2; } INT { \$<integer>4; }; 4001 ^^^ 4002 input.y:14.14-16: warning: unset value: \$\$ 4003 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 4004 ^^^ 4005 input.y:14.10-49: warning: unset value: \$\$ 4006 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 4007 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4008 input.y:14.18-20: warning: unused value: \$3 4009 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 4010 ^^^ 4011 input.y:14.30-32: warning: unused value: \$5 4012 d: INT | INT { } INT { \$1; } INT { \$<integer>2; }; 4013 ^^^ 4014 input.y:15.10-37: warning: unset value: \$\$ 4015 e: INT | INT { } INT { } INT { \$1; }; 4016 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4017 input.y:15.18-20: warning: unused value: \$3 4018 e: INT | INT { } INT { } INT { \$1; }; 4019 ^^^ 4020 input.y:15.27-29: warning: unused value: \$5 4021 e: INT | INT { } INT { } INT { \$1; }; 4022 ^^^ 4023 input.y:17.10-58: warning: unset value: \$\$ 4024 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 4025 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4026 input.y:17.10-12: warning: unused value: \$1 4027 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 4028 ^^^ 4029 input.y:17.14-29: warning: unused value: \$2 4030 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 4031 ^^^^^^^^^^^^^^^^ 4032 input.y:17.31-33: warning: unused value: \$3 4033 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 4034 ^^^ 4035 input.y:17.35-50: warning: unused value: \$4 4036 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 4037 ^^^^^^^^^^^^^^^^ 4038 input.y:17.52-54: warning: unused value: \$5 4039 g: INT | INT { \$<integer>\$; } INT { \$<integer>\$; } INT { }; 4040 ^^^ 4041 input.y:18.10-72: warning: unset value: \$\$ 4042 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 4043 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4044 input.y:18.10-12: warning: unused value: \$1 4045 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 4046 ^^^ 4047 input.y:18.31-33: warning: unused value: \$3 4048 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 4049 ^^^ 4050 input.y:18.35-64: warning: unused value: \$4 4051 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 4052 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4053 input.y:18.66-68: warning: unused value: \$5 4054 h: INT | INT { \$<integer>\$; } INT { \$<integer>\$ = \$<integer>2; } INT { }; 4055 ^^^ 4056 input.y:20.18-37: warning: unused value: \$3 4057 j: INT | INT INT { \$<integer>\$ = 1; } { \$\$ = \$1 + \$2; }; 4058 ^^^^^^^^^^^^^^^^^^^^ 4059 input.y:21.10-68: warning: unset value: \$\$ 4060 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 4061 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4062 input.y:21.10-12: warning: unused value: \$1 4063 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 4064 ^^^ 4065 input.y:21.14-16: warning: unused value: \$2 4066 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 4067 ^^^ 4068 input.y:21.35-64: warning: unused value: \$4 4069 k: INT | INT INT { \$<integer>\$; } { \$<integer>\$ = \$<integer>3; } { }; 4070 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4071 " | \ 4072 $at_diff - "$at_stderr" || at_failed=: 4073 at_fn_diff_devnull "$at_stdout" || at_failed=: 4074 at_fn_check_status 0 $at_status "$at_srcdir/input.at:297" 4075 $at_failed && at_fn_log_failure 4076 $at_traceon; } 4077 4078 # Defining POSIXLY_CORRECT causes bison to complain if options are 4079 # added after the grammar file name, so skip these checks in that 4080 # case. 4081 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 4082 at_save_special_files 4083 4084 # To avoid expanding it repeatedly, store specified stdout. 4085 : >expout 4086 4087 # Run with -Werror. 4088 { set +x 4089 $as_echo "$at_srcdir/input.at:297: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Werror" 4090 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Werror" "input.at:297" 4091 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Werror 4092 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4093 at_status=$? at_failed=false 4094 $at_check_filter 4095 echo stderr:; tee stderr <"$at_stderr" 4096 $at_diff expout "$at_stdout" || at_failed=: 4097 at_fn_check_status 1 $at_status "$at_srcdir/input.at:297" 4098 $at_failed && at_fn_log_failure 4099 $at_traceon; } 4100 4101 4102 # Build expected stderr up to and including the "warnings being 4103 # treated as errors" message. 4104 cat >at-bison-check-warnings <<'_ATEOF' 4105 input.y:11.10-32: warning: unset value: $$ 4106 a: INT | INT { } INT { } INT { }; 4107 ^^^^^^^^^^^^^^^^^^^^^^^ 4108 input.y:11.10-12: warning: unused value: $1 4109 a: INT | INT { } INT { } INT { }; 4110 ^^^ 4111 input.y:11.18-20: warning: unused value: $3 4112 a: INT | INT { } INT { } INT { }; 4113 ^^^ 4114 input.y:11.26-28: warning: unused value: $5 4115 a: INT | INT { } INT { } INT { }; 4116 ^^^ 4117 input.y:12.9: warning: empty rule for typed nonterminal, and no action 4118 b: INT | /* empty */; 4119 ^ 4120 input.y:13.14-20: warning: unset value: $$ 4121 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 4122 ^^^^^^^ 4123 input.y:13.26-41: warning: unset value: $$ 4124 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 4125 ^^^^^^^^^^^^^^^^ 4126 input.y:13.10-62: warning: unset value: $$ 4127 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 4128 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4129 input.y:13.22-24: warning: unused value: $3 4130 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 4131 ^^^ 4132 input.y:13.43-45: warning: unused value: $5 4133 c: INT | INT { $1; } INT { $<integer>2; } INT { $<integer>4; }; 4134 ^^^ 4135 input.y:14.14-16: warning: unset value: $$ 4136 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 4137 ^^^ 4138 input.y:14.10-49: warning: unset value: $$ 4139 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 4140 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4141 input.y:14.18-20: warning: unused value: $3 4142 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 4143 ^^^ 4144 input.y:14.30-32: warning: unused value: $5 4145 d: INT | INT { } INT { $1; } INT { $<integer>2; }; 4146 ^^^ 4147 input.y:15.10-37: warning: unset value: $$ 4148 e: INT | INT { } INT { } INT { $1; }; 4149 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4150 input.y:15.18-20: warning: unused value: $3 4151 e: INT | INT { } INT { } INT { $1; }; 4152 ^^^ 4153 input.y:15.27-29: warning: unused value: $5 4154 e: INT | INT { } INT { } INT { $1; }; 4155 ^^^ 4156 input.y:17.10-58: warning: unset value: $$ 4157 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 4158 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4159 input.y:17.10-12: warning: unused value: $1 4160 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 4161 ^^^ 4162 input.y:17.14-29: warning: unused value: $2 4163 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 4164 ^^^^^^^^^^^^^^^^ 4165 input.y:17.31-33: warning: unused value: $3 4166 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 4167 ^^^ 4168 input.y:17.35-50: warning: unused value: $4 4169 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 4170 ^^^^^^^^^^^^^^^^ 4171 input.y:17.52-54: warning: unused value: $5 4172 g: INT | INT { $<integer>$; } INT { $<integer>$; } INT { }; 4173 ^^^ 4174 input.y:18.10-72: warning: unset value: $$ 4175 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 4176 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4177 input.y:18.10-12: warning: unused value: $1 4178 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 4179 ^^^ 4180 input.y:18.31-33: warning: unused value: $3 4181 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 4182 ^^^ 4183 input.y:18.35-64: warning: unused value: $4 4184 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 4185 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4186 input.y:18.66-68: warning: unused value: $5 4187 h: INT | INT { $<integer>$; } INT { $<integer>$ = $<integer>2; } INT { }; 4188 ^^^ 4189 input.y:20.18-37: warning: unused value: $3 4190 j: INT | INT INT { $<integer>$ = 1; } { $$ = $1 + $2; }; 4191 ^^^^^^^^^^^^^^^^^^^^ 4192 input.y:21.10-68: warning: unset value: $$ 4193 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 4194 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4195 input.y:21.10-12: warning: unused value: $1 4196 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 4197 ^^^ 4198 input.y:21.14-16: warning: unused value: $2 4199 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 4200 ^^^ 4201 input.y:21.35-64: warning: unused value: $4 4202 k: INT | INT INT { $<integer>$; } { $<integer>$ = $<integer>3; } { }; 4203 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4204 _ATEOF 4205 4206 at_bison_check_first=`sed -n \ 4207 '/: warning: /{=;q;}' at-bison-check-warnings` 4208 : ${at_bison_check_first:=1} 4209 at_bison_check_first_tmp=`sed -n \ 4210 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 4211 : ${at_bison_check_first_tmp:=1} 4212 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 4213 at_bison_check_first=$at_bison_check_first_tmp 4214 fi 4215 if test $at_bison_check_first -gt 1; then 4216 sed -n "1,`expr $at_bison_check_first - 1`"p \ 4217 at-bison-check-warnings > experr 4218 fi 4219 echo 'bison: warnings being treated as errors' >> experr 4220 4221 # Finish building expected stderr and check. Unlike warnings, 4222 # complaints cause bison to exit early. Thus, with -Werror, bison 4223 # does not necessarily report all warnings that it does without 4224 # -Werror, but it at least reports one. 4225 at_bison_check_last=`sed -n '$=' stderr` 4226 : ${at_bison_check_last:=1} 4227 at_bison_check_last=`expr $at_bison_check_last - 1` 4228 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 4229 at-bison-check-warnings >> experr 4230 { set +x 4231 $as_echo "$at_srcdir/input.at:297: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 4232 stderr 1>&2" 4233 at_fn_check_prepare_notrace 'an embedded newline' "input.at:297" 4234 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 4235 stderr 1>&2 4236 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4237 at_status=$? at_failed=false 4238 $at_check_filter 4239 $at_diff experr "$at_stderr" || at_failed=: 4240 at_fn_diff_devnull "$at_stdout" || at_failed=: 4241 at_fn_check_status 0 $at_status "$at_srcdir/input.at:297" 4242 $at_failed && at_fn_log_failure 4243 $at_traceon; } 4244 4245 4246 # Now check --warnings=error. 4247 cp stderr experr 4248 { set +x 4249 $as_echo "$at_srcdir/input.at:297: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=error" 4250 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=error" "input.at:297" 4251 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=error 4252 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4253 at_status=$? at_failed=false 4254 $at_check_filter 4255 $at_diff experr "$at_stderr" || at_failed=: 4256 $at_diff expout "$at_stdout" || at_failed=: 4257 at_fn_check_status 1 $at_status "$at_srcdir/input.at:297" 4258 $at_failed && at_fn_log_failure 4259 $at_traceon; } 4260 4261 4262 # Now check -Wnone and --warnings=none by making sure that 4263 # -Werror doesn't change the exit status when -Wnone or 4264 # --warnings=none is specified. 4265 { set +x 4266 $as_echo "$at_srcdir/input.at:297: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Wnone -Werror" 4267 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Wnone -Werror" "input.at:297" 4268 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y -Wnone -Werror 4269 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4270 at_status=$? at_failed=false 4271 $at_check_filter 4272 at_fn_diff_devnull "$at_stderr" || at_failed=: 4273 $at_diff expout "$at_stdout" || at_failed=: 4274 at_fn_check_status 0 $at_status "$at_srcdir/input.at:297" 4275 $at_failed && at_fn_log_failure 4276 $at_traceon; } 4277 4278 { set +x 4279 $as_echo "$at_srcdir/input.at:297: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=none -Werror" 4280 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=none -Werror" "input.at:297" 4281 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --warnings=midrule-values -fcaret input.y --warnings=none -Werror 4282 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4283 at_status=$? at_failed=false 4284 $at_check_filter 4285 at_fn_diff_devnull "$at_stderr" || at_failed=: 4286 $at_diff expout "$at_stdout" || at_failed=: 4287 at_fn_check_status 0 $at_status "$at_srcdir/input.at:297" 4288 $at_failed && at_fn_log_failure 4289 $at_traceon; } 4290 4291 4292 at_restore_special_files 4293 fi 4294 4295 set +x 4296 $at_times_p && times >"$at_times_file" 4297 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 4298 read at_status <"$at_status_file" 4299 #AT_STOP_6 4300 #AT_START_7 4301 at_fn_group_banner 7 'input.at:305' \ 4302 "Default %printer and %destructor redeclared" " " 1 4303 at_xfail=no 4304 ( 4305 $as_echo "7. $at_setup_line: testing $at_desc ..." 4306 $at_traceon 4307 4308 4309 cat >input.y <<'_ATEOF' 4310 %destructor { destroy ($$); } <*> <*> 4311 %printer { print ($$); } <*> <*> 4312 4313 %destructor { destroy ($$); } <*> 4314 %printer { print ($$); } <*> 4315 4316 %destructor { destroy ($$); } <> <> 4317 %printer { print ($$); } <> <> 4318 4319 %destructor { destroy ($$); } <> 4320 %printer { print ($$); } <> 4321 4322 %% 4323 4324 start: ; 4325 4326 %destructor { destroy ($$); } <*>; 4327 %printer { print ($$); } <*>; 4328 4329 %destructor { destroy ($$); } <>; 4330 %printer { print ($$); } <>; 4331 _ATEOF 4332 4333 4334 4335 { set +x 4336 $as_echo "$at_srcdir/input.at:331: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 4337 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:331" 4338 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 4339 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4340 at_status=$? at_failed=false 4341 $at_check_filter 4342 echo >>"$at_stderr"; $as_echo "input.y:1.13-29: error: redeclaration for default tagged %destructor 4343 input.y:1.13-29: previous declaration 4344 input.y:2.10-24: error: redeclaration for default tagged %printer 4345 input.y:2.10-24: previous declaration 4346 input.y:4.13-29: error: redeclaration for default tagged %destructor 4347 input.y:1.13-29: previous declaration 4348 input.y:5.10-24: error: redeclaration for default tagged %printer 4349 input.y:2.10-24: previous declaration 4350 input.y:7.13-29: error: redeclaration for default tagless %destructor 4351 input.y:7.13-29: previous declaration 4352 input.y:8.10-24: error: redeclaration for default tagless %printer 4353 input.y:8.10-24: previous declaration 4354 input.y:10.13-29: error: redeclaration for default tagless %destructor 4355 input.y:7.13-29: previous declaration 4356 input.y:11.10-24: error: redeclaration for default tagless %printer 4357 input.y:8.10-24: previous declaration 4358 input.y:17.13-29: error: redeclaration for default tagged %destructor 4359 input.y:4.13-29: previous declaration 4360 input.y:18.10-24: error: redeclaration for default tagged %printer 4361 input.y:5.10-24: previous declaration 4362 input.y:20.13-29: error: redeclaration for default tagless %destructor 4363 input.y:10.13-29: previous declaration 4364 input.y:21.10-24: error: redeclaration for default tagless %printer 4365 input.y:11.10-24: previous declaration 4366 " | \ 4367 $at_diff - "$at_stderr" || at_failed=: 4368 at_fn_diff_devnull "$at_stdout" || at_failed=: 4369 at_fn_check_status 1 $at_status "$at_srcdir/input.at:331" 4370 $at_failed && at_fn_log_failure 4371 $at_traceon; } 4372 4373 4374 4375 set +x 4376 $at_times_p && times >"$at_times_file" 4377 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 4378 read at_status <"$at_status_file" 4379 #AT_STOP_7 4380 #AT_START_8 4381 at_fn_group_banner 8 'input.at:365' \ 4382 "Per-type %printer and %destructor redeclared" " " 1 4383 at_xfail=no 4384 ( 4385 $as_echo "8. $at_setup_line: testing $at_desc ..." 4386 $at_traceon 4387 4388 4389 cat >input.y <<'_ATEOF' 4390 %destructor { destroy ($$); } <field1> <field2> 4391 %printer { print ($$); } <field1> <field2> 4392 4393 %destructor { destroy ($$); } <field1> <field1> 4394 %printer { print ($$); } <field2> <field2> 4395 4396 %% 4397 4398 start: ; 4399 4400 %destructor { destroy ($$); } <field2> <field1>; 4401 %printer { print ($$); } <field2> <field1>; 4402 _ATEOF 4403 4404 4405 4406 { set +x 4407 $as_echo "$at_srcdir/input.at:382: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 4408 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:382" 4409 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 4410 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4411 at_status=$? at_failed=false 4412 $at_check_filter 4413 echo >>"$at_stderr"; $as_echo "input.y:4.13-29: error: %destructor redeclaration for <field1> 4414 input.y:1.13-29: previous declaration 4415 input.y:4.13-29: error: %destructor redeclaration for <field1> 4416 input.y:4.13-29: previous declaration 4417 input.y:5.10-24: error: %printer redeclaration for <field2> 4418 input.y:2.10-24: previous declaration 4419 input.y:5.10-24: error: %printer redeclaration for <field2> 4420 input.y:5.10-24: previous declaration 4421 input.y:11.13-29: error: %destructor redeclaration for <field1> 4422 input.y:4.13-29: previous declaration 4423 input.y:11.13-29: error: %destructor redeclaration for <field2> 4424 input.y:1.13-29: previous declaration 4425 input.y:12.10-24: error: %printer redeclaration for <field1> 4426 input.y:2.10-24: previous declaration 4427 input.y:12.10-24: error: %printer redeclaration for <field2> 4428 input.y:5.10-24: previous declaration 4429 " | \ 4430 $at_diff - "$at_stderr" || at_failed=: 4431 at_fn_diff_devnull "$at_stdout" || at_failed=: 4432 at_fn_check_status 1 $at_status "$at_srcdir/input.at:382" 4433 $at_failed && at_fn_log_failure 4434 $at_traceon; } 4435 4436 4437 4438 set +x 4439 $at_times_p && times >"$at_times_file" 4440 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 4441 read at_status <"$at_status_file" 4442 #AT_STOP_8 4443 #AT_START_9 4444 at_fn_group_banner 9 'input.at:408' \ 4445 "Unused values with default %destructor" " " 1 4446 at_xfail=no 4447 ( 4448 $as_echo "9. $at_setup_line: testing $at_desc ..." 4449 $at_traceon 4450 4451 4452 cat >input.y <<'_ATEOF' 4453 %destructor { destroy ($$); } <> 4454 %type <tag> tagged 4455 4456 %% 4457 4458 start: end end tagged tagged { $<tag>1; $3; } ; 4459 end: { } ; 4460 tagged: { } ; 4461 _ATEOF 4462 4463 4464 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 4465 at_save_special_files 4466 mkdir xml-tests 4467 # Don't combine these Bison invocations since we want to be sure that 4468 # --report=all isn't required to get the full XML file. 4469 { set +x 4470 $as_echo "$at_srcdir/input.at:421: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 4471 --graph=xml-tests/test.dot input.y" 4472 at_fn_check_prepare_notrace 'an embedded newline' "input.at:421" 4473 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 4474 --graph=xml-tests/test.dot input.y 4475 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4476 at_status=$? at_failed=false 4477 $at_check_filter 4478 echo stderr:; cat "$at_stderr" 4479 echo stdout:; cat "$at_stdout" 4480 at_fn_check_status 0 $at_status "$at_srcdir/input.at:421" 4481 $at_failed && at_fn_log_failure 4482 $at_traceon; } 4483 4484 { set +x 4485 $as_echo "$at_srcdir/input.at:421: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" 4486 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" "input.at:421" 4487 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y 4488 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4489 at_status=$? at_failed=false 4490 $at_check_filter 4491 echo stderr:; cat "$at_stderr" 4492 echo stdout:; cat "$at_stdout" 4493 at_fn_check_status 0 $at_status "$at_srcdir/input.at:421" 4494 $at_failed && at_fn_log_failure 4495 $at_traceon; } 4496 4497 cp xml-tests/test.output expout 4498 { set +x 4499 $as_echo "$at_srcdir/input.at:421: \$XSLTPROC \\ 4500 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 4501 xml-tests/test.xml" 4502 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:421" 4503 ( $at_check_trace; $XSLTPROC \ 4504 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 4505 xml-tests/test.xml 4506 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4507 at_status=$? at_failed=false 4508 $at_check_filter 4509 at_fn_diff_devnull "$at_stderr" || at_failed=: 4510 $at_diff expout "$at_stdout" || at_failed=: 4511 at_fn_check_status 0 $at_status "$at_srcdir/input.at:421" 4512 $at_failed && at_fn_log_failure 4513 $at_traceon; } 4514 4515 sort xml-tests/test.dot > expout 4516 { set +x 4517 $as_echo "$at_srcdir/input.at:421: \$XSLTPROC \\ 4518 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 4519 xml-tests/test.xml | sort" 4520 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:421" 4521 ( $at_check_trace; $XSLTPROC \ 4522 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 4523 xml-tests/test.xml | sort 4524 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4525 at_status=$? at_failed=false 4526 $at_check_filter 4527 at_fn_diff_devnull "$at_stderr" || at_failed=: 4528 $at_diff expout "$at_stdout" || at_failed=: 4529 at_fn_check_status 0 $at_status "$at_srcdir/input.at:421" 4530 $at_failed && at_fn_log_failure 4531 $at_traceon; } 4532 4533 rm -rf xml-tests expout 4534 at_restore_special_files 4535 fi 4536 { set +x 4537 $as_echo "$at_srcdir/input.at:421: bison input.y" 4538 at_fn_check_prepare_trace "input.at:421" 4539 ( $at_check_trace; bison input.y 4540 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4541 at_status=$? at_failed=false 4542 $at_check_filter 4543 echo >>"$at_stderr"; $as_echo "input.y:6.8-45: warning: unset value: \$\$ 4544 input.y:6.12-14: warning: unused value: \$2 4545 input.y:7.6-8: warning: unset value: \$\$ 4546 " | \ 4547 $at_diff - "$at_stderr" || at_failed=: 4548 at_fn_diff_devnull "$at_stdout" || at_failed=: 4549 at_fn_check_status 0 $at_status "$at_srcdir/input.at:421" 4550 $at_failed && at_fn_log_failure 4551 $at_traceon; } 4552 4553 # Defining POSIXLY_CORRECT causes bison to complain if options are 4554 # added after the grammar file name, so skip these checks in that 4555 # case. 4556 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 4557 at_save_special_files 4558 4559 # To avoid expanding it repeatedly, store specified stdout. 4560 : >expout 4561 4562 # Run with -Werror. 4563 { set +x 4564 $as_echo "$at_srcdir/input.at:421: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" 4565 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" "input.at:421" 4566 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Werror 4567 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4568 at_status=$? at_failed=false 4569 $at_check_filter 4570 echo stderr:; tee stderr <"$at_stderr" 4571 $at_diff expout "$at_stdout" || at_failed=: 4572 at_fn_check_status 1 $at_status "$at_srcdir/input.at:421" 4573 $at_failed && at_fn_log_failure 4574 $at_traceon; } 4575 4576 4577 # Build expected stderr up to and including the "warnings being 4578 # treated as errors" message. 4579 cat >at-bison-check-warnings <<'_ATEOF' 4580 input.y:6.8-45: warning: unset value: $$ 4581 input.y:6.12-14: warning: unused value: $2 4582 input.y:7.6-8: warning: unset value: $$ 4583 _ATEOF 4584 4585 at_bison_check_first=`sed -n \ 4586 '/: warning: /{=;q;}' at-bison-check-warnings` 4587 : ${at_bison_check_first:=1} 4588 at_bison_check_first_tmp=`sed -n \ 4589 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 4590 : ${at_bison_check_first_tmp:=1} 4591 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 4592 at_bison_check_first=$at_bison_check_first_tmp 4593 fi 4594 if test $at_bison_check_first -gt 1; then 4595 sed -n "1,`expr $at_bison_check_first - 1`"p \ 4596 at-bison-check-warnings > experr 4597 fi 4598 echo 'bison: warnings being treated as errors' >> experr 4599 4600 # Finish building expected stderr and check. Unlike warnings, 4601 # complaints cause bison to exit early. Thus, with -Werror, bison 4602 # does not necessarily report all warnings that it does without 4603 # -Werror, but it at least reports one. 4604 at_bison_check_last=`sed -n '$=' stderr` 4605 : ${at_bison_check_last:=1} 4606 at_bison_check_last=`expr $at_bison_check_last - 1` 4607 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 4608 at-bison-check-warnings >> experr 4609 { set +x 4610 $as_echo "$at_srcdir/input.at:421: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 4611 stderr 1>&2" 4612 at_fn_check_prepare_notrace 'an embedded newline' "input.at:421" 4613 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 4614 stderr 1>&2 4615 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4616 at_status=$? at_failed=false 4617 $at_check_filter 4618 $at_diff experr "$at_stderr" || at_failed=: 4619 at_fn_diff_devnull "$at_stdout" || at_failed=: 4620 at_fn_check_status 0 $at_status "$at_srcdir/input.at:421" 4621 $at_failed && at_fn_log_failure 4622 $at_traceon; } 4623 4624 4625 # Now check --warnings=error. 4626 cp stderr experr 4627 { set +x 4628 $as_echo "$at_srcdir/input.at:421: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" 4629 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" "input.at:421" 4630 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=error 4631 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4632 at_status=$? at_failed=false 4633 $at_check_filter 4634 $at_diff experr "$at_stderr" || at_failed=: 4635 $at_diff expout "$at_stdout" || at_failed=: 4636 at_fn_check_status 1 $at_status "$at_srcdir/input.at:421" 4637 $at_failed && at_fn_log_failure 4638 $at_traceon; } 4639 4640 4641 # Now check -Wnone and --warnings=none by making sure that 4642 # -Werror doesn't change the exit status when -Wnone or 4643 # --warnings=none is specified. 4644 { set +x 4645 $as_echo "$at_srcdir/input.at:421: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" 4646 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" "input.at:421" 4647 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Wnone -Werror 4648 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4649 at_status=$? at_failed=false 4650 $at_check_filter 4651 at_fn_diff_devnull "$at_stderr" || at_failed=: 4652 $at_diff expout "$at_stdout" || at_failed=: 4653 at_fn_check_status 0 $at_status "$at_srcdir/input.at:421" 4654 $at_failed && at_fn_log_failure 4655 $at_traceon; } 4656 4657 { set +x 4658 $as_echo "$at_srcdir/input.at:421: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" 4659 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" "input.at:421" 4660 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror 4661 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4662 at_status=$? at_failed=false 4663 $at_check_filter 4664 at_fn_diff_devnull "$at_stderr" || at_failed=: 4665 $at_diff expout "$at_stdout" || at_failed=: 4666 at_fn_check_status 0 $at_status "$at_srcdir/input.at:421" 4667 $at_failed && at_fn_log_failure 4668 $at_traceon; } 4669 4670 4671 at_restore_special_files 4672 fi 4673 4674 cat >input.y <<'_ATEOF' 4675 %destructor { destroy ($$); } <*> 4676 %type <tag> tagged 4677 4678 %% 4679 4680 start: end end tagged tagged { $<tag>1; $3; } ; 4681 end: { } ; 4682 tagged: { } ; 4683 _ATEOF 4684 4685 4686 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 4687 at_save_special_files 4688 mkdir xml-tests 4689 # Don't combine these Bison invocations since we want to be sure that 4690 # --report=all isn't required to get the full XML file. 4691 { set +x 4692 $as_echo "$at_srcdir/input.at:438: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 4693 --graph=xml-tests/test.dot input.y" 4694 at_fn_check_prepare_notrace 'an embedded newline' "input.at:438" 4695 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 4696 --graph=xml-tests/test.dot input.y 4697 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4698 at_status=$? at_failed=false 4699 $at_check_filter 4700 echo stderr:; cat "$at_stderr" 4701 echo stdout:; cat "$at_stdout" 4702 at_fn_check_status 0 $at_status "$at_srcdir/input.at:438" 4703 $at_failed && at_fn_log_failure 4704 $at_traceon; } 4705 4706 { set +x 4707 $as_echo "$at_srcdir/input.at:438: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" 4708 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" "input.at:438" 4709 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y 4710 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4711 at_status=$? at_failed=false 4712 $at_check_filter 4713 echo stderr:; cat "$at_stderr" 4714 echo stdout:; cat "$at_stdout" 4715 at_fn_check_status 0 $at_status "$at_srcdir/input.at:438" 4716 $at_failed && at_fn_log_failure 4717 $at_traceon; } 4718 4719 cp xml-tests/test.output expout 4720 { set +x 4721 $as_echo "$at_srcdir/input.at:438: \$XSLTPROC \\ 4722 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 4723 xml-tests/test.xml" 4724 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:438" 4725 ( $at_check_trace; $XSLTPROC \ 4726 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 4727 xml-tests/test.xml 4728 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4729 at_status=$? at_failed=false 4730 $at_check_filter 4731 at_fn_diff_devnull "$at_stderr" || at_failed=: 4732 $at_diff expout "$at_stdout" || at_failed=: 4733 at_fn_check_status 0 $at_status "$at_srcdir/input.at:438" 4734 $at_failed && at_fn_log_failure 4735 $at_traceon; } 4736 4737 sort xml-tests/test.dot > expout 4738 { set +x 4739 $as_echo "$at_srcdir/input.at:438: \$XSLTPROC \\ 4740 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 4741 xml-tests/test.xml | sort" 4742 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:438" 4743 ( $at_check_trace; $XSLTPROC \ 4744 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 4745 xml-tests/test.xml | sort 4746 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4747 at_status=$? at_failed=false 4748 $at_check_filter 4749 at_fn_diff_devnull "$at_stderr" || at_failed=: 4750 $at_diff expout "$at_stdout" || at_failed=: 4751 at_fn_check_status 0 $at_status "$at_srcdir/input.at:438" 4752 $at_failed && at_fn_log_failure 4753 $at_traceon; } 4754 4755 rm -rf xml-tests expout 4756 at_restore_special_files 4757 fi 4758 { set +x 4759 $as_echo "$at_srcdir/input.at:438: bison input.y" 4760 at_fn_check_prepare_trace "input.at:438" 4761 ( $at_check_trace; bison input.y 4762 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4763 at_status=$? at_failed=false 4764 $at_check_filter 4765 echo >>"$at_stderr"; $as_echo "input.y:6.23-28: warning: unused value: \$4 4766 input.y:8.9-11: warning: unset value: \$\$ 4767 " | \ 4768 $at_diff - "$at_stderr" || at_failed=: 4769 at_fn_diff_devnull "$at_stdout" || at_failed=: 4770 at_fn_check_status 0 $at_status "$at_srcdir/input.at:438" 4771 $at_failed && at_fn_log_failure 4772 $at_traceon; } 4773 4774 # Defining POSIXLY_CORRECT causes bison to complain if options are 4775 # added after the grammar file name, so skip these checks in that 4776 # case. 4777 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 4778 at_save_special_files 4779 4780 # To avoid expanding it repeatedly, store specified stdout. 4781 : >expout 4782 4783 # Run with -Werror. 4784 { set +x 4785 $as_echo "$at_srcdir/input.at:438: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" 4786 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" "input.at:438" 4787 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Werror 4788 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4789 at_status=$? at_failed=false 4790 $at_check_filter 4791 echo stderr:; tee stderr <"$at_stderr" 4792 $at_diff expout "$at_stdout" || at_failed=: 4793 at_fn_check_status 1 $at_status "$at_srcdir/input.at:438" 4794 $at_failed && at_fn_log_failure 4795 $at_traceon; } 4796 4797 4798 # Build expected stderr up to and including the "warnings being 4799 # treated as errors" message. 4800 cat >at-bison-check-warnings <<'_ATEOF' 4801 input.y:6.23-28: warning: unused value: $4 4802 input.y:8.9-11: warning: unset value: $$ 4803 _ATEOF 4804 4805 at_bison_check_first=`sed -n \ 4806 '/: warning: /{=;q;}' at-bison-check-warnings` 4807 : ${at_bison_check_first:=1} 4808 at_bison_check_first_tmp=`sed -n \ 4809 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 4810 : ${at_bison_check_first_tmp:=1} 4811 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 4812 at_bison_check_first=$at_bison_check_first_tmp 4813 fi 4814 if test $at_bison_check_first -gt 1; then 4815 sed -n "1,`expr $at_bison_check_first - 1`"p \ 4816 at-bison-check-warnings > experr 4817 fi 4818 echo 'bison: warnings being treated as errors' >> experr 4819 4820 # Finish building expected stderr and check. Unlike warnings, 4821 # complaints cause bison to exit early. Thus, with -Werror, bison 4822 # does not necessarily report all warnings that it does without 4823 # -Werror, but it at least reports one. 4824 at_bison_check_last=`sed -n '$=' stderr` 4825 : ${at_bison_check_last:=1} 4826 at_bison_check_last=`expr $at_bison_check_last - 1` 4827 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 4828 at-bison-check-warnings >> experr 4829 { set +x 4830 $as_echo "$at_srcdir/input.at:438: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 4831 stderr 1>&2" 4832 at_fn_check_prepare_notrace 'an embedded newline' "input.at:438" 4833 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 4834 stderr 1>&2 4835 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4836 at_status=$? at_failed=false 4837 $at_check_filter 4838 $at_diff experr "$at_stderr" || at_failed=: 4839 at_fn_diff_devnull "$at_stdout" || at_failed=: 4840 at_fn_check_status 0 $at_status "$at_srcdir/input.at:438" 4841 $at_failed && at_fn_log_failure 4842 $at_traceon; } 4843 4844 4845 # Now check --warnings=error. 4846 cp stderr experr 4847 { set +x 4848 $as_echo "$at_srcdir/input.at:438: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" 4849 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" "input.at:438" 4850 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=error 4851 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4852 at_status=$? at_failed=false 4853 $at_check_filter 4854 $at_diff experr "$at_stderr" || at_failed=: 4855 $at_diff expout "$at_stdout" || at_failed=: 4856 at_fn_check_status 1 $at_status "$at_srcdir/input.at:438" 4857 $at_failed && at_fn_log_failure 4858 $at_traceon; } 4859 4860 4861 # Now check -Wnone and --warnings=none by making sure that 4862 # -Werror doesn't change the exit status when -Wnone or 4863 # --warnings=none is specified. 4864 { set +x 4865 $as_echo "$at_srcdir/input.at:438: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" 4866 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" "input.at:438" 4867 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Wnone -Werror 4868 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4869 at_status=$? at_failed=false 4870 $at_check_filter 4871 at_fn_diff_devnull "$at_stderr" || at_failed=: 4872 $at_diff expout "$at_stdout" || at_failed=: 4873 at_fn_check_status 0 $at_status "$at_srcdir/input.at:438" 4874 $at_failed && at_fn_log_failure 4875 $at_traceon; } 4876 4877 { set +x 4878 $as_echo "$at_srcdir/input.at:438: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" 4879 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" "input.at:438" 4880 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror 4881 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4882 at_status=$? at_failed=false 4883 $at_check_filter 4884 at_fn_diff_devnull "$at_stderr" || at_failed=: 4885 $at_diff expout "$at_stdout" || at_failed=: 4886 at_fn_check_status 0 $at_status "$at_srcdir/input.at:438" 4887 $at_failed && at_fn_log_failure 4888 $at_traceon; } 4889 4890 4891 at_restore_special_files 4892 fi 4893 4894 set +x 4895 $at_times_p && times >"$at_times_file" 4896 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 4897 read at_status <"$at_status_file" 4898 #AT_STOP_9 4899 #AT_START_10 4900 at_fn_group_banner 10 'input.at:450' \ 4901 "Unused values with per-type %destructor" " " 1 4902 at_xfail=no 4903 ( 4904 $as_echo "10. $at_setup_line: testing $at_desc ..." 4905 $at_traceon 4906 4907 4908 cat >input.y <<'_ATEOF' 4909 %destructor { destroy ($$); } <field1> 4910 %type <field1> start end 4911 4912 %% 4913 4914 start: end end { $1; } ; 4915 end: { } ; 4916 _ATEOF 4917 4918 4919 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 4920 at_save_special_files 4921 mkdir xml-tests 4922 # Don't combine these Bison invocations since we want to be sure that 4923 # --report=all isn't required to get the full XML file. 4924 { set +x 4925 $as_echo "$at_srcdir/input.at:462: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 4926 --graph=xml-tests/test.dot input.y" 4927 at_fn_check_prepare_notrace 'an embedded newline' "input.at:462" 4928 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 4929 --graph=xml-tests/test.dot input.y 4930 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4931 at_status=$? at_failed=false 4932 $at_check_filter 4933 echo stderr:; cat "$at_stderr" 4934 echo stdout:; cat "$at_stdout" 4935 at_fn_check_status 0 $at_status "$at_srcdir/input.at:462" 4936 $at_failed && at_fn_log_failure 4937 $at_traceon; } 4938 4939 { set +x 4940 $as_echo "$at_srcdir/input.at:462: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" 4941 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" "input.at:462" 4942 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y 4943 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4944 at_status=$? at_failed=false 4945 $at_check_filter 4946 echo stderr:; cat "$at_stderr" 4947 echo stdout:; cat "$at_stdout" 4948 at_fn_check_status 0 $at_status "$at_srcdir/input.at:462" 4949 $at_failed && at_fn_log_failure 4950 $at_traceon; } 4951 4952 cp xml-tests/test.output expout 4953 { set +x 4954 $as_echo "$at_srcdir/input.at:462: \$XSLTPROC \\ 4955 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 4956 xml-tests/test.xml" 4957 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:462" 4958 ( $at_check_trace; $XSLTPROC \ 4959 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 4960 xml-tests/test.xml 4961 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4962 at_status=$? at_failed=false 4963 $at_check_filter 4964 at_fn_diff_devnull "$at_stderr" || at_failed=: 4965 $at_diff expout "$at_stdout" || at_failed=: 4966 at_fn_check_status 0 $at_status "$at_srcdir/input.at:462" 4967 $at_failed && at_fn_log_failure 4968 $at_traceon; } 4969 4970 sort xml-tests/test.dot > expout 4971 { set +x 4972 $as_echo "$at_srcdir/input.at:462: \$XSLTPROC \\ 4973 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 4974 xml-tests/test.xml | sort" 4975 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:462" 4976 ( $at_check_trace; $XSLTPROC \ 4977 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 4978 xml-tests/test.xml | sort 4979 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4980 at_status=$? at_failed=false 4981 $at_check_filter 4982 at_fn_diff_devnull "$at_stderr" || at_failed=: 4983 $at_diff expout "$at_stdout" || at_failed=: 4984 at_fn_check_status 0 $at_status "$at_srcdir/input.at:462" 4985 $at_failed && at_fn_log_failure 4986 $at_traceon; } 4987 4988 rm -rf xml-tests expout 4989 at_restore_special_files 4990 fi 4991 { set +x 4992 $as_echo "$at_srcdir/input.at:462: bison input.y" 4993 at_fn_check_prepare_trace "input.at:462" 4994 ( $at_check_trace; bison input.y 4995 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4996 at_status=$? at_failed=false 4997 $at_check_filter 4998 echo >>"$at_stderr"; $as_echo "input.y:6.8-22: warning: unset value: \$\$ 4999 input.y:6.12-14: warning: unused value: \$2 5000 input.y:7.6-8: warning: unset value: \$\$ 5001 " | \ 5002 $at_diff - "$at_stderr" || at_failed=: 5003 at_fn_diff_devnull "$at_stdout" || at_failed=: 5004 at_fn_check_status 0 $at_status "$at_srcdir/input.at:462" 5005 $at_failed && at_fn_log_failure 5006 $at_traceon; } 5007 5008 # Defining POSIXLY_CORRECT causes bison to complain if options are 5009 # added after the grammar file name, so skip these checks in that 5010 # case. 5011 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 5012 at_save_special_files 5013 5014 # To avoid expanding it repeatedly, store specified stdout. 5015 : >expout 5016 5017 # Run with -Werror. 5018 { set +x 5019 $as_echo "$at_srcdir/input.at:462: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" 5020 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" "input.at:462" 5021 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Werror 5022 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5023 at_status=$? at_failed=false 5024 $at_check_filter 5025 echo stderr:; tee stderr <"$at_stderr" 5026 $at_diff expout "$at_stdout" || at_failed=: 5027 at_fn_check_status 1 $at_status "$at_srcdir/input.at:462" 5028 $at_failed && at_fn_log_failure 5029 $at_traceon; } 5030 5031 5032 # Build expected stderr up to and including the "warnings being 5033 # treated as errors" message. 5034 cat >at-bison-check-warnings <<'_ATEOF' 5035 input.y:6.8-22: warning: unset value: $$ 5036 input.y:6.12-14: warning: unused value: $2 5037 input.y:7.6-8: warning: unset value: $$ 5038 _ATEOF 5039 5040 at_bison_check_first=`sed -n \ 5041 '/: warning: /{=;q;}' at-bison-check-warnings` 5042 : ${at_bison_check_first:=1} 5043 at_bison_check_first_tmp=`sed -n \ 5044 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 5045 : ${at_bison_check_first_tmp:=1} 5046 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 5047 at_bison_check_first=$at_bison_check_first_tmp 5048 fi 5049 if test $at_bison_check_first -gt 1; then 5050 sed -n "1,`expr $at_bison_check_first - 1`"p \ 5051 at-bison-check-warnings > experr 5052 fi 5053 echo 'bison: warnings being treated as errors' >> experr 5054 5055 # Finish building expected stderr and check. Unlike warnings, 5056 # complaints cause bison to exit early. Thus, with -Werror, bison 5057 # does not necessarily report all warnings that it does without 5058 # -Werror, but it at least reports one. 5059 at_bison_check_last=`sed -n '$=' stderr` 5060 : ${at_bison_check_last:=1} 5061 at_bison_check_last=`expr $at_bison_check_last - 1` 5062 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 5063 at-bison-check-warnings >> experr 5064 { set +x 5065 $as_echo "$at_srcdir/input.at:462: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 5066 stderr 1>&2" 5067 at_fn_check_prepare_notrace 'an embedded newline' "input.at:462" 5068 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 5069 stderr 1>&2 5070 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5071 at_status=$? at_failed=false 5072 $at_check_filter 5073 $at_diff experr "$at_stderr" || at_failed=: 5074 at_fn_diff_devnull "$at_stdout" || at_failed=: 5075 at_fn_check_status 0 $at_status "$at_srcdir/input.at:462" 5076 $at_failed && at_fn_log_failure 5077 $at_traceon; } 5078 5079 5080 # Now check --warnings=error. 5081 cp stderr experr 5082 { set +x 5083 $as_echo "$at_srcdir/input.at:462: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" 5084 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" "input.at:462" 5085 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=error 5086 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5087 at_status=$? at_failed=false 5088 $at_check_filter 5089 $at_diff experr "$at_stderr" || at_failed=: 5090 $at_diff expout "$at_stdout" || at_failed=: 5091 at_fn_check_status 1 $at_status "$at_srcdir/input.at:462" 5092 $at_failed && at_fn_log_failure 5093 $at_traceon; } 5094 5095 5096 # Now check -Wnone and --warnings=none by making sure that 5097 # -Werror doesn't change the exit status when -Wnone or 5098 # --warnings=none is specified. 5099 { set +x 5100 $as_echo "$at_srcdir/input.at:462: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" 5101 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" "input.at:462" 5102 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Wnone -Werror 5103 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5104 at_status=$? at_failed=false 5105 $at_check_filter 5106 at_fn_diff_devnull "$at_stderr" || at_failed=: 5107 $at_diff expout "$at_stdout" || at_failed=: 5108 at_fn_check_status 0 $at_status "$at_srcdir/input.at:462" 5109 $at_failed && at_fn_log_failure 5110 $at_traceon; } 5111 5112 { set +x 5113 $as_echo "$at_srcdir/input.at:462: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" 5114 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" "input.at:462" 5115 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror 5116 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5117 at_status=$? at_failed=false 5118 $at_check_filter 5119 at_fn_diff_devnull "$at_stderr" || at_failed=: 5120 $at_diff expout "$at_stdout" || at_failed=: 5121 at_fn_check_status 0 $at_status "$at_srcdir/input.at:462" 5122 $at_failed && at_fn_log_failure 5123 $at_traceon; } 5124 5125 5126 at_restore_special_files 5127 fi 5128 5129 set +x 5130 $at_times_p && times >"$at_times_file" 5131 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 5132 read at_status <"$at_status_file" 5133 #AT_STOP_10 5134 #AT_START_11 5135 at_fn_group_banner 11 'input.at:475' \ 5136 "Incompatible Aliases" " " 1 5137 at_xfail=no 5138 ( 5139 $as_echo "11. $at_setup_line: testing $at_desc ..." 5140 $at_traceon 5141 5142 5143 cat >input.y <<'_ATEOF' 5144 %token foo "foo" 5145 5146 %type <bar> foo 5147 %printer {bar} foo 5148 %destructor {bar} foo 5149 %left foo 5150 5151 %type <baz> "foo" 5152 %printer {baz} "foo" 5153 %destructor {baz} "foo" 5154 %left "foo" 5155 5156 %% 5157 exp: foo; 5158 _ATEOF 5159 5160 5161 5162 { set +x 5163 $as_echo "$at_srcdir/input.at:494: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 5164 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:494" 5165 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 5166 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5167 at_status=$? at_failed=false 5168 $at_check_filter 5169 echo >>"$at_stderr"; $as_echo "input.y:8.7-11: error: %type redeclaration for foo 5170 input.y:3.7-11: previous declaration 5171 input.y:10.13-17: error: %destructor redeclaration for foo 5172 input.y:5.13-17: previous declaration 5173 input.y:9.10-14: error: %printer redeclaration for foo 5174 input.y:4.10-14: previous declaration 5175 input.y:11.1-5: error: %left redeclaration for foo 5176 input.y:6.1-5: previous declaration 5177 " | \ 5178 $at_diff - "$at_stderr" || at_failed=: 5179 at_fn_diff_devnull "$at_stdout" || at_failed=: 5180 at_fn_check_status 1 $at_status "$at_srcdir/input.at:494" 5181 $at_failed && at_fn_log_failure 5182 $at_traceon; } 5183 5184 5185 5186 set +x 5187 $at_times_p && times >"$at_times_file" 5188 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 5189 read at_status <"$at_status_file" 5190 #AT_STOP_11 5191 #AT_START_12 5192 at_fn_group_banner 12 'input.at:516' \ 5193 "Torturing the Scanner" " " 1 5194 at_xfail=no 5195 ( 5196 $as_echo "12. $at_setup_line: testing $at_desc ..." 5197 $at_traceon 5198 5199 5200 5201 : >input.y 5202 5203 { set +x 5204 $as_echo "$at_srcdir/input.at:520: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 5205 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:520" 5206 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 5207 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5208 at_status=$? at_failed=false 5209 $at_check_filter 5210 echo >>"$at_stderr"; $as_echo "input.y:1.1: error: syntax error, unexpected end of file 5211 " | \ 5212 $at_diff - "$at_stderr" || at_failed=: 5213 at_fn_diff_devnull "$at_stdout" || at_failed=: 5214 at_fn_check_status 1 $at_status "$at_srcdir/input.at:520" 5215 $at_failed && at_fn_log_failure 5216 $at_traceon; } 5217 5218 5219 5220 5221 cat >input.y <<'_ATEOF' 5222 {} 5223 _ATEOF 5224 5225 5226 { set +x 5227 $as_echo "$at_srcdir/input.at:528: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 5228 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:528" 5229 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 5230 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5231 at_status=$? at_failed=false 5232 $at_check_filter 5233 echo >>"$at_stderr"; $as_echo "input.y:1.1-2: error: syntax error, unexpected {...} 5234 " | \ 5235 $at_diff - "$at_stderr" || at_failed=: 5236 at_fn_diff_devnull "$at_stdout" || at_failed=: 5237 at_fn_check_status 1 $at_status "$at_srcdir/input.at:528" 5238 $at_failed && at_fn_log_failure 5239 $at_traceon; } 5240 5241 5242 5243 5244 cat >input.y <<'_ATEOF' 5245 %code top { 5246 #include <config.h> 5247 /* We don't need perfect functions for these tests. */ 5248 #undef malloc 5249 #undef memcmp 5250 #undef realloc 5251 } 5252 5253 %{ 5254 /* This is seen in GCC: a %{ and %} in middle of a comment. */ 5255 const char *foo = "So %{ and %} can be here too."; 5256 5257 #if 0 5258 /* These examples test Bison while not stressing C compilers too much. 5259 Many C compilers mishandle backslash-newlines, so this part of the 5260 test is inside "#if 0". The comment and string are written so that 5261 the "#endif" will be seen regardless of the C compiler bugs that we 5262 know about, namely: 5263 5264 HP C (as of late 2002) mishandles *\[newline]\[newline]/ within a 5265 comment. 5266 5267 The Apple Darwin compiler (as of late 2002) mishandles 5268 \\[newline]' within a character constant. 5269 5270 */ 5271 5272 /\ 5273 * A comment with backslash-newlines in it. %} *\ 5274 \ 5275 / 5276 /* { Close the above comment, if the C compiler mishandled it. */ 5277 5278 char str[] = "\\ 5279 " A string with backslash-newlines in it %{ %} \\ 5280 \ 5281 ""; 5282 5283 char apostrophe = '\''; 5284 #endif 5285 5286 #include <stdio.h> 5287 #include <stdlib.h> 5288 #include <assert.h> 5289 %} 5290 /* %{ and %} can be here too. */ 5291 5292 %{ 5293 /* Exercise pre-prologue dependency to %union. */ 5294 typedef int value; 5295 %} 5296 5297 /* Exercise M4 quoting: ']]', 0. */ 5298 5299 /* Also exercise %union. */ 5300 %union 5301 { 5302 value ival; /* A comment to exercise an old bug. */ 5303 }; 5304 5305 5306 /* Exercise post-prologue dependency to %union. */ 5307 %{ 5308 static YYSTYPE value_as_yystype (value val); 5309 5310 /* Exercise quotes in declarations. */ 5311 char quote[] = "]],"; 5312 %} 5313 5314 %{ 5315 static void yyerror ( const char *msg); 5316 static int yylex (void); 5317 %} 5318 5319 %type <ival> '[' 5320 5321 /* Exercise quotes in strings. */ 5322 %token FAKE "fake [] \a\b\f\n\r\t\v\"\'\?\\\u005B\U0000005c ??!??'??(??)??-??/??<??=??> \x1\1" 5323 5324 %% 5325 /* Exercise M4 quoting: ']]', [, 1. */ 5326 exp: '[' '\1' two '$' '@' '{' oline output.or.oline.opt 5327 { 5328 /* Exercise quotes in braces. */ 5329 char tmp[] = "[%c],\n"; 5330 printf (tmp, $1); 5331 } 5332 ; 5333 5334 two: '\x000000000000000000000000000000000000000000000000000000000000000000002'; 5335 oline: '@' 'o' 'l' 'i' 'n' 'e' '@' '_' '_' 'o' 'l' 'i' 'n' 'e' '_' '_'; 5336 output.or.oline.opt: ;|oline;;|output;;; 5337 output: '#' 'o' 'u' 't' 'p' 'u' 't' ' '; 5338 %% 5339 /* Exercise M4 quoting: ']]', [, 2. */ 5340 5341 static YYSTYPE 5342 value_as_yystype (value val) 5343 { 5344 YYSTYPE res; 5345 res.ival = val; 5346 return res; 5347 } 5348 #include <stdio.h> 5349 /* A C error reporting function. */ 5350 static 5351 void yyerror ( const char *msg) 5352 { 5353 fprintf (stderr, "%s\n", msg); 5354 } 5355 static int 5356 yylex (void) 5357 { 5358 static char const input[] = "[\1\2$@{@oline@__oline__\ 5359 #output "; /* " 5360 */ 5361 static size_t toknum; 5362 assert (toknum < sizeof input); 5363 yylval = value_as_yystype (input[toknum]); 5364 return input[toknum++]; 5365 } 5366 _ATEOF 5367 5368 5369 5370 # Pacify Emacs' font-lock-mode: " 5371 5372 cat >main.c <<'_ATEOF' 5373 typedef int value; 5374 #include "input.h" 5375 5376 int yyparse (void); 5377 5378 int 5379 main (void) 5380 { 5381 return yyparse (); 5382 } 5383 _ATEOF 5384 5385 5386 5387 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 5388 at_save_special_files 5389 mkdir xml-tests 5390 # Don't combine these Bison invocations since we want to be sure that 5391 # --report=all isn't required to get the full XML file. 5392 { set +x 5393 $as_echo "$at_srcdir/input.at:659: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 5394 --graph=xml-tests/test.dot -d -v -o input.c input.y" 5395 at_fn_check_prepare_notrace 'an embedded newline' "input.at:659" 5396 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 5397 --graph=xml-tests/test.dot -d -v -o input.c input.y 5398 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5399 at_status=$? at_failed=false 5400 $at_check_filter 5401 echo stderr:; cat "$at_stderr" 5402 echo stdout:; cat "$at_stdout" 5403 at_fn_check_status 0 $at_status "$at_srcdir/input.at:659" 5404 $at_failed && at_fn_log_failure 5405 $at_traceon; } 5406 5407 { set +x 5408 $as_echo "$at_srcdir/input.at:659: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -v -o input.c input.y" 5409 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -v -o input.c input.y" "input.at:659" 5410 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -v -o input.c input.y 5411 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5412 at_status=$? at_failed=false 5413 $at_check_filter 5414 echo stderr:; cat "$at_stderr" 5415 echo stdout:; cat "$at_stdout" 5416 at_fn_check_status 0 $at_status "$at_srcdir/input.at:659" 5417 $at_failed && at_fn_log_failure 5418 $at_traceon; } 5419 5420 cp xml-tests/test.output expout 5421 { set +x 5422 $as_echo "$at_srcdir/input.at:659: \$XSLTPROC \\ 5423 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 5424 xml-tests/test.xml" 5425 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:659" 5426 ( $at_check_trace; $XSLTPROC \ 5427 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 5428 xml-tests/test.xml 5429 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5430 at_status=$? at_failed=false 5431 $at_check_filter 5432 at_fn_diff_devnull "$at_stderr" || at_failed=: 5433 $at_diff expout "$at_stdout" || at_failed=: 5434 at_fn_check_status 0 $at_status "$at_srcdir/input.at:659" 5435 $at_failed && at_fn_log_failure 5436 $at_traceon; } 5437 5438 sort xml-tests/test.dot > expout 5439 { set +x 5440 $as_echo "$at_srcdir/input.at:659: \$XSLTPROC \\ 5441 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 5442 xml-tests/test.xml | sort" 5443 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:659" 5444 ( $at_check_trace; $XSLTPROC \ 5445 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 5446 xml-tests/test.xml | sort 5447 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5448 at_status=$? at_failed=false 5449 $at_check_filter 5450 at_fn_diff_devnull "$at_stderr" || at_failed=: 5451 $at_diff expout "$at_stdout" || at_failed=: 5452 at_fn_check_status 0 $at_status "$at_srcdir/input.at:659" 5453 $at_failed && at_fn_log_failure 5454 $at_traceon; } 5455 5456 rm -rf xml-tests expout 5457 at_restore_special_files 5458 fi 5459 { set +x 5460 $as_echo "$at_srcdir/input.at:659: bison -d -v -o input.c input.y" 5461 at_fn_check_prepare_trace "input.at:659" 5462 ( $at_check_trace; bison -d -v -o input.c input.y 5463 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5464 at_status=$? at_failed=false 5465 $at_check_filter 5466 at_fn_diff_devnull "$at_stderr" || at_failed=: 5467 at_fn_diff_devnull "$at_stdout" || at_failed=: 5468 at_fn_check_status 0 $at_status "$at_srcdir/input.at:659" 5469 $at_failed && at_fn_log_failure 5470 $at_traceon; } 5471 5472 5473 { set +x 5474 $as_echo "$at_srcdir/input.at:660: \$BISON_C_WORKS" 5475 at_fn_check_prepare_dynamic "$BISON_C_WORKS" "input.at:660" 5476 ( $at_check_trace; $BISON_C_WORKS 5477 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5478 at_status=$? at_failed=false 5479 $at_check_filter 5480 echo stderr:; cat "$at_stderr" 5481 echo stdout:; cat "$at_stdout" 5482 at_fn_check_status 0 $at_status "$at_srcdir/input.at:660" 5483 $at_failed && at_fn_log_failure 5484 $at_traceon; } 5485 5486 { set +x 5487 $as_echo "$at_srcdir/input.at:660: \$CC \$CFLAGS \$CPPFLAGS -c -o input.o input.c " 5488 at_fn_check_prepare_dynamic "$CC $CFLAGS $CPPFLAGS -c -o input.o input.c " "input.at:660" 5489 ( $at_check_trace; $CC $CFLAGS $CPPFLAGS -c -o input.o input.c 5490 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5491 at_status=$? at_failed=false 5492 $at_check_filter 5493 echo stderr:; cat "$at_stderr" 5494 echo stdout:; cat "$at_stdout" 5495 at_fn_check_status 0 $at_status "$at_srcdir/input.at:660" 5496 $at_failed && at_fn_log_failure 5497 $at_traceon; } 5498 5499 { set +x 5500 $as_echo "$at_srcdir/input.at:661: \$BISON_C_WORKS" 5501 at_fn_check_prepare_dynamic "$BISON_C_WORKS" "input.at:661" 5502 ( $at_check_trace; $BISON_C_WORKS 5503 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5504 at_status=$? at_failed=false 5505 $at_check_filter 5506 echo stderr:; cat "$at_stderr" 5507 echo stdout:; cat "$at_stdout" 5508 at_fn_check_status 0 $at_status "$at_srcdir/input.at:661" 5509 $at_failed && at_fn_log_failure 5510 $at_traceon; } 5511 5512 { set +x 5513 $as_echo "$at_srcdir/input.at:661: \$CC \$CFLAGS \$CPPFLAGS -c -o main.o main.c " 5514 at_fn_check_prepare_dynamic "$CC $CFLAGS $CPPFLAGS -c -o main.o main.c " "input.at:661" 5515 ( $at_check_trace; $CC $CFLAGS $CPPFLAGS -c -o main.o main.c 5516 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5517 at_status=$? at_failed=false 5518 $at_check_filter 5519 echo stderr:; cat "$at_stderr" 5520 echo stdout:; cat "$at_stdout" 5521 at_fn_check_status 0 $at_status "$at_srcdir/input.at:661" 5522 $at_failed && at_fn_log_failure 5523 $at_traceon; } 5524 5525 { set +x 5526 $as_echo "$at_srcdir/input.at:662: \$BISON_C_WORKS" 5527 at_fn_check_prepare_dynamic "$BISON_C_WORKS" "input.at:662" 5528 ( $at_check_trace; $BISON_C_WORKS 5529 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5530 at_status=$? at_failed=false 5531 $at_check_filter 5532 echo stderr:; cat "$at_stderr" 5533 echo stdout:; cat "$at_stdout" 5534 at_fn_check_status 0 $at_status "$at_srcdir/input.at:662" 5535 $at_failed && at_fn_log_failure 5536 $at_traceon; } 5537 5538 { set +x 5539 $as_echo "$at_srcdir/input.at:662: \$CC \$CFLAGS \$CPPFLAGS \$LDFLAGS -o input input.o main.o \$LIBS" 5540 at_fn_check_prepare_dynamic "$CC $CFLAGS $CPPFLAGS $LDFLAGS -o input input.o main.o $LIBS" "input.at:662" 5541 ( $at_check_trace; $CC $CFLAGS $CPPFLAGS $LDFLAGS -o input input.o main.o $LIBS 5542 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5543 at_status=$? at_failed=false 5544 $at_check_filter 5545 echo stderr:; cat "$at_stderr" 5546 echo stdout:; cat "$at_stdout" 5547 at_fn_check_status 0 $at_status "$at_srcdir/input.at:662" 5548 $at_failed && at_fn_log_failure 5549 $at_traceon; } 5550 5551 { set +x 5552 $as_echo "$at_srcdir/input.at:663: \$PREPARSER ./input" 5553 at_fn_check_prepare_dynamic " $PREPARSER ./input" "input.at:663" 5554 ( $at_check_trace; $PREPARSER ./input 5555 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5556 at_status=$? at_failed=false 5557 $at_check_filter 5558 echo stderr:; tee stderr <"$at_stderr" 5559 echo >>"$at_stdout"; $as_echo "[[], 5560 " | \ 5561 $at_diff - "$at_stdout" || at_failed=: 5562 at_fn_check_status 0 $at_status "$at_srcdir/input.at:663" 5563 $at_failed && at_fn_log_failure 5564 $at_traceon; } 5565 5566 { set +x 5567 $as_echo "$at_srcdir/input.at:663: sed >&2 -e '/^profiling:.*:Merge mismatch for summaries/d' stderr" 5568 at_fn_check_prepare_trace "input.at:663" 5569 ( $at_check_trace; sed >&2 -e '/^profiling:.*:Merge mismatch for summaries/d' stderr 5570 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5571 at_status=$? at_failed=false 5572 $at_check_filter 5573 at_fn_diff_devnull "$at_stderr" || at_failed=: 5574 at_fn_diff_devnull "$at_stdout" || at_failed=: 5575 at_fn_check_status 0 $at_status "$at_srcdir/input.at:663" 5576 $at_failed && at_fn_log_failure 5577 $at_traceon; } 5578 5579 5580 5581 set +x 5582 $at_times_p && times >"$at_times_file" 5583 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 5584 read at_status <"$at_status_file" 5585 #AT_STOP_12 5586 #AT_START_13 5587 at_fn_group_banner 13 'input.at:674' \ 5588 "Typed symbol aliases" " " 1 5589 at_xfail=no 5590 ( 5591 $as_echo "13. $at_setup_line: testing $at_desc ..." 5592 $at_traceon 5593 5594 5595 # Bison 2.0 broke typed symbol aliases - ensure they work. 5596 5597 cat >input.y <<'_ATEOF' 5598 %code top { 5599 #include <config.h> 5600 /* We don't need perfect functions for these tests. */ 5601 #undef malloc 5602 #undef memcmp 5603 #undef realloc 5604 } 5605 5606 %union 5607 { 5608 int val; 5609 }; 5610 %token <val> MY_TOKEN "MY TOKEN" 5611 %type <val> exp 5612 %% 5613 exp: "MY TOKEN"; 5614 %% 5615 _ATEOF 5616 5617 5618 5619 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 5620 at_save_special_files 5621 mkdir xml-tests 5622 # Don't combine these Bison invocations since we want to be sure that 5623 # --report=all isn't required to get the full XML file. 5624 { set +x 5625 $as_echo "$at_srcdir/input.at:690: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 5626 --graph=xml-tests/test.dot -o input.c input.y" 5627 at_fn_check_prepare_notrace 'an embedded newline' "input.at:690" 5628 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 5629 --graph=xml-tests/test.dot -o input.c input.y 5630 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5631 at_status=$? at_failed=false 5632 $at_check_filter 5633 echo stderr:; cat "$at_stderr" 5634 echo stdout:; cat "$at_stdout" 5635 at_fn_check_status 0 $at_status "$at_srcdir/input.at:690" 5636 $at_failed && at_fn_log_failure 5637 $at_traceon; } 5638 5639 { set +x 5640 $as_echo "$at_srcdir/input.at:690: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" 5641 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" "input.at:690" 5642 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y 5643 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5644 at_status=$? at_failed=false 5645 $at_check_filter 5646 echo stderr:; cat "$at_stderr" 5647 echo stdout:; cat "$at_stdout" 5648 at_fn_check_status 0 $at_status "$at_srcdir/input.at:690" 5649 $at_failed && at_fn_log_failure 5650 $at_traceon; } 5651 5652 cp xml-tests/test.output expout 5653 { set +x 5654 $as_echo "$at_srcdir/input.at:690: \$XSLTPROC \\ 5655 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 5656 xml-tests/test.xml" 5657 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:690" 5658 ( $at_check_trace; $XSLTPROC \ 5659 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 5660 xml-tests/test.xml 5661 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5662 at_status=$? at_failed=false 5663 $at_check_filter 5664 at_fn_diff_devnull "$at_stderr" || at_failed=: 5665 $at_diff expout "$at_stdout" || at_failed=: 5666 at_fn_check_status 0 $at_status "$at_srcdir/input.at:690" 5667 $at_failed && at_fn_log_failure 5668 $at_traceon; } 5669 5670 sort xml-tests/test.dot > expout 5671 { set +x 5672 $as_echo "$at_srcdir/input.at:690: \$XSLTPROC \\ 5673 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 5674 xml-tests/test.xml | sort" 5675 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:690" 5676 ( $at_check_trace; $XSLTPROC \ 5677 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 5678 xml-tests/test.xml | sort 5679 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5680 at_status=$? at_failed=false 5681 $at_check_filter 5682 at_fn_diff_devnull "$at_stderr" || at_failed=: 5683 $at_diff expout "$at_stdout" || at_failed=: 5684 at_fn_check_status 0 $at_status "$at_srcdir/input.at:690" 5685 $at_failed && at_fn_log_failure 5686 $at_traceon; } 5687 5688 rm -rf xml-tests expout 5689 at_restore_special_files 5690 fi 5691 { set +x 5692 $as_echo "$at_srcdir/input.at:690: bison -o input.c input.y" 5693 at_fn_check_prepare_trace "input.at:690" 5694 ( $at_check_trace; bison -o input.c input.y 5695 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5696 at_status=$? at_failed=false 5697 $at_check_filter 5698 at_fn_diff_devnull "$at_stderr" || at_failed=: 5699 at_fn_diff_devnull "$at_stdout" || at_failed=: 5700 at_fn_check_status 0 $at_status "$at_srcdir/input.at:690" 5701 $at_failed && at_fn_log_failure 5702 $at_traceon; } 5703 5704 5705 5706 set +x 5707 $at_times_p && times >"$at_times_file" 5708 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 5709 read at_status <"$at_status_file" 5710 #AT_STOP_13 5711 #AT_START_14 5712 at_fn_group_banner 14 'input.at:710' \ 5713 "Require 1.0" " " 1 5714 at_xfail=no 5715 ( 5716 $as_echo "14. $at_setup_line: testing $at_desc ..." 5717 $at_traceon 5718 5719 cat >input.y <<'_ATEOF' 5720 %code top { 5721 #include <config.h> 5722 /* We don't need perfect functions for these tests. */ 5723 #undef malloc 5724 #undef memcmp 5725 #undef realloc 5726 } 5727 5728 %require "1.0"; 5729 %% 5730 empty_file:; 5731 _ATEOF 5732 5733 5734 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 5735 at_save_special_files 5736 mkdir xml-tests 5737 # Don't combine these Bison invocations since we want to be sure that 5738 # --report=all isn't required to get the full XML file. 5739 { set +x 5740 $as_echo "$at_srcdir/input.at:710: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 5741 --graph=xml-tests/test.dot -o input.c input.y" 5742 at_fn_check_prepare_notrace 'an embedded newline' "input.at:710" 5743 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 5744 --graph=xml-tests/test.dot -o input.c input.y 5745 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5746 at_status=$? at_failed=false 5747 $at_check_filter 5748 echo stderr:; cat "$at_stderr" 5749 echo stdout:; cat "$at_stdout" 5750 at_fn_check_status 0 $at_status "$at_srcdir/input.at:710" 5751 $at_failed && at_fn_log_failure 5752 $at_traceon; } 5753 5754 { set +x 5755 $as_echo "$at_srcdir/input.at:710: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" 5756 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" "input.at:710" 5757 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y 5758 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5759 at_status=$? at_failed=false 5760 $at_check_filter 5761 echo stderr:; cat "$at_stderr" 5762 echo stdout:; cat "$at_stdout" 5763 at_fn_check_status 0 $at_status "$at_srcdir/input.at:710" 5764 $at_failed && at_fn_log_failure 5765 $at_traceon; } 5766 5767 cp xml-tests/test.output expout 5768 { set +x 5769 $as_echo "$at_srcdir/input.at:710: \$XSLTPROC \\ 5770 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 5771 xml-tests/test.xml" 5772 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:710" 5773 ( $at_check_trace; $XSLTPROC \ 5774 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 5775 xml-tests/test.xml 5776 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5777 at_status=$? at_failed=false 5778 $at_check_filter 5779 at_fn_diff_devnull "$at_stderr" || at_failed=: 5780 $at_diff expout "$at_stdout" || at_failed=: 5781 at_fn_check_status 0 $at_status "$at_srcdir/input.at:710" 5782 $at_failed && at_fn_log_failure 5783 $at_traceon; } 5784 5785 sort xml-tests/test.dot > expout 5786 { set +x 5787 $as_echo "$at_srcdir/input.at:710: \$XSLTPROC \\ 5788 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 5789 xml-tests/test.xml | sort" 5790 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:710" 5791 ( $at_check_trace; $XSLTPROC \ 5792 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 5793 xml-tests/test.xml | sort 5794 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5795 at_status=$? at_failed=false 5796 $at_check_filter 5797 at_fn_diff_devnull "$at_stderr" || at_failed=: 5798 $at_diff expout "$at_stdout" || at_failed=: 5799 at_fn_check_status 0 $at_status "$at_srcdir/input.at:710" 5800 $at_failed && at_fn_log_failure 5801 $at_traceon; } 5802 5803 rm -rf xml-tests expout 5804 at_restore_special_files 5805 fi 5806 { set +x 5807 $as_echo "$at_srcdir/input.at:710: bison -o input.c input.y" 5808 at_fn_check_prepare_trace "input.at:710" 5809 ( $at_check_trace; bison -o input.c input.y 5810 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5811 at_status=$? at_failed=false 5812 $at_check_filter 5813 echo stderr:; cat "$at_stderr" 5814 at_fn_diff_devnull "$at_stdout" || at_failed=: 5815 at_fn_check_status 0 $at_status "$at_srcdir/input.at:710" 5816 $at_failed && at_fn_log_failure 5817 $at_traceon; } 5818 5819 5820 set +x 5821 $at_times_p && times >"$at_times_file" 5822 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 5823 read at_status <"$at_status_file" 5824 #AT_STOP_14 5825 #AT_START_15 5826 at_fn_group_banner 15 'input.at:711' \ 5827 "Require 2.7" " " 1 5828 at_xfail=no 5829 ( 5830 $as_echo "15. $at_setup_line: testing $at_desc ..." 5831 $at_traceon 5832 5833 cat >input.y <<'_ATEOF' 5834 %code top { 5835 #include <config.h> 5836 /* We don't need perfect functions for these tests. */ 5837 #undef malloc 5838 #undef memcmp 5839 #undef realloc 5840 } 5841 5842 %require "2.7"; 5843 %% 5844 empty_file:; 5845 _ATEOF 5846 5847 5848 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 5849 at_save_special_files 5850 mkdir xml-tests 5851 # Don't combine these Bison invocations since we want to be sure that 5852 # --report=all isn't required to get the full XML file. 5853 { set +x 5854 $as_echo "$at_srcdir/input.at:711: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 5855 --graph=xml-tests/test.dot -o input.c input.y" 5856 at_fn_check_prepare_notrace 'an embedded newline' "input.at:711" 5857 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 5858 --graph=xml-tests/test.dot -o input.c input.y 5859 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5860 at_status=$? at_failed=false 5861 $at_check_filter 5862 echo stderr:; cat "$at_stderr" 5863 echo stdout:; cat "$at_stdout" 5864 at_fn_check_status 0 $at_status "$at_srcdir/input.at:711" 5865 $at_failed && at_fn_log_failure 5866 $at_traceon; } 5867 5868 { set +x 5869 $as_echo "$at_srcdir/input.at:711: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" 5870 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" "input.at:711" 5871 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y 5872 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5873 at_status=$? at_failed=false 5874 $at_check_filter 5875 echo stderr:; cat "$at_stderr" 5876 echo stdout:; cat "$at_stdout" 5877 at_fn_check_status 0 $at_status "$at_srcdir/input.at:711" 5878 $at_failed && at_fn_log_failure 5879 $at_traceon; } 5880 5881 cp xml-tests/test.output expout 5882 { set +x 5883 $as_echo "$at_srcdir/input.at:711: \$XSLTPROC \\ 5884 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 5885 xml-tests/test.xml" 5886 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:711" 5887 ( $at_check_trace; $XSLTPROC \ 5888 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 5889 xml-tests/test.xml 5890 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5891 at_status=$? at_failed=false 5892 $at_check_filter 5893 at_fn_diff_devnull "$at_stderr" || at_failed=: 5894 $at_diff expout "$at_stdout" || at_failed=: 5895 at_fn_check_status 0 $at_status "$at_srcdir/input.at:711" 5896 $at_failed && at_fn_log_failure 5897 $at_traceon; } 5898 5899 sort xml-tests/test.dot > expout 5900 { set +x 5901 $as_echo "$at_srcdir/input.at:711: \$XSLTPROC \\ 5902 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 5903 xml-tests/test.xml | sort" 5904 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:711" 5905 ( $at_check_trace; $XSLTPROC \ 5906 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 5907 xml-tests/test.xml | sort 5908 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5909 at_status=$? at_failed=false 5910 $at_check_filter 5911 at_fn_diff_devnull "$at_stderr" || at_failed=: 5912 $at_diff expout "$at_stdout" || at_failed=: 5913 at_fn_check_status 0 $at_status "$at_srcdir/input.at:711" 5914 $at_failed && at_fn_log_failure 5915 $at_traceon; } 5916 5917 rm -rf xml-tests expout 5918 at_restore_special_files 5919 fi 5920 { set +x 5921 $as_echo "$at_srcdir/input.at:711: bison -o input.c input.y" 5922 at_fn_check_prepare_trace "input.at:711" 5923 ( $at_check_trace; bison -o input.c input.y 5924 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5925 at_status=$? at_failed=false 5926 $at_check_filter 5927 echo stderr:; cat "$at_stderr" 5928 at_fn_diff_devnull "$at_stdout" || at_failed=: 5929 at_fn_check_status 0 $at_status "$at_srcdir/input.at:711" 5930 $at_failed && at_fn_log_failure 5931 $at_traceon; } 5932 5933 5934 set +x 5935 $at_times_p && times >"$at_times_file" 5936 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 5937 read at_status <"$at_status_file" 5938 #AT_STOP_15 5939 #AT_START_16 5940 at_fn_group_banner 16 'input.at:713' \ 5941 "Require 100.0" " " 1 5942 at_xfail=no 5943 ( 5944 $as_echo "16. $at_setup_line: testing $at_desc ..." 5945 $at_traceon 5946 5947 cat >input.y <<'_ATEOF' 5948 %code top { 5949 #include <config.h> 5950 /* We don't need perfect functions for these tests. */ 5951 #undef malloc 5952 #undef memcmp 5953 #undef realloc 5954 } 5955 5956 %require "100.0"; 5957 %% 5958 empty_file:; 5959 _ATEOF 5960 5961 5962 5963 { set +x 5964 $as_echo "$at_srcdir/input.at:713: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o input.c input.y" 5965 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o input.c input.y" "input.at:713" 5966 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o input.c input.y 5967 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5968 at_status=$? at_failed=false 5969 $at_check_filter 5970 echo stderr:; cat "$at_stderr" 5971 at_fn_diff_devnull "$at_stdout" || at_failed=: 5972 at_fn_check_status 63 $at_status "$at_srcdir/input.at:713" 5973 $at_failed && at_fn_log_failure 5974 $at_traceon; } 5975 5976 5977 set +x 5978 $at_times_p && times >"$at_times_file" 5979 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 5980 read at_status <"$at_status_file" 5981 #AT_STOP_16 5982 #AT_START_17 5983 at_fn_group_banner 17 'input.at:720' \ 5984 "String aliases for character tokens" " " 1 5985 at_xfail=no 5986 ( 5987 $as_echo "17. $at_setup_line: testing $at_desc ..." 5988 $at_traceon 5989 5990 5991 # Bison once thought a character token and its alias were different symbols 5992 # with the same user token number. 5993 5994 cat >input.y <<'_ATEOF' 5995 %code top { 5996 #include <config.h> 5997 /* We don't need perfect functions for these tests. */ 5998 #undef malloc 5999 #undef memcmp 6000 #undef realloc 6001 } 6002 6003 %token 'a' "a" 6004 %% 6005 start: 'a'; 6006 %% 6007 _ATEOF 6008 6009 6010 6011 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 6012 at_save_special_files 6013 mkdir xml-tests 6014 # Don't combine these Bison invocations since we want to be sure that 6015 # --report=all isn't required to get the full XML file. 6016 { set +x 6017 $as_echo "$at_srcdir/input.at:732: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 6018 --graph=xml-tests/test.dot -o input.c input.y" 6019 at_fn_check_prepare_notrace 'an embedded newline' "input.at:732" 6020 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 6021 --graph=xml-tests/test.dot -o input.c input.y 6022 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6023 at_status=$? at_failed=false 6024 $at_check_filter 6025 echo stderr:; cat "$at_stderr" 6026 echo stdout:; cat "$at_stdout" 6027 at_fn_check_status 0 $at_status "$at_srcdir/input.at:732" 6028 $at_failed && at_fn_log_failure 6029 $at_traceon; } 6030 6031 { set +x 6032 $as_echo "$at_srcdir/input.at:732: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" 6033 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" "input.at:732" 6034 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y 6035 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6036 at_status=$? at_failed=false 6037 $at_check_filter 6038 echo stderr:; cat "$at_stderr" 6039 echo stdout:; cat "$at_stdout" 6040 at_fn_check_status 0 $at_status "$at_srcdir/input.at:732" 6041 $at_failed && at_fn_log_failure 6042 $at_traceon; } 6043 6044 cp xml-tests/test.output expout 6045 { set +x 6046 $as_echo "$at_srcdir/input.at:732: \$XSLTPROC \\ 6047 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 6048 xml-tests/test.xml" 6049 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:732" 6050 ( $at_check_trace; $XSLTPROC \ 6051 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 6052 xml-tests/test.xml 6053 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6054 at_status=$? at_failed=false 6055 $at_check_filter 6056 at_fn_diff_devnull "$at_stderr" || at_failed=: 6057 $at_diff expout "$at_stdout" || at_failed=: 6058 at_fn_check_status 0 $at_status "$at_srcdir/input.at:732" 6059 $at_failed && at_fn_log_failure 6060 $at_traceon; } 6061 6062 sort xml-tests/test.dot > expout 6063 { set +x 6064 $as_echo "$at_srcdir/input.at:732: \$XSLTPROC \\ 6065 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 6066 xml-tests/test.xml | sort" 6067 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:732" 6068 ( $at_check_trace; $XSLTPROC \ 6069 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 6070 xml-tests/test.xml | sort 6071 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6072 at_status=$? at_failed=false 6073 $at_check_filter 6074 at_fn_diff_devnull "$at_stderr" || at_failed=: 6075 $at_diff expout "$at_stdout" || at_failed=: 6076 at_fn_check_status 0 $at_status "$at_srcdir/input.at:732" 6077 $at_failed && at_fn_log_failure 6078 $at_traceon; } 6079 6080 rm -rf xml-tests expout 6081 at_restore_special_files 6082 fi 6083 { set +x 6084 $as_echo "$at_srcdir/input.at:732: bison -o input.c input.y" 6085 at_fn_check_prepare_trace "input.at:732" 6086 ( $at_check_trace; bison -o input.c input.y 6087 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6088 at_status=$? at_failed=false 6089 $at_check_filter 6090 at_fn_diff_devnull "$at_stderr" || at_failed=: 6091 at_fn_diff_devnull "$at_stdout" || at_failed=: 6092 at_fn_check_status 0 $at_status "$at_srcdir/input.at:732" 6093 $at_failed && at_fn_log_failure 6094 $at_traceon; } 6095 6096 6097 6098 set +x 6099 $at_times_p && times >"$at_times_file" 6100 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 6101 read at_status <"$at_status_file" 6102 #AT_STOP_17 6103 #AT_START_18 6104 at_fn_group_banner 18 'input.at:741' \ 6105 "Symbols" " " 1 6106 at_xfail=no 6107 ( 6108 $as_echo "18. $at_setup_line: testing $at_desc ..." 6109 $at_traceon 6110 6111 6112 6113 cat >input.y <<'_ATEOF' 6114 %code top { 6115 #include <config.h> 6116 /* We don't need perfect functions for these tests. */ 6117 #undef malloc 6118 #undef memcmp 6119 #undef realloc 6120 } 6121 6122 %token WITH-DASH 6123 %token WITHOUT_DASH "WITHOUT-DASH" 6124 %token WITH.PERIOD 6125 %token WITHOUT_PERIOD "WITHOUT.PERIOD" 6126 %code { 6127 static void yyerror ( const char *msg); 6128 static int yylex (void); 6129 } 6130 %% 6131 start: with-dash without_dash with.period without_period; 6132 with-dash: WITH-DASH; 6133 without_dash: "WITHOUT-DASH"; 6134 with.period: WITH.PERIOD; 6135 without_period: "WITHOUT.PERIOD"; 6136 %% 6137 #include <stdio.h> 6138 /* A C error reporting function. */ 6139 static 6140 void yyerror ( const char *msg) 6141 { 6142 fprintf (stderr, "%s\n", msg); 6143 } 6144 #include <assert.h> 6145 static 6146 int yylex (void) 6147 { 6148 static char const input[] = ""; 6149 static size_t toknum = 0; 6150 int res; 6151 ; 6152 assert (toknum < sizeof input / sizeof input[0]); 6153 res = input[toknum++]; 6154 ; 6155 return res; 6156 } 6157 _ATEOF 6158 6159 6160 6161 6162 # POSIX Yacc accept periods, but not dashes. 6163 6164 { set +x 6165 $as_echo "$at_srcdir/input.at:766: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --yacc input.y" 6166 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --yacc input.y" "input.at:766" 6167 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --yacc input.y 6168 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6169 at_status=$? at_failed=false 6170 $at_check_filter 6171 echo >>"$at_stderr"; $as_echo "input.y:9.8-16: POSIX Yacc forbids dashes in symbol names: WITH-DASH 6172 input.y:18.8-16: POSIX Yacc forbids dashes in symbol names: with-dash 6173 " | \ 6174 $at_diff - "$at_stderr" || at_failed=: 6175 at_fn_diff_devnull "$at_stdout" || at_failed=: 6176 at_fn_check_status 1 $at_status "$at_srcdir/input.at:766" 6177 $at_failed && at_fn_log_failure 6178 $at_traceon; } 6179 6180 6181 6182 # So warn about them. 6183 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 6184 at_save_special_files 6185 mkdir xml-tests 6186 # Don't combine these Bison invocations since we want to be sure that 6187 # --report=all isn't required to get the full XML file. 6188 { set +x 6189 $as_echo "$at_srcdir/input.at:772: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 6190 --graph=xml-tests/test.dot -Wyacc input.y" 6191 at_fn_check_prepare_notrace 'an embedded newline' "input.at:772" 6192 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 6193 --graph=xml-tests/test.dot -Wyacc input.y 6194 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6195 at_status=$? at_failed=false 6196 $at_check_filter 6197 echo stderr:; cat "$at_stderr" 6198 echo stdout:; cat "$at_stdout" 6199 at_fn_check_status 0 $at_status "$at_srcdir/input.at:772" 6200 $at_failed && at_fn_log_failure 6201 $at_traceon; } 6202 6203 { set +x 6204 $as_echo "$at_srcdir/input.at:772: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Wyacc input.y" 6205 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Wyacc input.y" "input.at:772" 6206 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Wyacc input.y 6207 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6208 at_status=$? at_failed=false 6209 $at_check_filter 6210 echo stderr:; cat "$at_stderr" 6211 echo stdout:; cat "$at_stdout" 6212 at_fn_check_status 0 $at_status "$at_srcdir/input.at:772" 6213 $at_failed && at_fn_log_failure 6214 $at_traceon; } 6215 6216 cp xml-tests/test.output expout 6217 { set +x 6218 $as_echo "$at_srcdir/input.at:772: \$XSLTPROC \\ 6219 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 6220 xml-tests/test.xml" 6221 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:772" 6222 ( $at_check_trace; $XSLTPROC \ 6223 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 6224 xml-tests/test.xml 6225 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6226 at_status=$? at_failed=false 6227 $at_check_filter 6228 at_fn_diff_devnull "$at_stderr" || at_failed=: 6229 $at_diff expout "$at_stdout" || at_failed=: 6230 at_fn_check_status 0 $at_status "$at_srcdir/input.at:772" 6231 $at_failed && at_fn_log_failure 6232 $at_traceon; } 6233 6234 sort xml-tests/test.dot > expout 6235 { set +x 6236 $as_echo "$at_srcdir/input.at:772: \$XSLTPROC \\ 6237 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 6238 xml-tests/test.xml | sort" 6239 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:772" 6240 ( $at_check_trace; $XSLTPROC \ 6241 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 6242 xml-tests/test.xml | sort 6243 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6244 at_status=$? at_failed=false 6245 $at_check_filter 6246 at_fn_diff_devnull "$at_stderr" || at_failed=: 6247 $at_diff expout "$at_stdout" || at_failed=: 6248 at_fn_check_status 0 $at_status "$at_srcdir/input.at:772" 6249 $at_failed && at_fn_log_failure 6250 $at_traceon; } 6251 6252 rm -rf xml-tests expout 6253 at_restore_special_files 6254 fi 6255 { set +x 6256 $as_echo "$at_srcdir/input.at:772: bison -Wyacc input.y" 6257 at_fn_check_prepare_trace "input.at:772" 6258 ( $at_check_trace; bison -Wyacc input.y 6259 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6260 at_status=$? at_failed=false 6261 $at_check_filter 6262 echo >>"$at_stderr"; $as_echo "input.y:9.8-16: warning: POSIX Yacc forbids dashes in symbol names: WITH-DASH 6263 input.y:18.8-16: warning: POSIX Yacc forbids dashes in symbol names: with-dash 6264 " | \ 6265 $at_diff - "$at_stderr" || at_failed=: 6266 at_fn_diff_devnull "$at_stdout" || at_failed=: 6267 at_fn_check_status 0 $at_status "$at_srcdir/input.at:772" 6268 $at_failed && at_fn_log_failure 6269 $at_traceon; } 6270 6271 # Defining POSIXLY_CORRECT causes bison to complain if options are 6272 # added after the grammar file name, so skip these checks in that 6273 # case. 6274 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 6275 at_save_special_files 6276 6277 # To avoid expanding it repeatedly, store specified stdout. 6278 : >expout 6279 6280 # Run with -Werror. 6281 { set +x 6282 $as_echo "$at_srcdir/input.at:772: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wyacc input.y -Werror" 6283 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wyacc input.y -Werror" "input.at:772" 6284 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wyacc input.y -Werror 6285 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6286 at_status=$? at_failed=false 6287 $at_check_filter 6288 echo stderr:; tee stderr <"$at_stderr" 6289 $at_diff expout "$at_stdout" || at_failed=: 6290 at_fn_check_status 1 $at_status "$at_srcdir/input.at:772" 6291 $at_failed && at_fn_log_failure 6292 $at_traceon; } 6293 6294 6295 # Build expected stderr up to and including the "warnings being 6296 # treated as errors" message. 6297 cat >at-bison-check-warnings <<'_ATEOF' 6298 input.y:9.8-16: warning: POSIX Yacc forbids dashes in symbol names: WITH-DASH 6299 input.y:18.8-16: warning: POSIX Yacc forbids dashes in symbol names: with-dash 6300 _ATEOF 6301 6302 at_bison_check_first=`sed -n \ 6303 '/: warning: /{=;q;}' at-bison-check-warnings` 6304 : ${at_bison_check_first:=1} 6305 at_bison_check_first_tmp=`sed -n \ 6306 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 6307 : ${at_bison_check_first_tmp:=1} 6308 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 6309 at_bison_check_first=$at_bison_check_first_tmp 6310 fi 6311 if test $at_bison_check_first -gt 1; then 6312 sed -n "1,`expr $at_bison_check_first - 1`"p \ 6313 at-bison-check-warnings > experr 6314 fi 6315 echo 'bison: warnings being treated as errors' >> experr 6316 6317 # Finish building expected stderr and check. Unlike warnings, 6318 # complaints cause bison to exit early. Thus, with -Werror, bison 6319 # does not necessarily report all warnings that it does without 6320 # -Werror, but it at least reports one. 6321 at_bison_check_last=`sed -n '$=' stderr` 6322 : ${at_bison_check_last:=1} 6323 at_bison_check_last=`expr $at_bison_check_last - 1` 6324 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 6325 at-bison-check-warnings >> experr 6326 { set +x 6327 $as_echo "$at_srcdir/input.at:772: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 6328 stderr 1>&2" 6329 at_fn_check_prepare_notrace 'an embedded newline' "input.at:772" 6330 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 6331 stderr 1>&2 6332 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6333 at_status=$? at_failed=false 6334 $at_check_filter 6335 $at_diff experr "$at_stderr" || at_failed=: 6336 at_fn_diff_devnull "$at_stdout" || at_failed=: 6337 at_fn_check_status 0 $at_status "$at_srcdir/input.at:772" 6338 $at_failed && at_fn_log_failure 6339 $at_traceon; } 6340 6341 6342 # Now check --warnings=error. 6343 cp stderr experr 6344 { set +x 6345 $as_echo "$at_srcdir/input.at:772: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wyacc input.y --warnings=error" 6346 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wyacc input.y --warnings=error" "input.at:772" 6347 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wyacc input.y --warnings=error 6348 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6349 at_status=$? at_failed=false 6350 $at_check_filter 6351 $at_diff experr "$at_stderr" || at_failed=: 6352 $at_diff expout "$at_stdout" || at_failed=: 6353 at_fn_check_status 1 $at_status "$at_srcdir/input.at:772" 6354 $at_failed && at_fn_log_failure 6355 $at_traceon; } 6356 6357 6358 # Now check -Wnone and --warnings=none by making sure that 6359 # -Werror doesn't change the exit status when -Wnone or 6360 # --warnings=none is specified. 6361 { set +x 6362 $as_echo "$at_srcdir/input.at:772: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wyacc input.y -Wnone -Werror" 6363 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wyacc input.y -Wnone -Werror" "input.at:772" 6364 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wyacc input.y -Wnone -Werror 6365 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6366 at_status=$? at_failed=false 6367 $at_check_filter 6368 at_fn_diff_devnull "$at_stderr" || at_failed=: 6369 $at_diff expout "$at_stdout" || at_failed=: 6370 at_fn_check_status 0 $at_status "$at_srcdir/input.at:772" 6371 $at_failed && at_fn_log_failure 6372 $at_traceon; } 6373 6374 { set +x 6375 $as_echo "$at_srcdir/input.at:772: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wyacc input.y --warnings=none -Werror" 6376 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wyacc input.y --warnings=none -Werror" "input.at:772" 6377 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wyacc input.y --warnings=none -Werror 6378 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6379 at_status=$? at_failed=false 6380 $at_check_filter 6381 at_fn_diff_devnull "$at_stderr" || at_failed=: 6382 $at_diff expout "$at_stdout" || at_failed=: 6383 at_fn_check_status 0 $at_status "$at_srcdir/input.at:772" 6384 $at_failed && at_fn_log_failure 6385 $at_traceon; } 6386 6387 6388 at_restore_special_files 6389 fi 6390 6391 # Dashes are fine for GNU Bison. 6392 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 6393 at_save_special_files 6394 mkdir xml-tests 6395 # Don't combine these Bison invocations since we want to be sure that 6396 # --report=all isn't required to get the full XML file. 6397 { set +x 6398 $as_echo "$at_srcdir/input.at:778: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 6399 --graph=xml-tests/test.dot -o input.c input.y" 6400 at_fn_check_prepare_notrace 'an embedded newline' "input.at:778" 6401 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 6402 --graph=xml-tests/test.dot -o input.c input.y 6403 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6404 at_status=$? at_failed=false 6405 $at_check_filter 6406 echo stderr:; cat "$at_stderr" 6407 echo stdout:; cat "$at_stdout" 6408 at_fn_check_status 0 $at_status "$at_srcdir/input.at:778" 6409 $at_failed && at_fn_log_failure 6410 $at_traceon; } 6411 6412 { set +x 6413 $as_echo "$at_srcdir/input.at:778: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" 6414 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" "input.at:778" 6415 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y 6416 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6417 at_status=$? at_failed=false 6418 $at_check_filter 6419 echo stderr:; cat "$at_stderr" 6420 echo stdout:; cat "$at_stdout" 6421 at_fn_check_status 0 $at_status "$at_srcdir/input.at:778" 6422 $at_failed && at_fn_log_failure 6423 $at_traceon; } 6424 6425 cp xml-tests/test.output expout 6426 { set +x 6427 $as_echo "$at_srcdir/input.at:778: \$XSLTPROC \\ 6428 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 6429 xml-tests/test.xml" 6430 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:778" 6431 ( $at_check_trace; $XSLTPROC \ 6432 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 6433 xml-tests/test.xml 6434 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6435 at_status=$? at_failed=false 6436 $at_check_filter 6437 at_fn_diff_devnull "$at_stderr" || at_failed=: 6438 $at_diff expout "$at_stdout" || at_failed=: 6439 at_fn_check_status 0 $at_status "$at_srcdir/input.at:778" 6440 $at_failed && at_fn_log_failure 6441 $at_traceon; } 6442 6443 sort xml-tests/test.dot > expout 6444 { set +x 6445 $as_echo "$at_srcdir/input.at:778: \$XSLTPROC \\ 6446 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 6447 xml-tests/test.xml | sort" 6448 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:778" 6449 ( $at_check_trace; $XSLTPROC \ 6450 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 6451 xml-tests/test.xml | sort 6452 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6453 at_status=$? at_failed=false 6454 $at_check_filter 6455 at_fn_diff_devnull "$at_stderr" || at_failed=: 6456 $at_diff expout "$at_stdout" || at_failed=: 6457 at_fn_check_status 0 $at_status "$at_srcdir/input.at:778" 6458 $at_failed && at_fn_log_failure 6459 $at_traceon; } 6460 6461 rm -rf xml-tests expout 6462 at_restore_special_files 6463 fi 6464 { set +x 6465 $as_echo "$at_srcdir/input.at:778: bison -o input.c input.y" 6466 at_fn_check_prepare_trace "input.at:778" 6467 ( $at_check_trace; bison -o input.c input.y 6468 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6469 at_status=$? at_failed=false 6470 $at_check_filter 6471 at_fn_diff_devnull "$at_stderr" || at_failed=: 6472 at_fn_diff_devnull "$at_stdout" || at_failed=: 6473 at_fn_check_status 0 $at_status "$at_srcdir/input.at:778" 6474 $at_failed && at_fn_log_failure 6475 $at_traceon; } 6476 6477 6478 6479 # Make sure we don't export silly token identifiers with periods or dashes. 6480 { set +x 6481 $as_echo "$at_srcdir/input.at:781: \$BISON_C_WORKS" 6482 at_fn_check_prepare_dynamic "$BISON_C_WORKS" "input.at:781" 6483 ( $at_check_trace; $BISON_C_WORKS 6484 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6485 at_status=$? at_failed=false 6486 $at_check_filter 6487 echo stderr:; cat "$at_stderr" 6488 echo stdout:; cat "$at_stdout" 6489 at_fn_check_status 0 $at_status "$at_srcdir/input.at:781" 6490 $at_failed && at_fn_log_failure 6491 $at_traceon; } 6492 6493 { set +x 6494 $as_echo "$at_srcdir/input.at:781: \$CC \$CFLAGS \$CPPFLAGS -c -o input.o input.c " 6495 at_fn_check_prepare_dynamic "$CC $CFLAGS $CPPFLAGS -c -o input.o input.c " "input.at:781" 6496 ( $at_check_trace; $CC $CFLAGS $CPPFLAGS -c -o input.o input.c 6497 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6498 at_status=$? at_failed=false 6499 $at_check_filter 6500 echo stderr:; cat "$at_stderr" 6501 echo stdout:; cat "$at_stdout" 6502 at_fn_check_status 0 $at_status "$at_srcdir/input.at:781" 6503 $at_failed && at_fn_log_failure 6504 $at_traceon; } 6505 6506 6507 6508 # Periods are genuine letters, they can start identifiers. 6509 # Digits and dashes cannot. 6510 cat >input.y <<'_ATEOF' 6511 %code top { 6512 #include <config.h> 6513 /* We don't need perfect functions for these tests. */ 6514 #undef malloc 6515 #undef memcmp 6516 #undef realloc 6517 } 6518 6519 %token .GOOD 6520 -GOOD 6521 1NV4L1D 6522 -123 6523 %% 6524 start: .GOOD GOOD 6525 _ATEOF 6526 6527 6528 6529 { set +x 6530 $as_echo "$at_srcdir/input.at:794: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o input.c input.y" 6531 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o input.c input.y" "input.at:794" 6532 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o input.c input.y 6533 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6534 at_status=$? at_failed=false 6535 $at_check_filter 6536 echo >>"$at_stderr"; $as_echo "input.y:10.10: error: invalid character: '-' 6537 input.y:11.10-16: error: invalid identifier: '1NV4L1D' 6538 input.y:12.10: error: invalid character: '-' 6539 " | \ 6540 $at_diff - "$at_stderr" || at_failed=: 6541 at_fn_diff_devnull "$at_stdout" || at_failed=: 6542 at_fn_check_status 1 $at_status "$at_srcdir/input.at:794" 6543 $at_failed && at_fn_log_failure 6544 $at_traceon; } 6545 6546 6547 6548 set +x 6549 $at_times_p && times >"$at_times_file" 6550 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 6551 read at_status <"$at_status_file" 6552 #AT_STOP_18 6553 #AT_START_19 6554 at_fn_group_banner 19 'input.at:807' \ 6555 "Numbered tokens" " " 1 6556 at_xfail=no 6557 ( 6558 $as_echo "19. $at_setup_line: testing $at_desc ..." 6559 $at_traceon 6560 6561 6562 cat >redecl.y <<'_ATEOF' 6563 %code top { 6564 #include <config.h> 6565 /* We don't need perfect functions for these tests. */ 6566 #undef malloc 6567 #undef memcmp 6568 #undef realloc 6569 } 6570 6571 %token DECIMAL_1 11259375 6572 HEXADECIMAL_1 0xabcdef 6573 HEXADECIMAL_2 0xFEDCBA 6574 DECIMAL_2 16702650 6575 %% 6576 start: DECIMAL_1 HEXADECIMAL_2; 6577 _ATEOF 6578 6579 6580 6581 6582 { set +x 6583 $as_echo "$at_srcdir/input.at:818: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison redecl.y" 6584 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison redecl.y" "input.at:818" 6585 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison redecl.y 6586 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6587 at_status=$? at_failed=false 6588 $at_check_filter 6589 echo >>"$at_stderr"; $as_echo "redecl.y:10.10-22: error: user token number 11259375 redeclaration for HEXADECIMAL_1 6590 redecl.y:9.8-16: previous declaration for DECIMAL_1 6591 redecl.y:12.10-18: error: user token number 16702650 redeclaration for DECIMAL_2 6592 redecl.y:11.10-22: previous declaration for HEXADECIMAL_2 6593 " | \ 6594 $at_diff - "$at_stderr" || at_failed=: 6595 at_fn_diff_devnull "$at_stdout" || at_failed=: 6596 at_fn_check_status 1 $at_status "$at_srcdir/input.at:818" 6597 $at_failed && at_fn_log_failure 6598 $at_traceon; } 6599 6600 6601 6602 cat >too-large.y <<'_ATEOF' 6603 %code top { 6604 #include <config.h> 6605 /* We don't need perfect functions for these tests. */ 6606 #undef malloc 6607 #undef memcmp 6608 #undef realloc 6609 } 6610 6611 %token TOO_LARGE_DEC 999999999999999999999 6612 TOO_LARGE_HEX 0xFFFFFFFFFFFFFFFFFFF 6613 %% 6614 start: TOO_LARGE_DEC TOO_LARGE_HEX 6615 %% 6616 _ATEOF 6617 6618 6619 6620 6621 { set +x 6622 $as_echo "$at_srcdir/input.at:833: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison too-large.y" 6623 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison too-large.y" "input.at:833" 6624 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison too-large.y 6625 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6626 at_status=$? at_failed=false 6627 $at_check_filter 6628 echo >>"$at_stderr"; $as_echo "too-large.y:9.22-42: error: integer out of range: '999999999999999999999' 6629 too-large.y:10.24-44: error: integer out of range: '0xFFFFFFFFFFFFFFFFFFF' 6630 " | \ 6631 $at_diff - "$at_stderr" || at_failed=: 6632 at_fn_diff_devnull "$at_stdout" || at_failed=: 6633 at_fn_check_status 1 $at_status "$at_srcdir/input.at:833" 6634 $at_failed && at_fn_log_failure 6635 $at_traceon; } 6636 6637 6638 6639 set +x 6640 $at_times_p && times >"$at_times_file" 6641 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 6642 read at_status <"$at_status_file" 6643 #AT_STOP_19 6644 #AT_START_20 6645 at_fn_group_banner 20 'input.at:845' \ 6646 "Unclosed constructs" " " 1 6647 at_xfail=no 6648 ( 6649 $as_echo "20. $at_setup_line: testing $at_desc ..." 6650 $at_traceon 6651 6652 6653 # Bison's scan-gram.l once forgot to STRING_FINISH some unclosed constructs, so 6654 # they were prepended to whatever it STRING_GROW'ed next. It also threw them 6655 # away rather than returning them to the parser. The effect was confusing 6656 # subsequent error messages. 6657 6658 cat >input.y <<'_ATEOF' 6659 %token A "a 6660 %token B "b" 6661 %token AB "ab" // Used to complain that "ab" was already used. 6662 %token C '1 6663 %token TWO "2" 6664 %token TICK_TWELVE "'12" // Used to complain that "'12" was already used. 6665 6666 %% 6667 6668 start: ; 6669 6670 // Used to report a syntax error because it didn't see any kind of symbol 6671 // identifier. 6672 %type <f> 'a 6673 ; 6674 %type <f> "a 6675 ; 6676 // Used to report a syntax error because it didn't see braced code. 6677 %destructor { free ($$) 6678 _ATEOF 6679 6680 6681 6682 { set +x 6683 $as_echo "$at_srcdir/input.at:874: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o input.c input.y" 6684 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o input.c input.y" "input.at:874" 6685 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o input.c input.y 6686 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6687 at_status=$? at_failed=false 6688 $at_check_filter 6689 echo >>"$at_stderr"; $as_echo "input.y:1.10-2.0: error: missing '\"' at end of line 6690 input.y:4.10-5.0: error: missing \"'\" at end of line 6691 input.y:14.11-15.0: error: missing \"'\" at end of line 6692 input.y:16.11-17.0: error: missing '\"' at end of line 6693 input.y:19.13-20.0: error: missing '}' at end of file 6694 input.y:20.1: error: syntax error, unexpected end of file 6695 " | \ 6696 $at_diff - "$at_stderr" || at_failed=: 6697 at_fn_diff_devnull "$at_stdout" || at_failed=: 6698 at_fn_check_status 1 $at_status "$at_srcdir/input.at:874" 6699 $at_failed && at_fn_log_failure 6700 $at_traceon; } 6701 6702 6703 6704 6705 { set +x 6706 $as_echo "$at_srcdir/input.at:883: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret -o input.c input.y" 6707 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret -o input.c input.y" "input.at:883" 6708 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret -o input.c input.y 6709 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6710 at_status=$? at_failed=false 6711 $at_check_filter 6712 echo >>"$at_stderr"; $as_echo "input.y:1.10-2.0: error: missing '\"' at end of line 6713 %token A \"a 6714 ^^ 6715 input.y:4.10-5.0: error: missing \"'\" at end of line 6716 %token C '1 6717 ^^ 6718 input.y:14.11-15.0: error: missing \"'\" at end of line 6719 %type <f> 'a 6720 ^^ 6721 input.y:16.11-17.0: error: missing '\"' at end of line 6722 %type <f> \"a 6723 ^^ 6724 input.y:19.13-20.0: error: missing '}' at end of file 6725 %destructor { free (\$\$) 6726 ^^^^^^^^^^^ 6727 input.y:20.1: error: syntax error, unexpected end of file 6728 " | \ 6729 $at_diff - "$at_stderr" || at_failed=: 6730 at_fn_diff_devnull "$at_stdout" || at_failed=: 6731 at_fn_check_status 1 $at_status "$at_srcdir/input.at:883" 6732 $at_failed && at_fn_log_failure 6733 $at_traceon; } 6734 6735 6736 6737 set +x 6738 $at_times_p && times >"$at_times_file" 6739 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 6740 read at_status <"$at_status_file" 6741 #AT_STOP_20 6742 #AT_START_21 6743 at_fn_group_banner 21 'input.at:909' \ 6744 "%start after first rule" " " 1 6745 at_xfail=no 6746 ( 6747 $as_echo "21. $at_setup_line: testing $at_desc ..." 6748 $at_traceon 6749 6750 6751 # Bison once complained that a %start after the first rule was a redeclaration 6752 # of the start symbol. 6753 6754 cat >input.y <<'_ATEOF' 6755 %% 6756 false_start: ; 6757 start: false_start ; 6758 %start start; 6759 _ATEOF 6760 6761 6762 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 6763 at_save_special_files 6764 mkdir xml-tests 6765 # Don't combine these Bison invocations since we want to be sure that 6766 # --report=all isn't required to get the full XML file. 6767 { set +x 6768 $as_echo "$at_srcdir/input.at:921: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 6769 --graph=xml-tests/test.dot -o input.c input.y" 6770 at_fn_check_prepare_notrace 'an embedded newline' "input.at:921" 6771 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 6772 --graph=xml-tests/test.dot -o input.c input.y 6773 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6774 at_status=$? at_failed=false 6775 $at_check_filter 6776 echo stderr:; cat "$at_stderr" 6777 echo stdout:; cat "$at_stdout" 6778 at_fn_check_status 0 $at_status "$at_srcdir/input.at:921" 6779 $at_failed && at_fn_log_failure 6780 $at_traceon; } 6781 6782 { set +x 6783 $as_echo "$at_srcdir/input.at:921: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" 6784 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y" "input.at:921" 6785 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o input.c input.y 6786 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6787 at_status=$? at_failed=false 6788 $at_check_filter 6789 echo stderr:; cat "$at_stderr" 6790 echo stdout:; cat "$at_stdout" 6791 at_fn_check_status 0 $at_status "$at_srcdir/input.at:921" 6792 $at_failed && at_fn_log_failure 6793 $at_traceon; } 6794 6795 cp xml-tests/test.output expout 6796 { set +x 6797 $as_echo "$at_srcdir/input.at:921: \$XSLTPROC \\ 6798 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 6799 xml-tests/test.xml" 6800 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:921" 6801 ( $at_check_trace; $XSLTPROC \ 6802 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 6803 xml-tests/test.xml 6804 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6805 at_status=$? at_failed=false 6806 $at_check_filter 6807 at_fn_diff_devnull "$at_stderr" || at_failed=: 6808 $at_diff expout "$at_stdout" || at_failed=: 6809 at_fn_check_status 0 $at_status "$at_srcdir/input.at:921" 6810 $at_failed && at_fn_log_failure 6811 $at_traceon; } 6812 6813 sort xml-tests/test.dot > expout 6814 { set +x 6815 $as_echo "$at_srcdir/input.at:921: \$XSLTPROC \\ 6816 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 6817 xml-tests/test.xml | sort" 6818 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:921" 6819 ( $at_check_trace; $XSLTPROC \ 6820 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 6821 xml-tests/test.xml | sort 6822 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6823 at_status=$? at_failed=false 6824 $at_check_filter 6825 at_fn_diff_devnull "$at_stderr" || at_failed=: 6826 $at_diff expout "$at_stdout" || at_failed=: 6827 at_fn_check_status 0 $at_status "$at_srcdir/input.at:921" 6828 $at_failed && at_fn_log_failure 6829 $at_traceon; } 6830 6831 rm -rf xml-tests expout 6832 at_restore_special_files 6833 fi 6834 { set +x 6835 $as_echo "$at_srcdir/input.at:921: bison -o input.c input.y" 6836 at_fn_check_prepare_trace "input.at:921" 6837 ( $at_check_trace; bison -o input.c input.y 6838 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6839 at_status=$? at_failed=false 6840 $at_check_filter 6841 at_fn_diff_devnull "$at_stderr" || at_failed=: 6842 at_fn_diff_devnull "$at_stdout" || at_failed=: 6843 at_fn_check_status 0 $at_status "$at_srcdir/input.at:921" 6844 $at_failed && at_fn_log_failure 6845 $at_traceon; } 6846 6847 6848 6849 set +x 6850 $at_times_p && times >"$at_times_file" 6851 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 6852 read at_status <"$at_status_file" 6853 #AT_STOP_21 6854 #AT_START_22 6855 at_fn_group_banner 22 'input.at:930' \ 6856 "%prec takes a token" " " 1 6857 at_xfail=no 6858 ( 6859 $as_echo "22. $at_setup_line: testing $at_desc ..." 6860 $at_traceon 6861 6862 6863 # Bison once allowed %prec sym where sym was a nonterminal. 6864 6865 cat >input.y <<'_ATEOF' 6866 %% 6867 start: PREC %prec PREC ; 6868 PREC: ; 6869 _ATEOF 6870 6871 6872 6873 { set +x 6874 $as_echo "$at_srcdir/input.at:940: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 6875 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:940" 6876 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 6877 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6878 at_status=$? at_failed=false 6879 $at_check_filter 6880 echo >>"$at_stderr"; $as_echo "input.y:3.1-4: error: rule given for PREC, which is a token 6881 " | \ 6882 $at_diff - "$at_stderr" || at_failed=: 6883 at_fn_diff_devnull "$at_stdout" || at_failed=: 6884 at_fn_check_status 1 $at_status "$at_srcdir/input.at:940" 6885 $at_failed && at_fn_log_failure 6886 $at_traceon; } 6887 6888 6889 6890 set +x 6891 $at_times_p && times >"$at_times_file" 6892 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 6893 read at_status <"$at_status_file" 6894 #AT_STOP_22 6895 #AT_START_23 6896 at_fn_group_banner 23 'input.at:951' \ 6897 "%prec's token must be defined" " " 1 6898 at_xfail=no 6899 ( 6900 $as_echo "23. $at_setup_line: testing $at_desc ..." 6901 $at_traceon 6902 6903 6904 # According to POSIX, a %prec token must be defined separately. 6905 6906 cat >input.y <<'_ATEOF' 6907 %% 6908 start: %prec PREC ; 6909 _ATEOF 6910 6911 6912 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 6913 at_save_special_files 6914 mkdir xml-tests 6915 # Don't combine these Bison invocations since we want to be sure that 6916 # --report=all isn't required to get the full XML file. 6917 { set +x 6918 $as_echo "$at_srcdir/input.at:960: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 6919 --graph=xml-tests/test.dot input.y" 6920 at_fn_check_prepare_notrace 'an embedded newline' "input.at:960" 6921 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 6922 --graph=xml-tests/test.dot input.y 6923 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6924 at_status=$? at_failed=false 6925 $at_check_filter 6926 echo stderr:; cat "$at_stderr" 6927 echo stdout:; cat "$at_stdout" 6928 at_fn_check_status 0 $at_status "$at_srcdir/input.at:960" 6929 $at_failed && at_fn_log_failure 6930 $at_traceon; } 6931 6932 { set +x 6933 $as_echo "$at_srcdir/input.at:960: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" 6934 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" "input.at:960" 6935 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y 6936 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6937 at_status=$? at_failed=false 6938 $at_check_filter 6939 echo stderr:; cat "$at_stderr" 6940 echo stdout:; cat "$at_stdout" 6941 at_fn_check_status 0 $at_status "$at_srcdir/input.at:960" 6942 $at_failed && at_fn_log_failure 6943 $at_traceon; } 6944 6945 cp xml-tests/test.output expout 6946 { set +x 6947 $as_echo "$at_srcdir/input.at:960: \$XSLTPROC \\ 6948 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 6949 xml-tests/test.xml" 6950 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:960" 6951 ( $at_check_trace; $XSLTPROC \ 6952 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 6953 xml-tests/test.xml 6954 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6955 at_status=$? at_failed=false 6956 $at_check_filter 6957 at_fn_diff_devnull "$at_stderr" || at_failed=: 6958 $at_diff expout "$at_stdout" || at_failed=: 6959 at_fn_check_status 0 $at_status "$at_srcdir/input.at:960" 6960 $at_failed && at_fn_log_failure 6961 $at_traceon; } 6962 6963 sort xml-tests/test.dot > expout 6964 { set +x 6965 $as_echo "$at_srcdir/input.at:960: \$XSLTPROC \\ 6966 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 6967 xml-tests/test.xml | sort" 6968 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:960" 6969 ( $at_check_trace; $XSLTPROC \ 6970 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 6971 xml-tests/test.xml | sort 6972 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6973 at_status=$? at_failed=false 6974 $at_check_filter 6975 at_fn_diff_devnull "$at_stderr" || at_failed=: 6976 $at_diff expout "$at_stdout" || at_failed=: 6977 at_fn_check_status 0 $at_status "$at_srcdir/input.at:960" 6978 $at_failed && at_fn_log_failure 6979 $at_traceon; } 6980 6981 rm -rf xml-tests expout 6982 at_restore_special_files 6983 fi 6984 { set +x 6985 $as_echo "$at_srcdir/input.at:960: bison input.y" 6986 at_fn_check_prepare_trace "input.at:960" 6987 ( $at_check_trace; bison input.y 6988 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 6989 at_status=$? at_failed=false 6990 $at_check_filter 6991 echo >>"$at_stderr"; $as_echo "input.y:2.8-17: warning: token for %prec is not defined: PREC 6992 " | \ 6993 $at_diff - "$at_stderr" || at_failed=: 6994 at_fn_diff_devnull "$at_stdout" || at_failed=: 6995 at_fn_check_status 0 $at_status "$at_srcdir/input.at:960" 6996 $at_failed && at_fn_log_failure 6997 $at_traceon; } 6998 6999 # Defining POSIXLY_CORRECT causes bison to complain if options are 7000 # added after the grammar file name, so skip these checks in that 7001 # case. 7002 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 7003 at_save_special_files 7004 7005 # To avoid expanding it repeatedly, store specified stdout. 7006 : >expout 7007 7008 # Run with -Werror. 7009 { set +x 7010 $as_echo "$at_srcdir/input.at:960: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" 7011 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" "input.at:960" 7012 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Werror 7013 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7014 at_status=$? at_failed=false 7015 $at_check_filter 7016 echo stderr:; tee stderr <"$at_stderr" 7017 $at_diff expout "$at_stdout" || at_failed=: 7018 at_fn_check_status 1 $at_status "$at_srcdir/input.at:960" 7019 $at_failed && at_fn_log_failure 7020 $at_traceon; } 7021 7022 7023 # Build expected stderr up to and including the "warnings being 7024 # treated as errors" message. 7025 cat >at-bison-check-warnings <<'_ATEOF' 7026 input.y:2.8-17: warning: token for %prec is not defined: PREC 7027 _ATEOF 7028 7029 at_bison_check_first=`sed -n \ 7030 '/: warning: /{=;q;}' at-bison-check-warnings` 7031 : ${at_bison_check_first:=1} 7032 at_bison_check_first_tmp=`sed -n \ 7033 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 7034 : ${at_bison_check_first_tmp:=1} 7035 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 7036 at_bison_check_first=$at_bison_check_first_tmp 7037 fi 7038 if test $at_bison_check_first -gt 1; then 7039 sed -n "1,`expr $at_bison_check_first - 1`"p \ 7040 at-bison-check-warnings > experr 7041 fi 7042 echo 'bison: warnings being treated as errors' >> experr 7043 7044 # Finish building expected stderr and check. Unlike warnings, 7045 # complaints cause bison to exit early. Thus, with -Werror, bison 7046 # does not necessarily report all warnings that it does without 7047 # -Werror, but it at least reports one. 7048 at_bison_check_last=`sed -n '$=' stderr` 7049 : ${at_bison_check_last:=1} 7050 at_bison_check_last=`expr $at_bison_check_last - 1` 7051 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 7052 at-bison-check-warnings >> experr 7053 { set +x 7054 $as_echo "$at_srcdir/input.at:960: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 7055 stderr 1>&2" 7056 at_fn_check_prepare_notrace 'an embedded newline' "input.at:960" 7057 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 7058 stderr 1>&2 7059 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7060 at_status=$? at_failed=false 7061 $at_check_filter 7062 $at_diff experr "$at_stderr" || at_failed=: 7063 at_fn_diff_devnull "$at_stdout" || at_failed=: 7064 at_fn_check_status 0 $at_status "$at_srcdir/input.at:960" 7065 $at_failed && at_fn_log_failure 7066 $at_traceon; } 7067 7068 7069 # Now check --warnings=error. 7070 cp stderr experr 7071 { set +x 7072 $as_echo "$at_srcdir/input.at:960: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" 7073 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" "input.at:960" 7074 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=error 7075 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7076 at_status=$? at_failed=false 7077 $at_check_filter 7078 $at_diff experr "$at_stderr" || at_failed=: 7079 $at_diff expout "$at_stdout" || at_failed=: 7080 at_fn_check_status 1 $at_status "$at_srcdir/input.at:960" 7081 $at_failed && at_fn_log_failure 7082 $at_traceon; } 7083 7084 7085 # Now check -Wnone and --warnings=none by making sure that 7086 # -Werror doesn't change the exit status when -Wnone or 7087 # --warnings=none is specified. 7088 { set +x 7089 $as_echo "$at_srcdir/input.at:960: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" 7090 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" "input.at:960" 7091 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Wnone -Werror 7092 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7093 at_status=$? at_failed=false 7094 $at_check_filter 7095 at_fn_diff_devnull "$at_stderr" || at_failed=: 7096 $at_diff expout "$at_stdout" || at_failed=: 7097 at_fn_check_status 0 $at_status "$at_srcdir/input.at:960" 7098 $at_failed && at_fn_log_failure 7099 $at_traceon; } 7100 7101 { set +x 7102 $as_echo "$at_srcdir/input.at:960: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" 7103 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" "input.at:960" 7104 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror 7105 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7106 at_status=$? at_failed=false 7107 $at_check_filter 7108 at_fn_diff_devnull "$at_stderr" || at_failed=: 7109 $at_diff expout "$at_stdout" || at_failed=: 7110 at_fn_check_status 0 $at_status "$at_srcdir/input.at:960" 7111 $at_failed && at_fn_log_failure 7112 $at_traceon; } 7113 7114 7115 at_restore_special_files 7116 fi 7117 7118 set +x 7119 $at_times_p && times >"$at_times_file" 7120 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 7121 read at_status <"$at_status_file" 7122 #AT_STOP_23 7123 #AT_START_24 7124 at_fn_group_banner 24 'input.at:971' \ 7125 "Reject unused %code qualifiers" " " 1 7126 at_xfail=no 7127 ( 7128 $as_echo "24. $at_setup_line: testing $at_desc ..." 7129 $at_traceon 7130 7131 7132 cat >input-c.y <<'_ATEOF' 7133 %code q {} 7134 %code bad {} 7135 %code bad {} 7136 %code format {} 7137 %% 7138 start: ; 7139 _ATEOF 7140 7141 7142 { set +x 7143 $as_echo "$at_srcdir/input.at:981: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-c.y" 7144 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-c.y" "input.at:981" 7145 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input-c.y 7146 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7147 at_status=$? at_failed=false 7148 $at_check_filter 7149 echo >>"$at_stderr"; $as_echo "input-c.y:1.7: error: %code qualifier 'q' is not used 7150 input-c.y:2.7-9: error: %code qualifier 'bad' is not used 7151 input-c.y:3.7-9: error: %code qualifier 'bad' is not used 7152 input-c.y:4.7-12: error: %code qualifier 'format' is not used 7153 " | \ 7154 $at_diff - "$at_stderr" || at_failed=: 7155 at_fn_diff_devnull "$at_stdout" || at_failed=: 7156 at_fn_check_status 1 $at_status "$at_srcdir/input.at:981" 7157 $at_failed && at_fn_log_failure 7158 $at_traceon; } 7159 7160 7161 7162 cat >input-c-glr.y <<'_ATEOF' 7163 %code q {} 7164 %code bad {} 7165 %code bad {} 7166 %% 7167 start: ; 7168 _ATEOF 7169 7170 7171 { set +x 7172 $as_echo "$at_srcdir/input.at:995: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-c-glr.y" 7173 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-c-glr.y" "input.at:995" 7174 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input-c-glr.y 7175 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7176 at_status=$? at_failed=false 7177 $at_check_filter 7178 echo >>"$at_stderr"; $as_echo "input-c-glr.y:1.7: error: %code qualifier 'q' is not used 7179 input-c-glr.y:2.7-9: error: %code qualifier 'bad' is not used 7180 input-c-glr.y:3.8-10: error: %code qualifier 'bad' is not used 7181 " | \ 7182 $at_diff - "$at_stderr" || at_failed=: 7183 at_fn_diff_devnull "$at_stdout" || at_failed=: 7184 at_fn_check_status 1 $at_status "$at_srcdir/input.at:995" 7185 $at_failed && at_fn_log_failure 7186 $at_traceon; } 7187 7188 7189 7190 cat >input-c++.y <<'_ATEOF' 7191 %code q {} 7192 %code bad {} 7193 %code q {} 7194 %% 7195 start: ; 7196 _ATEOF 7197 7198 7199 { set +x 7200 $as_echo "$at_srcdir/input.at:1008: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-c++.y" 7201 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-c++.y" "input.at:1008" 7202 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input-c++.y 7203 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7204 at_status=$? at_failed=false 7205 $at_check_filter 7206 echo >>"$at_stderr"; $as_echo "input-c++.y:1.7: error: %code qualifier 'q' is not used 7207 input-c++.y:2.7-9: error: %code qualifier 'bad' is not used 7208 input-c++.y:3.8: error: %code qualifier 'q' is not used 7209 " | \ 7210 $at_diff - "$at_stderr" || at_failed=: 7211 at_fn_diff_devnull "$at_stdout" || at_failed=: 7212 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1008" 7213 $at_failed && at_fn_log_failure 7214 $at_traceon; } 7215 7216 7217 7218 cat >input-c++-glr.y <<'_ATEOF' 7219 %code bad {} 7220 %code q {} 7221 %code q {} 7222 %% 7223 start: ; 7224 _ATEOF 7225 7226 7227 { set +x 7228 $as_echo "$at_srcdir/input.at:1021: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-c++-glr.y" 7229 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-c++-glr.y" "input.at:1021" 7230 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input-c++-glr.y 7231 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7232 at_status=$? at_failed=false 7233 $at_check_filter 7234 echo >>"$at_stderr"; $as_echo "input-c++-glr.y:1.7-9: error: %code qualifier 'bad' is not used 7235 input-c++-glr.y:2.7: error: %code qualifier 'q' is not used 7236 input-c++-glr.y:3.7: error: %code qualifier 'q' is not used 7237 " | \ 7238 $at_diff - "$at_stderr" || at_failed=: 7239 at_fn_diff_devnull "$at_stdout" || at_failed=: 7240 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1021" 7241 $at_failed && at_fn_log_failure 7242 $at_traceon; } 7243 7244 7245 7246 cat >special-char-@@.y <<'_ATEOF' 7247 %code bad {} 7248 %code q {} 7249 %code q {} 7250 %% 7251 start: ; 7252 _ATEOF 7253 7254 7255 { set +x 7256 $as_echo "$at_srcdir/input.at:1034: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison special-char-@@.y" 7257 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison special-char-@@.y" "input.at:1034" 7258 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison special-char-@@.y 7259 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7260 at_status=$? at_failed=false 7261 $at_check_filter 7262 echo >>"$at_stderr"; $as_echo "special-char-@@.y:1.7-9: error: %code qualifier 'bad' is not used 7263 special-char-@@.y:2.7: error: %code qualifier 'q' is not used 7264 special-char-@@.y:3.7: error: %code qualifier 'q' is not used 7265 " | \ 7266 $at_diff - "$at_stderr" || at_failed=: 7267 at_fn_diff_devnull "$at_stdout" || at_failed=: 7268 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1034" 7269 $at_failed && at_fn_log_failure 7270 $at_traceon; } 7271 7272 7273 7274 cat >special-char-].y <<'_ATEOF' 7275 %code bad {} 7276 %code q {} 7277 %code q {} 7278 %% 7279 start: ; 7280 _ATEOF 7281 7282 7283 { set +x 7284 $as_echo "$at_srcdir/input.at:1047: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison special-char-].y" 7285 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison special-char-].y" "input.at:1047" 7286 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison special-char-].y 7287 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7288 at_status=$? at_failed=false 7289 $at_check_filter 7290 echo >>"$at_stderr"; $as_echo "special-char-].y:1.7-9: error: %code qualifier 'bad' is not used 7291 special-char-].y:2.7: error: %code qualifier 'q' is not used 7292 special-char-].y:3.7: error: %code qualifier 'q' is not used 7293 " | \ 7294 $at_diff - "$at_stderr" || at_failed=: 7295 at_fn_diff_devnull "$at_stdout" || at_failed=: 7296 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1047" 7297 $at_failed && at_fn_log_failure 7298 $at_traceon; } 7299 7300 7301 7302 set +x 7303 $at_times_p && times >"$at_times_file" 7304 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 7305 read at_status <"$at_status_file" 7306 #AT_STOP_24 7307 #AT_START_25 7308 at_fn_group_banner 25 'input.at:1060' \ 7309 "%define errors" " " 1 7310 at_xfail=no 7311 ( 7312 $as_echo "25. $at_setup_line: testing $at_desc ..." 7313 $at_traceon 7314 7315 7316 cat >input-redefined.y <<'_ATEOF' 7317 %define var "value1" 7318 %define var "value1" 7319 %define var "value2" 7320 %define special1 "]" 7321 %define special2 "[" 7322 %% 7323 start: ; 7324 _ATEOF 7325 7326 7327 7328 { set +x 7329 $as_echo "$at_srcdir/input.at:1072: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-redefined.y" 7330 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-redefined.y" "input.at:1072" 7331 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input-redefined.y 7332 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7333 at_status=$? at_failed=false 7334 $at_check_filter 7335 echo >>"$at_stderr"; $as_echo "input-redefined.y:2.9-11: error: %define variable 'var' redefined 7336 input-redefined.y:1.9-11: previous definition 7337 input-redefined.y:3.10-12: error: %define variable 'var' redefined 7338 input-redefined.y:2.9-11: previous definition 7339 " | \ 7340 $at_diff - "$at_stderr" || at_failed=: 7341 at_fn_diff_devnull "$at_stdout" || at_failed=: 7342 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1072" 7343 $at_failed && at_fn_log_failure 7344 $at_traceon; } 7345 7346 7347 7348 cat >input-unused.y <<'_ATEOF' 7349 %define var "value" 7350 %% 7351 start: ; 7352 _ATEOF 7353 7354 7355 7356 { set +x 7357 $as_echo "$at_srcdir/input.at:1085: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-unused.y" 7358 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input-unused.y" "input.at:1085" 7359 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input-unused.y 7360 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7361 at_status=$? at_failed=false 7362 $at_check_filter 7363 echo >>"$at_stderr"; $as_echo "input-unused.y:1.9-11: error: %define variable 'var' is not used 7364 " | \ 7365 $at_diff - "$at_stderr" || at_failed=: 7366 at_fn_diff_devnull "$at_stdout" || at_failed=: 7367 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1085" 7368 $at_failed && at_fn_log_failure 7369 $at_traceon; } 7370 7371 7372 7373 set +x 7374 $at_times_p && times >"$at_times_file" 7375 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 7376 read at_status <"$at_status_file" 7377 #AT_STOP_25 7378 #AT_START_26 7379 at_fn_group_banner 26 'input.at:1096' \ 7380 "%define, --define, --force-define" " " 1 7381 at_xfail=no 7382 ( 7383 $as_echo "26. $at_setup_line: testing $at_desc ..." 7384 $at_traceon 7385 7386 7387 cat >skel.c <<'_ATEOF' 7388 m4_divert_push(0)@ 7389 @output(b4_parser_file_name@)@ 7390 [var-dd: ]b4_percent_define_get([[var-dd]])[ 7391 var-ff: ]b4_percent_define_get([[var-ff]])[ 7392 var-dfg: ]b4_percent_define_get([[var-dfg]])[ 7393 var-fd: ]b4_percent_define_get([[var-fd]]) 7394 m4_divert_pop(0) 7395 _ATEOF 7396 7397 cat >input.y <<'_ATEOF' 7398 %define var-dfg "gram" 7399 %% 7400 start: ; 7401 _ATEOF 7402 7403 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 7404 at_save_special_files 7405 mkdir xml-tests 7406 # Don't combine these Bison invocations since we want to be sure that 7407 # --report=all isn't required to get the full XML file. 7408 { set +x 7409 $as_echo "$at_srcdir/input.at:1112: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 7410 --graph=xml-tests/test.dot -Dvar-dd=cmd-d1 -Dvar-dd=cmd-d2 \\ 7411 -Fvar-ff=cmd-f1 -Fvar-ff=cmd-f2 \\ 7412 -Dvar-dfg=cmd-d -Fvar-dfg=cmd-f \\ 7413 -Fvar-fd=cmd-f -Dvar-fd=cmd-d \\ 7414 --skeleton ./skel.c input.y" 7415 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1112" 7416 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 7417 --graph=xml-tests/test.dot -Dvar-dd=cmd-d1 -Dvar-dd=cmd-d2 \ 7418 -Fvar-ff=cmd-f1 -Fvar-ff=cmd-f2 \ 7419 -Dvar-dfg=cmd-d -Fvar-dfg=cmd-f \ 7420 -Fvar-fd=cmd-f -Dvar-fd=cmd-d \ 7421 --skeleton ./skel.c input.y 7422 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7423 at_status=$? at_failed=false 7424 $at_check_filter 7425 echo stderr:; cat "$at_stderr" 7426 echo stdout:; cat "$at_stdout" 7427 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1112" 7428 $at_failed && at_fn_log_failure 7429 $at_traceon; } 7430 7431 { set +x 7432 $as_echo "$at_srcdir/input.at:1112: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Dvar-dd=cmd-d1 -Dvar-dd=cmd-d2 \\ 7433 -Fvar-ff=cmd-f1 -Fvar-ff=cmd-f2 \\ 7434 -Dvar-dfg=cmd-d -Fvar-dfg=cmd-f \\ 7435 -Fvar-fd=cmd-f -Dvar-fd=cmd-d \\ 7436 --skeleton ./skel.c input.y" 7437 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1112" 7438 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Dvar-dd=cmd-d1 -Dvar-dd=cmd-d2 \ 7439 -Fvar-ff=cmd-f1 -Fvar-ff=cmd-f2 \ 7440 -Dvar-dfg=cmd-d -Fvar-dfg=cmd-f \ 7441 -Fvar-fd=cmd-f -Dvar-fd=cmd-d \ 7442 --skeleton ./skel.c input.y 7443 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7444 at_status=$? at_failed=false 7445 $at_check_filter 7446 echo stderr:; cat "$at_stderr" 7447 echo stdout:; cat "$at_stdout" 7448 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1112" 7449 $at_failed && at_fn_log_failure 7450 $at_traceon; } 7451 7452 cp xml-tests/test.output expout 7453 { set +x 7454 $as_echo "$at_srcdir/input.at:1112: \$XSLTPROC \\ 7455 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 7456 xml-tests/test.xml" 7457 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1112" 7458 ( $at_check_trace; $XSLTPROC \ 7459 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 7460 xml-tests/test.xml 7461 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7462 at_status=$? at_failed=false 7463 $at_check_filter 7464 at_fn_diff_devnull "$at_stderr" || at_failed=: 7465 $at_diff expout "$at_stdout" || at_failed=: 7466 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1112" 7467 $at_failed && at_fn_log_failure 7468 $at_traceon; } 7469 7470 sort xml-tests/test.dot > expout 7471 { set +x 7472 $as_echo "$at_srcdir/input.at:1112: \$XSLTPROC \\ 7473 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 7474 xml-tests/test.xml | sort" 7475 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1112" 7476 ( $at_check_trace; $XSLTPROC \ 7477 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 7478 xml-tests/test.xml | sort 7479 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7480 at_status=$? at_failed=false 7481 $at_check_filter 7482 at_fn_diff_devnull "$at_stderr" || at_failed=: 7483 $at_diff expout "$at_stdout" || at_failed=: 7484 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1112" 7485 $at_failed && at_fn_log_failure 7486 $at_traceon; } 7487 7488 rm -rf xml-tests expout 7489 at_restore_special_files 7490 fi 7491 { set +x 7492 $as_echo "$at_srcdir/input.at:1112: bison -Dvar-dd=cmd-d1 -Dvar-dd=cmd-d2 \\ 7493 -Fvar-ff=cmd-f1 -Fvar-ff=cmd-f2 \\ 7494 -Dvar-dfg=cmd-d -Fvar-dfg=cmd-f \\ 7495 -Fvar-fd=cmd-f -Dvar-fd=cmd-d \\ 7496 --skeleton ./skel.c input.y" 7497 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1112" 7498 ( $at_check_trace; bison -Dvar-dd=cmd-d1 -Dvar-dd=cmd-d2 \ 7499 -Fvar-ff=cmd-f1 -Fvar-ff=cmd-f2 \ 7500 -Dvar-dfg=cmd-d -Fvar-dfg=cmd-f \ 7501 -Fvar-fd=cmd-f -Dvar-fd=cmd-d \ 7502 --skeleton ./skel.c input.y 7503 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7504 at_status=$? at_failed=false 7505 $at_check_filter 7506 at_fn_diff_devnull "$at_stderr" || at_failed=: 7507 at_fn_diff_devnull "$at_stdout" || at_failed=: 7508 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1112" 7509 $at_failed && at_fn_log_failure 7510 $at_traceon; } 7511 7512 7513 { set +x 7514 $as_echo "$at_srcdir/input.at:1117: cat input.tab.c" 7515 at_fn_check_prepare_trace "input.at:1117" 7516 ( $at_check_trace; cat input.tab.c 7517 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7518 at_status=$? at_failed=false 7519 $at_check_filter 7520 at_fn_diff_devnull "$at_stderr" || at_failed=: 7521 echo >>"$at_stdout"; $as_echo "var-dd: cmd-d2 7522 var-ff: cmd-f2 7523 var-dfg: cmd-f 7524 var-fd: cmd-d 7525 " | \ 7526 $at_diff - "$at_stdout" || at_failed=: 7527 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1117" 7528 $at_failed && at_fn_log_failure 7529 $at_traceon; } 7530 7531 7532 cat >input-dg.y <<'_ATEOF' 7533 %define var "gram" 7534 %% 7535 start: ; 7536 _ATEOF 7537 7538 7539 { set +x 7540 $as_echo "$at_srcdir/input.at:1129: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dvar=cmd-d input-dg.y" 7541 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dvar=cmd-d input-dg.y" "input.at:1129" 7542 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Dvar=cmd-d input-dg.y 7543 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7544 at_status=$? at_failed=false 7545 $at_check_filter 7546 echo >>"$at_stderr"; $as_echo "input-dg.y:1.9-11: error: %define variable 'var' redefined 7547 <command line>:1: previous definition 7548 " | \ 7549 $at_diff - "$at_stderr" || at_failed=: 7550 at_fn_diff_devnull "$at_stdout" || at_failed=: 7551 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1129" 7552 $at_failed && at_fn_log_failure 7553 $at_traceon; } 7554 7555 7556 7557 cat >input-dg.y <<'_ATEOF' 7558 %define var "gram" 7559 %% 7560 start: ; 7561 _ATEOF 7562 7563 7564 { set +x 7565 $as_echo "$at_srcdir/input.at:1139: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret -Dvar=cmd-d input-dg.y" 7566 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret -Dvar=cmd-d input-dg.y" "input.at:1139" 7567 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret -Dvar=cmd-d input-dg.y 7568 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7569 at_status=$? at_failed=false 7570 $at_check_filter 7571 echo >>"$at_stderr"; $as_echo "input-dg.y:1.9-11: error: %define variable 'var' redefined 7572 %define var \"gram\" 7573 ^^^ 7574 <command line>:2: previous definition 7575 " | \ 7576 $at_diff - "$at_stderr" || at_failed=: 7577 at_fn_diff_devnull "$at_stdout" || at_failed=: 7578 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1139" 7579 $at_failed && at_fn_log_failure 7580 $at_traceon; } 7581 7582 7583 7584 cat >input-unused.y <<'_ATEOF' 7585 %% 7586 start: ; 7587 _ATEOF 7588 7589 7590 { set +x 7591 $as_echo "$at_srcdir/input.at:1150: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dunused-d -Funused-f input-unused.y" 7592 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dunused-d -Funused-f input-unused.y" "input.at:1150" 7593 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Dunused-d -Funused-f input-unused.y 7594 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7595 at_status=$? at_failed=false 7596 $at_check_filter 7597 echo >>"$at_stderr"; $as_echo "<command line>:1: error: %define variable 'unused-d' is not used 7598 <command line>:2: error: %define variable 'unused-f' is not used 7599 " | \ 7600 $at_diff - "$at_stderr" || at_failed=: 7601 at_fn_diff_devnull "$at_stdout" || at_failed=: 7602 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1150" 7603 $at_failed && at_fn_log_failure 7604 $at_traceon; } 7605 7606 7607 7608 set +x 7609 $at_times_p && times >"$at_times_file" 7610 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 7611 read at_status <"$at_status_file" 7612 #AT_STOP_26 7613 #AT_START_27 7614 at_fn_group_banner 27 'input.at:1161' \ 7615 "%define Boolean variables" " " 1 7616 at_xfail=no 7617 ( 7618 $as_echo "27. $at_setup_line: testing $at_desc ..." 7619 $at_traceon 7620 7621 7622 cat >Input.y <<'_ATEOF' 7623 %language "Java" 7624 %define public "maybe" 7625 %define parser_class_name "Input" 7626 %% 7627 start: ; 7628 _ATEOF 7629 7630 7631 7632 { set +x 7633 $as_echo "$at_srcdir/input.at:1171: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison Input.y" 7634 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison Input.y" "input.at:1171" 7635 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison Input.y 7636 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7637 at_status=$? at_failed=false 7638 $at_check_filter 7639 echo >>"$at_stderr"; $as_echo "Input.y:2.9-14: error: invalid value for %define Boolean variable 'public' 7640 " | \ 7641 $at_diff - "$at_stderr" || at_failed=: 7642 at_fn_diff_devnull "$at_stdout" || at_failed=: 7643 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1171" 7644 $at_failed && at_fn_log_failure 7645 $at_traceon; } 7646 7647 7648 7649 set +x 7650 $at_times_p && times >"$at_times_file" 7651 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 7652 read at_status <"$at_status_file" 7653 #AT_STOP_27 7654 #AT_START_28 7655 at_fn_group_banner 28 'input.at:1181' \ 7656 "%define enum variables" " " 1 7657 at_xfail=no 7658 ( 7659 $as_echo "28. $at_setup_line: testing $at_desc ..." 7660 $at_traceon 7661 7662 7663 # Front-end. 7664 cat >input.y <<'_ATEOF' 7665 %define lr.default-reductions bogus 7666 %% 7667 start: ; 7668 _ATEOF 7669 7670 7671 { set +x 7672 $as_echo "$at_srcdir/input.at:1189: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7673 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1189" 7674 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7675 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7676 at_status=$? at_failed=false 7677 $at_check_filter 7678 echo >>"$at_stderr"; $as_echo "input.y:1.9-29: error: invalid value for %define variable 'lr.default-reductions': 'bogus' 7679 input.y:1.9-29: accepted value: 'most' 7680 input.y:1.9-29: accepted value: 'consistent' 7681 input.y:1.9-29: accepted value: 'accepting' 7682 " | \ 7683 $at_diff - "$at_stderr" || at_failed=: 7684 at_fn_diff_devnull "$at_stdout" || at_failed=: 7685 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1189" 7686 $at_failed && at_fn_log_failure 7687 $at_traceon; } 7688 7689 7690 7691 # Back-end. 7692 # FIXME: these should be indented, but we shouldn't mess with the m4 yet 7693 cat >input.y <<'_ATEOF' 7694 %define api.push-pull neither 7695 %% 7696 start: ; 7697 _ATEOF 7698 7699 7700 { set +x 7701 $as_echo "$at_srcdir/input.at:1203: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7702 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1203" 7703 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7704 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7705 at_status=$? at_failed=false 7706 $at_check_filter 7707 echo >>"$at_stderr"; $as_echo "input.y:1.9-21: error: invalid value for %define variable 'api.push-pull': 'neither' 7708 input.y:1.9-21: error: accepted value: 'pull' 7709 input.y:1.9-21: error: accepted value: 'push' 7710 input.y:1.9-21: error: accepted value: 'both' 7711 " | \ 7712 $at_diff - "$at_stderr" || at_failed=: 7713 at_fn_diff_devnull "$at_stdout" || at_failed=: 7714 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1203" 7715 $at_failed && at_fn_log_failure 7716 $at_traceon; } 7717 7718 7719 7720 set +x 7721 $at_times_p && times >"$at_times_file" 7722 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 7723 read at_status <"$at_status_file" 7724 #AT_STOP_28 7725 #AT_START_29 7726 at_fn_group_banner 29 'input.at:1216' \ 7727 "%define backward compatibility" " " 1 7728 at_xfail=no 7729 ( 7730 $as_echo "29. $at_setup_line: testing $at_desc ..." 7731 $at_traceon 7732 7733 7734 # The error messages tell us whether underscores in these variables are 7735 # being converted to dashes. 7736 7737 cat >input.y <<'_ATEOF' 7738 %define api.push_pull "neither" 7739 %% 7740 start: ; 7741 _ATEOF 7742 7743 7744 { set +x 7745 $as_echo "$at_srcdir/input.at:1226: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7746 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1226" 7747 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7748 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7749 at_status=$? at_failed=false 7750 $at_check_filter 7751 echo >>"$at_stderr"; $as_echo "input.y:1.9-21: error: invalid value for %define variable 'api.push-pull': 'neither' 7752 input.y:1.9-21: error: accepted value: 'pull' 7753 input.y:1.9-21: error: accepted value: 'push' 7754 input.y:1.9-21: error: accepted value: 'both' 7755 " | \ 7756 $at_diff - "$at_stderr" || at_failed=: 7757 at_fn_diff_devnull "$at_stdout" || at_failed=: 7758 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1226" 7759 $at_failed && at_fn_log_failure 7760 $at_traceon; } 7761 7762 7763 7764 cat >input.y <<'_ATEOF' 7765 %define lr.keep_unreachable_states maybe 7766 %% 7767 start: ; 7768 _ATEOF 7769 7770 7771 { set +x 7772 $as_echo "$at_srcdir/input.at:1238: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7773 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1238" 7774 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7775 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7776 at_status=$? at_failed=false 7777 $at_check_filter 7778 echo >>"$at_stderr"; $as_echo "input.y:1.9-34: error: invalid value for %define Boolean variable 'lr.keep-unreachable-states' 7779 " | \ 7780 $at_diff - "$at_stderr" || at_failed=: 7781 at_fn_diff_devnull "$at_stdout" || at_failed=: 7782 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1238" 7783 $at_failed && at_fn_log_failure 7784 $at_traceon; } 7785 7786 7787 7788 cat >input.y <<'_ATEOF' 7789 %define foo_bar "baz" 7790 %% 7791 start: ; 7792 _ATEOF 7793 7794 7795 { set +x 7796 $as_echo "$at_srcdir/input.at:1247: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7797 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1247" 7798 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7799 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7800 at_status=$? at_failed=false 7801 $at_check_filter 7802 echo >>"$at_stderr"; $as_echo "input.y:1.9-15: error: %define variable 'foo_bar' is not used 7803 " | \ 7804 $at_diff - "$at_stderr" || at_failed=: 7805 at_fn_diff_devnull "$at_stdout" || at_failed=: 7806 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1247" 7807 $at_failed && at_fn_log_failure 7808 $at_traceon; } 7809 7810 7811 7812 set +x 7813 $at_times_p && times >"$at_times_file" 7814 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 7815 read at_status <"$at_status_file" 7816 #AT_STOP_29 7817 #AT_START_30 7818 at_fn_group_banner 30 'input.at:1257' \ 7819 "Unused %define api.pure" " " 1 7820 at_xfail=no 7821 ( 7822 $as_echo "30. $at_setup_line: testing $at_desc ..." 7823 $at_traceon 7824 7825 7826 # AT_CHECK_API_PURE(DECLS, VALUE) 7827 # ------------------------------- 7828 # Make sure Bison reports that `%define api.pure VALUE' is unused when DECLS 7829 # are specified. 7830 7831 7832 7833 cat >input.y <<'_ATEOF' 7834 %define api.pure 7835 %language "c++" %defines 7836 %% 7837 start: ; 7838 _ATEOF 7839 7840 7841 7842 { set +x 7843 $as_echo "$at_srcdir/input.at:1277: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7844 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1277" 7845 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7846 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7847 at_status=$? at_failed=false 7848 $at_check_filter 7849 echo >>"$at_stderr"; $as_echo "input.y:1.9-16: error: %define variable 'api.pure' is not used 7850 " | \ 7851 $at_diff - "$at_stderr" || at_failed=: 7852 at_fn_diff_devnull "$at_stdout" || at_failed=: 7853 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1277" 7854 $at_failed && at_fn_log_failure 7855 $at_traceon; } 7856 7857 7858 7859 7860 cat >input.y <<'_ATEOF' 7861 %define api.pure false 7862 %language "c++" %defines 7863 %% 7864 start: ; 7865 _ATEOF 7866 7867 7868 7869 { set +x 7870 $as_echo "$at_srcdir/input.at:1278: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7871 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1278" 7872 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7873 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7874 at_status=$? at_failed=false 7875 $at_check_filter 7876 echo >>"$at_stderr"; $as_echo "input.y:1.9-16: error: %define variable 'api.pure' is not used 7877 " | \ 7878 $at_diff - "$at_stderr" || at_failed=: 7879 at_fn_diff_devnull "$at_stdout" || at_failed=: 7880 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1278" 7881 $at_failed && at_fn_log_failure 7882 $at_traceon; } 7883 7884 7885 7886 7887 cat >input.y <<'_ATEOF' 7888 %define api.pure "" 7889 %language "c++" %defines %glr-parser 7890 %% 7891 start: ; 7892 _ATEOF 7893 7894 7895 7896 { set +x 7897 $as_echo "$at_srcdir/input.at:1279: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7898 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1279" 7899 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7900 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7901 at_status=$? at_failed=false 7902 $at_check_filter 7903 echo >>"$at_stderr"; $as_echo "input.y:1.9-16: error: %define variable 'api.pure' is not used 7904 " | \ 7905 $at_diff - "$at_stderr" || at_failed=: 7906 at_fn_diff_devnull "$at_stdout" || at_failed=: 7907 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1279" 7908 $at_failed && at_fn_log_failure 7909 $at_traceon; } 7910 7911 7912 7913 7914 cat >input.y <<'_ATEOF' 7915 %define api.pure false 7916 %language "c++" %defines %glr-parser 7917 %% 7918 start: ; 7919 _ATEOF 7920 7921 7922 7923 { set +x 7924 $as_echo "$at_srcdir/input.at:1280: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7925 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1280" 7926 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7927 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7928 at_status=$? at_failed=false 7929 $at_check_filter 7930 echo >>"$at_stderr"; $as_echo "input.y:1.9-16: error: %define variable 'api.pure' is not used 7931 " | \ 7932 $at_diff - "$at_stderr" || at_failed=: 7933 at_fn_diff_devnull "$at_stdout" || at_failed=: 7934 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1280" 7935 $at_failed && at_fn_log_failure 7936 $at_traceon; } 7937 7938 7939 7940 7941 cat >input.y <<'_ATEOF' 7942 %define api.pure true 7943 %language "java" 7944 %% 7945 start: ; 7946 _ATEOF 7947 7948 7949 7950 { set +x 7951 $as_echo "$at_srcdir/input.at:1281: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7952 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1281" 7953 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7954 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7955 at_status=$? at_failed=false 7956 $at_check_filter 7957 echo >>"$at_stderr"; $as_echo "input.y:1.9-16: error: %define variable 'api.pure' is not used 7958 " | \ 7959 $at_diff - "$at_stderr" || at_failed=: 7960 at_fn_diff_devnull "$at_stdout" || at_failed=: 7961 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1281" 7962 $at_failed && at_fn_log_failure 7963 $at_traceon; } 7964 7965 7966 7967 7968 cat >input.y <<'_ATEOF' 7969 %define api.pure false 7970 %language "java" 7971 %% 7972 start: ; 7973 _ATEOF 7974 7975 7976 7977 { set +x 7978 $as_echo "$at_srcdir/input.at:1282: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 7979 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1282" 7980 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 7981 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 7982 at_status=$? at_failed=false 7983 $at_check_filter 7984 echo >>"$at_stderr"; $as_echo "input.y:1.9-16: error: %define variable 'api.pure' is not used 7985 " | \ 7986 $at_diff - "$at_stderr" || at_failed=: 7987 at_fn_diff_devnull "$at_stdout" || at_failed=: 7988 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1282" 7989 $at_failed && at_fn_log_failure 7990 $at_traceon; } 7991 7992 7993 7994 7995 set +x 7996 $at_times_p && times >"$at_times_file" 7997 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 7998 read at_status <"$at_status_file" 7999 #AT_STOP_30 8000 #AT_START_31 8001 at_fn_group_banner 31 'input.at:1290' \ 8002 "C++ namespace reference errors" " " 1 8003 at_xfail=no 8004 ( 8005 $as_echo "31. $at_setup_line: testing $at_desc ..." 8006 $at_traceon 8007 8008 8009 # AT_CHECK_NAMESPACE_ERROR(NAMESPACE-DECL, ERROR, [ERROR], ...) 8010 # ------------------------------------------------------------- 8011 # Make sure Bison reports all ERROR's for %define namespace "NAMESPACE-DECL". 8012 8013 8014 8015 cat >input.y <<'_ATEOF' 8016 %language "C++" 8017 %defines 8018 %define namespace "" 8019 %% 8020 start: ; 8021 _ATEOF 8022 8023 8024 8025 { set +x 8026 $as_echo "$at_srcdir/input.at:1311: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8027 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1311" 8028 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8029 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8030 at_status=$? at_failed=false 8031 $at_check_filter 8032 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference is empty 8033 " | \ 8034 $at_diff - "$at_stderr" || at_failed=: 8035 at_fn_diff_devnull "$at_stdout" || at_failed=: 8036 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1311" 8037 $at_failed && at_fn_log_failure 8038 $at_traceon; } 8039 8040 8041 8042 8043 cat >input.y <<'_ATEOF' 8044 %language "C++" 8045 %defines 8046 %define namespace " " 8047 %% 8048 start: ; 8049 _ATEOF 8050 8051 8052 8053 { set +x 8054 $as_echo "$at_srcdir/input.at:1313: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8055 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1313" 8056 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8057 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8058 at_status=$? at_failed=false 8059 $at_check_filter 8060 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference is empty 8061 " | \ 8062 $at_diff - "$at_stderr" || at_failed=: 8063 at_fn_diff_devnull "$at_stdout" || at_failed=: 8064 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1313" 8065 $at_failed && at_fn_log_failure 8066 $at_traceon; } 8067 8068 8069 8070 8071 cat >input.y <<'_ATEOF' 8072 %language "C++" 8073 %defines 8074 %define namespace "foo::::bar" 8075 %% 8076 start: ; 8077 _ATEOF 8078 8079 8080 8081 { set +x 8082 $as_echo "$at_srcdir/input.at:1315: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8083 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1315" 8084 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8085 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8086 at_status=$? at_failed=false 8087 $at_check_filter 8088 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference has consecutive \"::\" 8089 " | \ 8090 $at_diff - "$at_stderr" || at_failed=: 8091 at_fn_diff_devnull "$at_stdout" || at_failed=: 8092 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1315" 8093 $at_failed && at_fn_log_failure 8094 $at_traceon; } 8095 8096 8097 8098 8099 cat >input.y <<'_ATEOF' 8100 %language "C++" 8101 %defines 8102 %define namespace "foo:: ::bar" 8103 %% 8104 start: ; 8105 _ATEOF 8106 8107 8108 8109 { set +x 8110 $as_echo "$at_srcdir/input.at:1317: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8111 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1317" 8112 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8113 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8114 at_status=$? at_failed=false 8115 $at_check_filter 8116 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference has consecutive \"::\" 8117 " | \ 8118 $at_diff - "$at_stderr" || at_failed=: 8119 at_fn_diff_devnull "$at_stdout" || at_failed=: 8120 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1317" 8121 $at_failed && at_fn_log_failure 8122 $at_traceon; } 8123 8124 8125 8126 8127 cat >input.y <<'_ATEOF' 8128 %language "C++" 8129 %defines 8130 %define namespace "::::bar" 8131 %% 8132 start: ; 8133 _ATEOF 8134 8135 8136 8137 { set +x 8138 $as_echo "$at_srcdir/input.at:1319: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8139 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1319" 8140 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8141 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8142 at_status=$? at_failed=false 8143 $at_check_filter 8144 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference has consecutive \"::\" 8145 " | \ 8146 $at_diff - "$at_stderr" || at_failed=: 8147 at_fn_diff_devnull "$at_stdout" || at_failed=: 8148 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1319" 8149 $at_failed && at_fn_log_failure 8150 $at_traceon; } 8151 8152 8153 8154 8155 cat >input.y <<'_ATEOF' 8156 %language "C++" 8157 %defines 8158 %define namespace ":: ::bar" 8159 %% 8160 start: ; 8161 _ATEOF 8162 8163 8164 8165 { set +x 8166 $as_echo "$at_srcdir/input.at:1321: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8167 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1321" 8168 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8169 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8170 at_status=$? at_failed=false 8171 $at_check_filter 8172 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference has consecutive \"::\" 8173 " | \ 8174 $at_diff - "$at_stderr" || at_failed=: 8175 at_fn_diff_devnull "$at_stdout" || at_failed=: 8176 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1321" 8177 $at_failed && at_fn_log_failure 8178 $at_traceon; } 8179 8180 8181 8182 8183 cat >input.y <<'_ATEOF' 8184 %language "C++" 8185 %defines 8186 %define namespace "foo::bar:: ::" 8187 %% 8188 start: ; 8189 _ATEOF 8190 8191 8192 8193 { set +x 8194 $as_echo "$at_srcdir/input.at:1323: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8195 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1323" 8196 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8197 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8198 at_status=$? at_failed=false 8199 $at_check_filter 8200 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference has consecutive \"::\" 8201 input.y:3.9-17: error: namespace reference has a trailing \"::\" 8202 " | \ 8203 $at_diff - "$at_stderr" || at_failed=: 8204 at_fn_diff_devnull "$at_stdout" || at_failed=: 8205 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1323" 8206 $at_failed && at_fn_log_failure 8207 $at_traceon; } 8208 8209 8210 8211 8212 cat >input.y <<'_ATEOF' 8213 %language "C++" 8214 %defines 8215 %define namespace "foo::bar::" 8216 %% 8217 start: ; 8218 _ATEOF 8219 8220 8221 8222 { set +x 8223 $as_echo "$at_srcdir/input.at:1326: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8224 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1326" 8225 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8226 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8227 at_status=$? at_failed=false 8228 $at_check_filter 8229 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference has a trailing \"::\" 8230 " | \ 8231 $at_diff - "$at_stderr" || at_failed=: 8232 at_fn_diff_devnull "$at_stdout" || at_failed=: 8233 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1326" 8234 $at_failed && at_fn_log_failure 8235 $at_traceon; } 8236 8237 8238 8239 8240 cat >input.y <<'_ATEOF' 8241 %language "C++" 8242 %defines 8243 %define namespace "foo::bar:: " 8244 %% 8245 start: ; 8246 _ATEOF 8247 8248 8249 8250 { set +x 8251 $as_echo "$at_srcdir/input.at:1328: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8252 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1328" 8253 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8254 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8255 at_status=$? at_failed=false 8256 $at_check_filter 8257 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference has a trailing \"::\" 8258 " | \ 8259 $at_diff - "$at_stderr" || at_failed=: 8260 at_fn_diff_devnull "$at_stdout" || at_failed=: 8261 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1328" 8262 $at_failed && at_fn_log_failure 8263 $at_traceon; } 8264 8265 8266 8267 8268 cat >input.y <<'_ATEOF' 8269 %language "C++" 8270 %defines 8271 %define namespace "::" 8272 %% 8273 start: ; 8274 _ATEOF 8275 8276 8277 8278 { set +x 8279 $as_echo "$at_srcdir/input.at:1330: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8280 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1330" 8281 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8282 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8283 at_status=$? at_failed=false 8284 $at_check_filter 8285 echo >>"$at_stderr"; $as_echo "input.y:3.9-17: error: namespace reference has a trailing \"::\" 8286 " | \ 8287 $at_diff - "$at_stderr" || at_failed=: 8288 at_fn_diff_devnull "$at_stdout" || at_failed=: 8289 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1330" 8290 $at_failed && at_fn_log_failure 8291 $at_traceon; } 8292 8293 8294 8295 8296 set +x 8297 $at_times_p && times >"$at_times_file" 8298 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 8299 read at_status <"$at_status_file" 8300 #AT_STOP_31 8301 #AT_START_32 8302 at_fn_group_banner 32 'input.at:1346' \ 8303 "Bad character literals" " " 1 8304 at_xfail=no 8305 ( 8306 $as_echo "32. $at_setup_line: testing $at_desc ..." 8307 $at_traceon 8308 8309 8310 cat >empty.y <<'_ATEOF' 8311 %% 8312 start: ''; 8313 start: ' 8314 _ATEOF 8315 8316 { set +x 8317 $as_echo "$at_srcdir/input.at:1353: \$PERL -e \"print 'start: \\'';\" >> empty.y || exit 77" 8318 at_fn_check_prepare_dynamic "$PERL -e \"print 'start: \\'';\" >> empty.y || exit 77" "input.at:1353" 8319 ( $at_check_trace; $PERL -e "print 'start: \'';" >> empty.y || exit 77 8320 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8321 at_status=$? at_failed=false 8322 $at_check_filter 8323 at_fn_diff_devnull "$at_stderr" || at_failed=: 8324 at_fn_diff_devnull "$at_stdout" || at_failed=: 8325 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1353" 8326 $at_failed && at_fn_log_failure 8327 $at_traceon; } 8328 8329 8330 8331 { set +x 8332 $as_echo "$at_srcdir/input.at:1355: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison empty.y" 8333 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison empty.y" "input.at:1355" 8334 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison empty.y 8335 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8336 at_status=$? at_failed=false 8337 $at_check_filter 8338 echo >>"$at_stderr"; $as_echo "empty.y:2.8-9: warning: empty character literal 8339 empty.y:3.8-4.0: warning: empty character literal 8340 empty.y:3.8-4.0: error: missing \"'\" at end of line 8341 empty.y:4.8: warning: empty character literal 8342 empty.y:4.8: error: missing \"'\" at end of file 8343 " | \ 8344 $at_diff - "$at_stderr" || at_failed=: 8345 at_fn_diff_devnull "$at_stdout" || at_failed=: 8346 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1355" 8347 $at_failed && at_fn_log_failure 8348 $at_traceon; } 8349 8350 8351 8352 cat >two.y <<'_ATEOF' 8353 %% 8354 start: 'ab'; 8355 start: 'ab 8356 _ATEOF 8357 8358 { set +x 8359 $as_echo "$at_srcdir/input.at:1368: \$PERL -e \"print 'start: \\'ab';\" >> two.y || exit 77" 8360 at_fn_check_prepare_dynamic "$PERL -e \"print 'start: \\'ab';\" >> two.y || exit 77" "input.at:1368" 8361 ( $at_check_trace; $PERL -e "print 'start: \'ab';" >> two.y || exit 77 8362 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8363 at_status=$? at_failed=false 8364 $at_check_filter 8365 at_fn_diff_devnull "$at_stderr" || at_failed=: 8366 at_fn_diff_devnull "$at_stdout" || at_failed=: 8367 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1368" 8368 $at_failed && at_fn_log_failure 8369 $at_traceon; } 8370 8371 8372 8373 { set +x 8374 $as_echo "$at_srcdir/input.at:1370: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison two.y" 8375 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison two.y" "input.at:1370" 8376 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison two.y 8377 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8378 at_status=$? at_failed=false 8379 $at_check_filter 8380 echo >>"$at_stderr"; $as_echo "two.y:2.8-11: warning: extra characters in character literal 8381 two.y:3.8-4.0: warning: extra characters in character literal 8382 two.y:3.8-4.0: error: missing \"'\" at end of line 8383 two.y:4.8-10: warning: extra characters in character literal 8384 two.y:4.8-10: error: missing \"'\" at end of file 8385 " | \ 8386 $at_diff - "$at_stderr" || at_failed=: 8387 at_fn_diff_devnull "$at_stdout" || at_failed=: 8388 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1370" 8389 $at_failed && at_fn_log_failure 8390 $at_traceon; } 8391 8392 8393 8394 cat >three.y <<'_ATEOF' 8395 %% 8396 start: 'abc'; 8397 start: 'abc 8398 _ATEOF 8399 8400 { set +x 8401 $as_echo "$at_srcdir/input.at:1383: \$PERL -e \"print 'start: \\'abc';\" >> three.y || exit 77" 8402 at_fn_check_prepare_dynamic "$PERL -e \"print 'start: \\'abc';\" >> three.y || exit 77" "input.at:1383" 8403 ( $at_check_trace; $PERL -e "print 'start: \'abc';" >> three.y || exit 77 8404 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8405 at_status=$? at_failed=false 8406 $at_check_filter 8407 at_fn_diff_devnull "$at_stderr" || at_failed=: 8408 at_fn_diff_devnull "$at_stdout" || at_failed=: 8409 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1383" 8410 $at_failed && at_fn_log_failure 8411 $at_traceon; } 8412 8413 8414 8415 { set +x 8416 $as_echo "$at_srcdir/input.at:1385: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison three.y" 8417 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison three.y" "input.at:1385" 8418 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison three.y 8419 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8420 at_status=$? at_failed=false 8421 $at_check_filter 8422 echo >>"$at_stderr"; $as_echo "three.y:2.8-12: warning: extra characters in character literal 8423 three.y:3.8-4.0: warning: extra characters in character literal 8424 three.y:3.8-4.0: error: missing \"'\" at end of line 8425 three.y:4.8-11: warning: extra characters in character literal 8426 three.y:4.8-11: error: missing \"'\" at end of file 8427 " | \ 8428 $at_diff - "$at_stderr" || at_failed=: 8429 at_fn_diff_devnull "$at_stdout" || at_failed=: 8430 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1385" 8431 $at_failed && at_fn_log_failure 8432 $at_traceon; } 8433 8434 8435 8436 set +x 8437 $at_times_p && times >"$at_times_file" 8438 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 8439 read at_status <"$at_status_file" 8440 #AT_STOP_32 8441 #AT_START_33 8442 at_fn_group_banner 33 'input.at:1399' \ 8443 "Bad escapes in literals" " " 1 8444 at_xfail=no 8445 ( 8446 $as_echo "33. $at_setup_line: testing $at_desc ..." 8447 $at_traceon 8448 8449 8450 cat >input.y <<'_ATEOF' 8451 %% 8452 start: '\777' '\0' '\xfff' '\x0' 8453 '\uffff' '\u0000' '\Uffffffff' '\U00000000' 8454 '\ ' '\A'; 8455 _ATEOF 8456 8457 8458 # It is not easy to create special characters, we cannot even trust tr. 8459 # Beside we cannot even expect "echo '\0'" to output two characters 8460 # (well three with \n): at least Bash 3.2 converts the two-character 8461 # sequence "\0" into a single NUL character. 8462 { set +x 8463 $as_echo "$at_srcdir/input.at:1412: \$PERL -e 'print \"start: \\\"\\\\\\t\\\\\\f\\\\\\0\\\\\\1\\\" ;\";' >> input.y \\ 8464 || exit 77" 8465 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1412" 8466 ( $at_check_trace; $PERL -e 'print "start: \"\\\t\\\f\\\0\\\1\" ;";' >> input.y \ 8467 || exit 77 8468 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8469 at_status=$? at_failed=false 8470 $at_check_filter 8471 at_fn_diff_devnull "$at_stderr" || at_failed=: 8472 at_fn_diff_devnull "$at_stdout" || at_failed=: 8473 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1412" 8474 $at_failed && at_fn_log_failure 8475 $at_traceon; } 8476 8477 8478 8479 { set +x 8480 $as_echo "$at_srcdir/input.at:1415: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 8481 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1415" 8482 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 8483 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8484 at_status=$? at_failed=false 8485 $at_check_filter 8486 echo >>"$at_stderr"; $as_echo "input.y:2.9-12: error: invalid number after \\-escape: 777 8487 input.y:2.8-13: warning: empty character literal 8488 input.y:2.16-17: error: invalid number after \\-escape: 0 8489 input.y:2.15-18: warning: empty character literal 8490 input.y:2.21-25: error: invalid number after \\-escape: xfff 8491 input.y:2.20-26: warning: empty character literal 8492 input.y:2.29-31: error: invalid number after \\-escape: x0 8493 input.y:2.28-32: warning: empty character literal 8494 input.y:3.9-14: error: invalid number after \\-escape: uffff 8495 input.y:3.8-15: warning: empty character literal 8496 input.y:3.18-23: error: invalid number after \\-escape: u0000 8497 input.y:3.17-24: warning: empty character literal 8498 input.y:3.27-36: error: invalid number after \\-escape: Uffffffff 8499 input.y:3.26-37: warning: empty character literal 8500 input.y:3.40-49: error: invalid number after \\-escape: U00000000 8501 input.y:3.39-50: warning: empty character literal 8502 input.y:4.9-10: error: invalid character after \\-escape: ' ' 8503 input.y:4.8-11: warning: empty character literal 8504 input.y:4.14-15: error: invalid character after \\-escape: A 8505 input.y:4.13-16: warning: empty character literal 8506 input.y:5.9-16: error: invalid character after \\-escape: \\t 8507 input.y:5.17: error: invalid character after \\-escape: \\f 8508 input.y:5.18: error: invalid character after \\-escape: \\0 8509 input.y:5.19: error: invalid character after \\-escape: \\001 8510 " | \ 8511 $at_diff - "$at_stderr" || at_failed=: 8512 at_fn_diff_devnull "$at_stdout" || at_failed=: 8513 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1415" 8514 $at_failed && at_fn_log_failure 8515 $at_traceon; } 8516 8517 8518 8519 set +x 8520 $at_times_p && times >"$at_times_file" 8521 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 8522 read at_status <"$at_status_file" 8523 #AT_STOP_33 8524 #AT_START_34 8525 at_fn_group_banner 34 'input.at:1448' \ 8526 "LAC: Errors for %define" " " 1 8527 at_xfail=no 8528 ( 8529 $as_echo "34. $at_setup_line: testing $at_desc ..." 8530 $at_traceon 8531 8532 8533 cat >input.y <<'_ATEOF' 8534 %% 8535 start: ; 8536 _ATEOF 8537 8538 8539 # parse.lac.* options are useless if LAC isn't actually activated. 8540 8541 { set +x 8542 $as_echo "$at_srcdir/input.at:1456: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dparse.lac.es-capacity-initial=1 input.y" 8543 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dparse.lac.es-capacity-initial=1 input.y" "input.at:1456" 8544 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Dparse.lac.es-capacity-initial=1 input.y 8545 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8546 at_status=$? at_failed=false 8547 $at_check_filter 8548 echo >>"$at_stderr"; $as_echo "<command line>:1: error: %define variable 'parse.lac.es-capacity-initial' is not used 8549 " | \ 8550 $at_diff - "$at_stderr" || at_failed=: 8551 at_fn_diff_devnull "$at_stdout" || at_failed=: 8552 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1456" 8553 $at_failed && at_fn_log_failure 8554 $at_traceon; } 8555 8556 8557 8558 { set +x 8559 $as_echo "$at_srcdir/input.at:1460: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dparse.lac.memory-trace=full input.y" 8560 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dparse.lac.memory-trace=full input.y" "input.at:1460" 8561 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Dparse.lac.memory-trace=full input.y 8562 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8563 at_status=$? at_failed=false 8564 $at_check_filter 8565 echo >>"$at_stderr"; $as_echo "<command line>:1: error: %define variable 'parse.lac.memory-trace' is not used 8566 " | \ 8567 $at_diff - "$at_stderr" || at_failed=: 8568 at_fn_diff_devnull "$at_stdout" || at_failed=: 8569 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1460" 8570 $at_failed && at_fn_log_failure 8571 $at_traceon; } 8572 8573 8574 8575 set +x 8576 $at_times_p && times >"$at_times_file" 8577 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 8578 read at_status <"$at_status_file" 8579 #AT_STOP_34 8580 #AT_START_35 8581 at_fn_group_banner 35 'input.at:1471' \ 8582 "-Werror is not affected by -Wnone and -Wall" " " 1 8583 at_xfail=no 8584 ( 8585 $as_echo "35. $at_setup_line: testing $at_desc ..." 8586 $at_traceon 8587 8588 8589 cat >input.y <<'_ATEOF' 8590 %% 8591 foo-bar: ; 8592 _ATEOF 8593 8594 8595 # -Werror is not enabled by -Wall or equivalent. 8596 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 8597 at_save_special_files 8598 mkdir xml-tests 8599 # Don't combine these Bison invocations since we want to be sure that 8600 # --report=all isn't required to get the full XML file. 8601 { set +x 8602 $as_echo "$at_srcdir/input.at:1479: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 8603 --graph=xml-tests/test.dot -Wall input.y" 8604 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1479" 8605 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 8606 --graph=xml-tests/test.dot -Wall input.y 8607 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8608 at_status=$? at_failed=false 8609 $at_check_filter 8610 echo stderr:; cat "$at_stderr" 8611 echo stdout:; cat "$at_stdout" 8612 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1479" 8613 $at_failed && at_fn_log_failure 8614 $at_traceon; } 8615 8616 { set +x 8617 $as_echo "$at_srcdir/input.at:1479: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Wall input.y" 8618 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Wall input.y" "input.at:1479" 8619 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Wall input.y 8620 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8621 at_status=$? at_failed=false 8622 $at_check_filter 8623 echo stderr:; cat "$at_stderr" 8624 echo stdout:; cat "$at_stdout" 8625 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1479" 8626 $at_failed && at_fn_log_failure 8627 $at_traceon; } 8628 8629 cp xml-tests/test.output expout 8630 { set +x 8631 $as_echo "$at_srcdir/input.at:1479: \$XSLTPROC \\ 8632 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 8633 xml-tests/test.xml" 8634 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1479" 8635 ( $at_check_trace; $XSLTPROC \ 8636 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 8637 xml-tests/test.xml 8638 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8639 at_status=$? at_failed=false 8640 $at_check_filter 8641 at_fn_diff_devnull "$at_stderr" || at_failed=: 8642 $at_diff expout "$at_stdout" || at_failed=: 8643 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1479" 8644 $at_failed && at_fn_log_failure 8645 $at_traceon; } 8646 8647 sort xml-tests/test.dot > expout 8648 { set +x 8649 $as_echo "$at_srcdir/input.at:1479: \$XSLTPROC \\ 8650 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 8651 xml-tests/test.xml | sort" 8652 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1479" 8653 ( $at_check_trace; $XSLTPROC \ 8654 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 8655 xml-tests/test.xml | sort 8656 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8657 at_status=$? at_failed=false 8658 $at_check_filter 8659 at_fn_diff_devnull "$at_stderr" || at_failed=: 8660 $at_diff expout "$at_stdout" || at_failed=: 8661 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1479" 8662 $at_failed && at_fn_log_failure 8663 $at_traceon; } 8664 8665 rm -rf xml-tests expout 8666 at_restore_special_files 8667 fi 8668 { set +x 8669 $as_echo "$at_srcdir/input.at:1479: bison -Wall input.y" 8670 at_fn_check_prepare_trace "input.at:1479" 8671 ( $at_check_trace; bison -Wall input.y 8672 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8673 at_status=$? at_failed=false 8674 $at_check_filter 8675 echo >>"$at_stderr"; $as_echo "input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar 8676 " | \ 8677 $at_diff - "$at_stderr" || at_failed=: 8678 at_fn_diff_devnull "$at_stdout" || at_failed=: 8679 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1479" 8680 $at_failed && at_fn_log_failure 8681 $at_traceon; } 8682 8683 # Defining POSIXLY_CORRECT causes bison to complain if options are 8684 # added after the grammar file name, so skip these checks in that 8685 # case. 8686 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 8687 at_save_special_files 8688 8689 # To avoid expanding it repeatedly, store specified stdout. 8690 : >expout 8691 8692 # Run with -Werror. 8693 { set +x 8694 $as_echo "$at_srcdir/input.at:1479: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wall input.y -Werror" 8695 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wall input.y -Werror" "input.at:1479" 8696 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wall input.y -Werror 8697 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8698 at_status=$? at_failed=false 8699 $at_check_filter 8700 echo stderr:; tee stderr <"$at_stderr" 8701 $at_diff expout "$at_stdout" || at_failed=: 8702 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1479" 8703 $at_failed && at_fn_log_failure 8704 $at_traceon; } 8705 8706 8707 # Build expected stderr up to and including the "warnings being 8708 # treated as errors" message. 8709 cat >at-bison-check-warnings <<'_ATEOF' 8710 input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar 8711 _ATEOF 8712 8713 at_bison_check_first=`sed -n \ 8714 '/: warning: /{=;q;}' at-bison-check-warnings` 8715 : ${at_bison_check_first:=1} 8716 at_bison_check_first_tmp=`sed -n \ 8717 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 8718 : ${at_bison_check_first_tmp:=1} 8719 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 8720 at_bison_check_first=$at_bison_check_first_tmp 8721 fi 8722 if test $at_bison_check_first -gt 1; then 8723 sed -n "1,`expr $at_bison_check_first - 1`"p \ 8724 at-bison-check-warnings > experr 8725 fi 8726 echo 'bison: warnings being treated as errors' >> experr 8727 8728 # Finish building expected stderr and check. Unlike warnings, 8729 # complaints cause bison to exit early. Thus, with -Werror, bison 8730 # does not necessarily report all warnings that it does without 8731 # -Werror, but it at least reports one. 8732 at_bison_check_last=`sed -n '$=' stderr` 8733 : ${at_bison_check_last:=1} 8734 at_bison_check_last=`expr $at_bison_check_last - 1` 8735 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 8736 at-bison-check-warnings >> experr 8737 { set +x 8738 $as_echo "$at_srcdir/input.at:1479: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 8739 stderr 1>&2" 8740 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1479" 8741 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 8742 stderr 1>&2 8743 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8744 at_status=$? at_failed=false 8745 $at_check_filter 8746 $at_diff experr "$at_stderr" || at_failed=: 8747 at_fn_diff_devnull "$at_stdout" || at_failed=: 8748 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1479" 8749 $at_failed && at_fn_log_failure 8750 $at_traceon; } 8751 8752 8753 # Now check --warnings=error. 8754 cp stderr experr 8755 { set +x 8756 $as_echo "$at_srcdir/input.at:1479: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wall input.y --warnings=error" 8757 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wall input.y --warnings=error" "input.at:1479" 8758 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wall input.y --warnings=error 8759 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8760 at_status=$? at_failed=false 8761 $at_check_filter 8762 $at_diff experr "$at_stderr" || at_failed=: 8763 $at_diff expout "$at_stdout" || at_failed=: 8764 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1479" 8765 $at_failed && at_fn_log_failure 8766 $at_traceon; } 8767 8768 8769 # Now check -Wnone and --warnings=none by making sure that 8770 # -Werror doesn't change the exit status when -Wnone or 8771 # --warnings=none is specified. 8772 { set +x 8773 $as_echo "$at_srcdir/input.at:1479: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wall input.y -Wnone -Werror" 8774 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wall input.y -Wnone -Werror" "input.at:1479" 8775 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wall input.y -Wnone -Werror 8776 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8777 at_status=$? at_failed=false 8778 $at_check_filter 8779 at_fn_diff_devnull "$at_stderr" || at_failed=: 8780 $at_diff expout "$at_stdout" || at_failed=: 8781 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1479" 8782 $at_failed && at_fn_log_failure 8783 $at_traceon; } 8784 8785 { set +x 8786 $as_echo "$at_srcdir/input.at:1479: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wall input.y --warnings=none -Werror" 8787 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wall input.y --warnings=none -Werror" "input.at:1479" 8788 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wall input.y --warnings=none -Werror 8789 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8790 at_status=$? at_failed=false 8791 $at_check_filter 8792 at_fn_diff_devnull "$at_stderr" || at_failed=: 8793 $at_diff expout "$at_stdout" || at_failed=: 8794 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1479" 8795 $at_failed && at_fn_log_failure 8796 $at_traceon; } 8797 8798 8799 at_restore_special_files 8800 fi 8801 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 8802 at_save_special_files 8803 mkdir xml-tests 8804 # Don't combine these Bison invocations since we want to be sure that 8805 # --report=all isn't required to get the full XML file. 8806 { set +x 8807 $as_echo "$at_srcdir/input.at:1482: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 8808 --graph=xml-tests/test.dot -W input.y" 8809 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1482" 8810 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 8811 --graph=xml-tests/test.dot -W input.y 8812 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8813 at_status=$? at_failed=false 8814 $at_check_filter 8815 echo stderr:; cat "$at_stderr" 8816 echo stdout:; cat "$at_stdout" 8817 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1482" 8818 $at_failed && at_fn_log_failure 8819 $at_traceon; } 8820 8821 { set +x 8822 $as_echo "$at_srcdir/input.at:1482: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -W input.y" 8823 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -W input.y" "input.at:1482" 8824 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -W input.y 8825 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8826 at_status=$? at_failed=false 8827 $at_check_filter 8828 echo stderr:; cat "$at_stderr" 8829 echo stdout:; cat "$at_stdout" 8830 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1482" 8831 $at_failed && at_fn_log_failure 8832 $at_traceon; } 8833 8834 cp xml-tests/test.output expout 8835 { set +x 8836 $as_echo "$at_srcdir/input.at:1482: \$XSLTPROC \\ 8837 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 8838 xml-tests/test.xml" 8839 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1482" 8840 ( $at_check_trace; $XSLTPROC \ 8841 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 8842 xml-tests/test.xml 8843 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8844 at_status=$? at_failed=false 8845 $at_check_filter 8846 at_fn_diff_devnull "$at_stderr" || at_failed=: 8847 $at_diff expout "$at_stdout" || at_failed=: 8848 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1482" 8849 $at_failed && at_fn_log_failure 8850 $at_traceon; } 8851 8852 sort xml-tests/test.dot > expout 8853 { set +x 8854 $as_echo "$at_srcdir/input.at:1482: \$XSLTPROC \\ 8855 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 8856 xml-tests/test.xml | sort" 8857 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1482" 8858 ( $at_check_trace; $XSLTPROC \ 8859 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 8860 xml-tests/test.xml | sort 8861 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8862 at_status=$? at_failed=false 8863 $at_check_filter 8864 at_fn_diff_devnull "$at_stderr" || at_failed=: 8865 $at_diff expout "$at_stdout" || at_failed=: 8866 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1482" 8867 $at_failed && at_fn_log_failure 8868 $at_traceon; } 8869 8870 rm -rf xml-tests expout 8871 at_restore_special_files 8872 fi 8873 { set +x 8874 $as_echo "$at_srcdir/input.at:1482: bison -W input.y" 8875 at_fn_check_prepare_trace "input.at:1482" 8876 ( $at_check_trace; bison -W input.y 8877 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8878 at_status=$? at_failed=false 8879 $at_check_filter 8880 echo >>"$at_stderr"; $as_echo "input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar 8881 " | \ 8882 $at_diff - "$at_stderr" || at_failed=: 8883 at_fn_diff_devnull "$at_stdout" || at_failed=: 8884 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1482" 8885 $at_failed && at_fn_log_failure 8886 $at_traceon; } 8887 8888 # Defining POSIXLY_CORRECT causes bison to complain if options are 8889 # added after the grammar file name, so skip these checks in that 8890 # case. 8891 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 8892 at_save_special_files 8893 8894 # To avoid expanding it repeatedly, store specified stdout. 8895 : >expout 8896 8897 # Run with -Werror. 8898 { set +x 8899 $as_echo "$at_srcdir/input.at:1482: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -W input.y -Werror" 8900 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -W input.y -Werror" "input.at:1482" 8901 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -W input.y -Werror 8902 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8903 at_status=$? at_failed=false 8904 $at_check_filter 8905 echo stderr:; tee stderr <"$at_stderr" 8906 $at_diff expout "$at_stdout" || at_failed=: 8907 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1482" 8908 $at_failed && at_fn_log_failure 8909 $at_traceon; } 8910 8911 8912 # Build expected stderr up to and including the "warnings being 8913 # treated as errors" message. 8914 cat >at-bison-check-warnings <<'_ATEOF' 8915 input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar 8916 _ATEOF 8917 8918 at_bison_check_first=`sed -n \ 8919 '/: warning: /{=;q;}' at-bison-check-warnings` 8920 : ${at_bison_check_first:=1} 8921 at_bison_check_first_tmp=`sed -n \ 8922 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 8923 : ${at_bison_check_first_tmp:=1} 8924 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 8925 at_bison_check_first=$at_bison_check_first_tmp 8926 fi 8927 if test $at_bison_check_first -gt 1; then 8928 sed -n "1,`expr $at_bison_check_first - 1`"p \ 8929 at-bison-check-warnings > experr 8930 fi 8931 echo 'bison: warnings being treated as errors' >> experr 8932 8933 # Finish building expected stderr and check. Unlike warnings, 8934 # complaints cause bison to exit early. Thus, with -Werror, bison 8935 # does not necessarily report all warnings that it does without 8936 # -Werror, but it at least reports one. 8937 at_bison_check_last=`sed -n '$=' stderr` 8938 : ${at_bison_check_last:=1} 8939 at_bison_check_last=`expr $at_bison_check_last - 1` 8940 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 8941 at-bison-check-warnings >> experr 8942 { set +x 8943 $as_echo "$at_srcdir/input.at:1482: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 8944 stderr 1>&2" 8945 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1482" 8946 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 8947 stderr 1>&2 8948 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8949 at_status=$? at_failed=false 8950 $at_check_filter 8951 $at_diff experr "$at_stderr" || at_failed=: 8952 at_fn_diff_devnull "$at_stdout" || at_failed=: 8953 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1482" 8954 $at_failed && at_fn_log_failure 8955 $at_traceon; } 8956 8957 8958 # Now check --warnings=error. 8959 cp stderr experr 8960 { set +x 8961 $as_echo "$at_srcdir/input.at:1482: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -W input.y --warnings=error" 8962 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -W input.y --warnings=error" "input.at:1482" 8963 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -W input.y --warnings=error 8964 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8965 at_status=$? at_failed=false 8966 $at_check_filter 8967 $at_diff experr "$at_stderr" || at_failed=: 8968 $at_diff expout "$at_stdout" || at_failed=: 8969 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1482" 8970 $at_failed && at_fn_log_failure 8971 $at_traceon; } 8972 8973 8974 # Now check -Wnone and --warnings=none by making sure that 8975 # -Werror doesn't change the exit status when -Wnone or 8976 # --warnings=none is specified. 8977 { set +x 8978 $as_echo "$at_srcdir/input.at:1482: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -W input.y -Wnone -Werror" 8979 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -W input.y -Wnone -Werror" "input.at:1482" 8980 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -W input.y -Wnone -Werror 8981 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8982 at_status=$? at_failed=false 8983 $at_check_filter 8984 at_fn_diff_devnull "$at_stderr" || at_failed=: 8985 $at_diff expout "$at_stdout" || at_failed=: 8986 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1482" 8987 $at_failed && at_fn_log_failure 8988 $at_traceon; } 8989 8990 { set +x 8991 $as_echo "$at_srcdir/input.at:1482: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -W input.y --warnings=none -Werror" 8992 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -W input.y --warnings=none -Werror" "input.at:1482" 8993 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -W input.y --warnings=none -Werror 8994 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 8995 at_status=$? at_failed=false 8996 $at_check_filter 8997 at_fn_diff_devnull "$at_stderr" || at_failed=: 8998 $at_diff expout "$at_stdout" || at_failed=: 8999 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1482" 9000 $at_failed && at_fn_log_failure 9001 $at_traceon; } 9002 9003 9004 at_restore_special_files 9005 fi 9006 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 9007 at_save_special_files 9008 mkdir xml-tests 9009 # Don't combine these Bison invocations since we want to be sure that 9010 # --report=all isn't required to get the full XML file. 9011 { set +x 9012 $as_echo "$at_srcdir/input.at:1485: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 9013 --graph=xml-tests/test.dot -Wno-none input.y" 9014 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1485" 9015 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 9016 --graph=xml-tests/test.dot -Wno-none input.y 9017 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9018 at_status=$? at_failed=false 9019 $at_check_filter 9020 echo stderr:; cat "$at_stderr" 9021 echo stdout:; cat "$at_stdout" 9022 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1485" 9023 $at_failed && at_fn_log_failure 9024 $at_traceon; } 9025 9026 { set +x 9027 $as_echo "$at_srcdir/input.at:1485: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Wno-none input.y" 9028 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Wno-none input.y" "input.at:1485" 9029 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -Wno-none input.y 9030 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9031 at_status=$? at_failed=false 9032 $at_check_filter 9033 echo stderr:; cat "$at_stderr" 9034 echo stdout:; cat "$at_stdout" 9035 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1485" 9036 $at_failed && at_fn_log_failure 9037 $at_traceon; } 9038 9039 cp xml-tests/test.output expout 9040 { set +x 9041 $as_echo "$at_srcdir/input.at:1485: \$XSLTPROC \\ 9042 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 9043 xml-tests/test.xml" 9044 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1485" 9045 ( $at_check_trace; $XSLTPROC \ 9046 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 9047 xml-tests/test.xml 9048 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9049 at_status=$? at_failed=false 9050 $at_check_filter 9051 at_fn_diff_devnull "$at_stderr" || at_failed=: 9052 $at_diff expout "$at_stdout" || at_failed=: 9053 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1485" 9054 $at_failed && at_fn_log_failure 9055 $at_traceon; } 9056 9057 sort xml-tests/test.dot > expout 9058 { set +x 9059 $as_echo "$at_srcdir/input.at:1485: \$XSLTPROC \\ 9060 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 9061 xml-tests/test.xml | sort" 9062 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1485" 9063 ( $at_check_trace; $XSLTPROC \ 9064 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 9065 xml-tests/test.xml | sort 9066 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9067 at_status=$? at_failed=false 9068 $at_check_filter 9069 at_fn_diff_devnull "$at_stderr" || at_failed=: 9070 $at_diff expout "$at_stdout" || at_failed=: 9071 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1485" 9072 $at_failed && at_fn_log_failure 9073 $at_traceon; } 9074 9075 rm -rf xml-tests expout 9076 at_restore_special_files 9077 fi 9078 { set +x 9079 $as_echo "$at_srcdir/input.at:1485: bison -Wno-none input.y" 9080 at_fn_check_prepare_trace "input.at:1485" 9081 ( $at_check_trace; bison -Wno-none input.y 9082 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9083 at_status=$? at_failed=false 9084 $at_check_filter 9085 echo >>"$at_stderr"; $as_echo "input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar 9086 " | \ 9087 $at_diff - "$at_stderr" || at_failed=: 9088 at_fn_diff_devnull "$at_stdout" || at_failed=: 9089 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1485" 9090 $at_failed && at_fn_log_failure 9091 $at_traceon; } 9092 9093 # Defining POSIXLY_CORRECT causes bison to complain if options are 9094 # added after the grammar file name, so skip these checks in that 9095 # case. 9096 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 9097 at_save_special_files 9098 9099 # To avoid expanding it repeatedly, store specified stdout. 9100 : >expout 9101 9102 # Run with -Werror. 9103 { set +x 9104 $as_echo "$at_srcdir/input.at:1485: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wno-none input.y -Werror" 9105 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wno-none input.y -Werror" "input.at:1485" 9106 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wno-none input.y -Werror 9107 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9108 at_status=$? at_failed=false 9109 $at_check_filter 9110 echo stderr:; tee stderr <"$at_stderr" 9111 $at_diff expout "$at_stdout" || at_failed=: 9112 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1485" 9113 $at_failed && at_fn_log_failure 9114 $at_traceon; } 9115 9116 9117 # Build expected stderr up to and including the "warnings being 9118 # treated as errors" message. 9119 cat >at-bison-check-warnings <<'_ATEOF' 9120 input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar 9121 _ATEOF 9122 9123 at_bison_check_first=`sed -n \ 9124 '/: warning: /{=;q;}' at-bison-check-warnings` 9125 : ${at_bison_check_first:=1} 9126 at_bison_check_first_tmp=`sed -n \ 9127 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 9128 : ${at_bison_check_first_tmp:=1} 9129 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 9130 at_bison_check_first=$at_bison_check_first_tmp 9131 fi 9132 if test $at_bison_check_first -gt 1; then 9133 sed -n "1,`expr $at_bison_check_first - 1`"p \ 9134 at-bison-check-warnings > experr 9135 fi 9136 echo 'bison: warnings being treated as errors' >> experr 9137 9138 # Finish building expected stderr and check. Unlike warnings, 9139 # complaints cause bison to exit early. Thus, with -Werror, bison 9140 # does not necessarily report all warnings that it does without 9141 # -Werror, but it at least reports one. 9142 at_bison_check_last=`sed -n '$=' stderr` 9143 : ${at_bison_check_last:=1} 9144 at_bison_check_last=`expr $at_bison_check_last - 1` 9145 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 9146 at-bison-check-warnings >> experr 9147 { set +x 9148 $as_echo "$at_srcdir/input.at:1485: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 9149 stderr 1>&2" 9150 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1485" 9151 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 9152 stderr 1>&2 9153 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9154 at_status=$? at_failed=false 9155 $at_check_filter 9156 $at_diff experr "$at_stderr" || at_failed=: 9157 at_fn_diff_devnull "$at_stdout" || at_failed=: 9158 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1485" 9159 $at_failed && at_fn_log_failure 9160 $at_traceon; } 9161 9162 9163 # Now check --warnings=error. 9164 cp stderr experr 9165 { set +x 9166 $as_echo "$at_srcdir/input.at:1485: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wno-none input.y --warnings=error" 9167 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wno-none input.y --warnings=error" "input.at:1485" 9168 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wno-none input.y --warnings=error 9169 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9170 at_status=$? at_failed=false 9171 $at_check_filter 9172 $at_diff experr "$at_stderr" || at_failed=: 9173 $at_diff expout "$at_stdout" || at_failed=: 9174 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1485" 9175 $at_failed && at_fn_log_failure 9176 $at_traceon; } 9177 9178 9179 # Now check -Wnone and --warnings=none by making sure that 9180 # -Werror doesn't change the exit status when -Wnone or 9181 # --warnings=none is specified. 9182 { set +x 9183 $as_echo "$at_srcdir/input.at:1485: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wno-none input.y -Wnone -Werror" 9184 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wno-none input.y -Wnone -Werror" "input.at:1485" 9185 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wno-none input.y -Wnone -Werror 9186 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9187 at_status=$? at_failed=false 9188 $at_check_filter 9189 at_fn_diff_devnull "$at_stderr" || at_failed=: 9190 $at_diff expout "$at_stdout" || at_failed=: 9191 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1485" 9192 $at_failed && at_fn_log_failure 9193 $at_traceon; } 9194 9195 { set +x 9196 $as_echo "$at_srcdir/input.at:1485: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wno-none input.y --warnings=none -Werror" 9197 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Wno-none input.y --warnings=none -Werror" "input.at:1485" 9198 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Wno-none input.y --warnings=none -Werror 9199 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9200 at_status=$? at_failed=false 9201 $at_check_filter 9202 at_fn_diff_devnull "$at_stderr" || at_failed=: 9203 $at_diff expout "$at_stdout" || at_failed=: 9204 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1485" 9205 $at_failed && at_fn_log_failure 9206 $at_traceon; } 9207 9208 9209 at_restore_special_files 9210 fi 9211 9212 # -Werror is not disabled by -Wnone or equivalent. 9213 9214 { set +x 9215 $as_echo "$at_srcdir/input.at:1490: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Werror,none,yacc input.y" 9216 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Werror,none,yacc input.y" "input.at:1490" 9217 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Werror,none,yacc input.y 9218 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9219 at_status=$? at_failed=false 9220 $at_check_filter 9221 echo stderr:; tee stderr <"$at_stderr" 9222 at_fn_diff_devnull "$at_stdout" || at_failed=: 9223 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1490" 9224 $at_failed && at_fn_log_failure 9225 $at_traceon; } 9226 9227 9228 { set +x 9229 $as_echo "$at_srcdir/input.at:1491: sed 's/^.*bison:/bison:/' stderr" 9230 at_fn_check_prepare_trace "input.at:1491" 9231 ( $at_check_trace; sed 's/^.*bison:/bison:/' stderr 9232 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9233 at_status=$? at_failed=false 9234 $at_check_filter 9235 at_fn_diff_devnull "$at_stderr" || at_failed=: 9236 echo >>"$at_stdout"; $as_echo "bison: warnings being treated as errors 9237 input.y:2.1-7: warning: POSIX Yacc forbids dashes in symbol names: foo-bar 9238 " | \ 9239 $at_diff - "$at_stdout" || at_failed=: 9240 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1491" 9241 $at_failed && at_fn_log_failure 9242 $at_traceon; } 9243 9244 mv stderr experr 9245 9246 { set +x 9247 $as_echo "$at_srcdir/input.at:1496: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Werror,no-all,yacc input.y" 9248 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Werror,no-all,yacc input.y" "input.at:1496" 9249 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Werror,no-all,yacc input.y 9250 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9251 at_status=$? at_failed=false 9252 $at_check_filter 9253 $at_diff experr "$at_stderr" || at_failed=: 9254 at_fn_diff_devnull "$at_stdout" || at_failed=: 9255 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1496" 9256 $at_failed && at_fn_log_failure 9257 $at_traceon; } 9258 9259 9260 9261 set +x 9262 $at_times_p && times >"$at_times_file" 9263 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 9264 read at_status <"$at_status_file" 9265 #AT_STOP_35 9266 #AT_START_36 9267 at_fn_group_banner 36 'input.at:1505' \ 9268 "%name-prefix and %define api.prefix are incompatible" "" 1 9269 at_xfail=no 9270 ( 9271 $as_echo "36. $at_setup_line: testing $at_desc ..." 9272 $at_traceon 9273 9274 9275 # AT_TEST(DIRECTIVES, OPTIONS, ERROR-LOCATION) 9276 # -------------------------------------------- 9277 9278 9279 cat >input.y <<'_ATEOF' 9280 %define api.prefix foo %name-prefix "bar" 9281 %% 9282 exp:; 9283 _ATEOF 9284 9285 9286 { set +x 9287 $as_echo "$at_srcdir/input.at:1520: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" 9288 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y" "input.at:1520" 9289 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y 9290 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9291 at_status=$? at_failed=false 9292 $at_check_filter 9293 echo >>"$at_stderr"; $as_echo "input.y:1.9-18: error: '%name-prefix' and '%define api.prefix' cannot be used together 9294 " | \ 9295 $at_diff - "$at_stderr" || at_failed=: 9296 at_fn_diff_devnull "$at_stdout" || at_failed=: 9297 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1520" 9298 $at_failed && at_fn_log_failure 9299 $at_traceon; } 9300 9301 9302 9303 cat >input.y <<'_ATEOF' 9304 9305 %% 9306 exp:; 9307 _ATEOF 9308 9309 9310 { set +x 9311 $as_echo "$at_srcdir/input.at:1521: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dapi.prefix=foo -p bar input.y" 9312 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dapi.prefix=foo -p bar input.y" "input.at:1521" 9313 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Dapi.prefix=foo -p bar input.y 9314 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9315 at_status=$? at_failed=false 9316 $at_check_filter 9317 echo >>"$at_stderr"; $as_echo "<command line>:1: error: '%name-prefix' and '%define api.prefix' cannot be used together 9318 " | \ 9319 $at_diff - "$at_stderr" || at_failed=: 9320 at_fn_diff_devnull "$at_stdout" || at_failed=: 9321 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1521" 9322 $at_failed && at_fn_log_failure 9323 $at_traceon; } 9324 9325 9326 9327 cat >input.y <<'_ATEOF' 9328 %name-prefix "bar" 9329 %% 9330 exp:; 9331 _ATEOF 9332 9333 9334 { set +x 9335 $as_echo "$at_srcdir/input.at:1522: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dapi.prefix=foo input.y" 9336 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -Dapi.prefix=foo input.y" "input.at:1522" 9337 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -Dapi.prefix=foo input.y 9338 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9339 at_status=$? at_failed=false 9340 $at_check_filter 9341 echo >>"$at_stderr"; $as_echo "<command line>:1: error: '%name-prefix' and '%define api.prefix' cannot be used together 9342 " | \ 9343 $at_diff - "$at_stderr" || at_failed=: 9344 at_fn_diff_devnull "$at_stdout" || at_failed=: 9345 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1522" 9346 $at_failed && at_fn_log_failure 9347 $at_traceon; } 9348 9349 9350 9351 cat >input.y <<'_ATEOF' 9352 %define api.prefix foo 9353 %% 9354 exp:; 9355 _ATEOF 9356 9357 9358 { set +x 9359 $as_echo "$at_srcdir/input.at:1523: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -p bar input.y" 9360 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -p bar input.y" "input.at:1523" 9361 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -p bar input.y 9362 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9363 at_status=$? at_failed=false 9364 $at_check_filter 9365 echo >>"$at_stderr"; $as_echo "input.y:1.9-18: error: '%name-prefix' and '%define api.prefix' cannot be used together 9366 " | \ 9367 $at_diff - "$at_stderr" || at_failed=: 9368 at_fn_diff_devnull "$at_stdout" || at_failed=: 9369 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1523" 9370 $at_failed && at_fn_log_failure 9371 $at_traceon; } 9372 9373 9374 9375 9376 9377 9378 set +x 9379 $at_times_p && times >"$at_times_file" 9380 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 9381 read at_status <"$at_status_file" 9382 #AT_STOP_36 9383 #AT_START_37 9384 at_fn_group_banner 37 'input.at:1534' \ 9385 "Stray \$ or @" " " 1 9386 at_xfail=no 9387 ( 9388 $as_echo "37. $at_setup_line: testing $at_desc ..." 9389 $at_traceon 9390 9391 9392 # Give %printer and %destructor "<*> exp TOK" instead of "<*>" to 9393 # check that the warnings are reported once, not three times. 9394 9395 cat >input.y <<'_ATEOF' 9396 %code top { 9397 #include <config.h> 9398 /* We don't need perfect functions for these tests. */ 9399 #undef malloc 9400 #undef memcmp 9401 #undef realloc 9402 } 9403 9404 %token TOK 9405 %destructor { $%; @%; } <*> exp TOK; 9406 %initial-action { $%; @%; }; 9407 %printer { $%; @%; } <*> exp TOK; 9408 %% 9409 exp: TOK { $%; @%; $$ = $1; }; 9410 _ATEOF 9411 9412 9413 9414 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 9415 at_save_special_files 9416 mkdir xml-tests 9417 # Don't combine these Bison invocations since we want to be sure that 9418 # --report=all isn't required to get the full XML file. 9419 { set +x 9420 $as_echo "$at_srcdir/input.at:1548: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 9421 --graph=xml-tests/test.dot input.y" 9422 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1548" 9423 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 9424 --graph=xml-tests/test.dot input.y 9425 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9426 at_status=$? at_failed=false 9427 $at_check_filter 9428 echo stderr:; cat "$at_stderr" 9429 echo stdout:; cat "$at_stdout" 9430 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1548" 9431 $at_failed && at_fn_log_failure 9432 $at_traceon; } 9433 9434 { set +x 9435 $as_echo "$at_srcdir/input.at:1548: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" 9436 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y" "input.at:1548" 9437 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml input.y 9438 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9439 at_status=$? at_failed=false 9440 $at_check_filter 9441 echo stderr:; cat "$at_stderr" 9442 echo stdout:; cat "$at_stdout" 9443 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1548" 9444 $at_failed && at_fn_log_failure 9445 $at_traceon; } 9446 9447 cp xml-tests/test.output expout 9448 { set +x 9449 $as_echo "$at_srcdir/input.at:1548: \$XSLTPROC \\ 9450 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 9451 xml-tests/test.xml" 9452 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1548" 9453 ( $at_check_trace; $XSLTPROC \ 9454 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 9455 xml-tests/test.xml 9456 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9457 at_status=$? at_failed=false 9458 $at_check_filter 9459 at_fn_diff_devnull "$at_stderr" || at_failed=: 9460 $at_diff expout "$at_stdout" || at_failed=: 9461 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1548" 9462 $at_failed && at_fn_log_failure 9463 $at_traceon; } 9464 9465 sort xml-tests/test.dot > expout 9466 { set +x 9467 $as_echo "$at_srcdir/input.at:1548: \$XSLTPROC \\ 9468 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 9469 xml-tests/test.xml | sort" 9470 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1548" 9471 ( $at_check_trace; $XSLTPROC \ 9472 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 9473 xml-tests/test.xml | sort 9474 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9475 at_status=$? at_failed=false 9476 $at_check_filter 9477 at_fn_diff_devnull "$at_stderr" || at_failed=: 9478 $at_diff expout "$at_stdout" || at_failed=: 9479 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1548" 9480 $at_failed && at_fn_log_failure 9481 $at_traceon; } 9482 9483 rm -rf xml-tests expout 9484 at_restore_special_files 9485 fi 9486 { set +x 9487 $as_echo "$at_srcdir/input.at:1548: bison input.y" 9488 at_fn_check_prepare_trace "input.at:1548" 9489 ( $at_check_trace; bison input.y 9490 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9491 at_status=$? at_failed=false 9492 $at_check_filter 9493 echo >>"$at_stderr"; $as_echo "input.y:10.19: warning: stray '\$' 9494 input.y:10.23: warning: stray '@' 9495 input.y:11.19: warning: stray '\$' 9496 input.y:11.23: warning: stray '@' 9497 input.y:12.19: warning: stray '\$' 9498 input.y:12.23: warning: stray '@' 9499 input.y:14.19: warning: stray '\$' 9500 input.y:14.23: warning: stray '@' 9501 " | \ 9502 $at_diff - "$at_stderr" || at_failed=: 9503 at_fn_diff_devnull "$at_stdout" || at_failed=: 9504 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1548" 9505 $at_failed && at_fn_log_failure 9506 $at_traceon; } 9507 9508 # Defining POSIXLY_CORRECT causes bison to complain if options are 9509 # added after the grammar file name, so skip these checks in that 9510 # case. 9511 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 9512 at_save_special_files 9513 9514 # To avoid expanding it repeatedly, store specified stdout. 9515 : >expout 9516 9517 # Run with -Werror. 9518 { set +x 9519 $as_echo "$at_srcdir/input.at:1548: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" 9520 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Werror" "input.at:1548" 9521 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Werror 9522 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9523 at_status=$? at_failed=false 9524 $at_check_filter 9525 echo stderr:; tee stderr <"$at_stderr" 9526 $at_diff expout "$at_stdout" || at_failed=: 9527 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1548" 9528 $at_failed && at_fn_log_failure 9529 $at_traceon; } 9530 9531 9532 # Build expected stderr up to and including the "warnings being 9533 # treated as errors" message. 9534 cat >at-bison-check-warnings <<'_ATEOF' 9535 input.y:10.19: warning: stray '$' 9536 input.y:10.23: warning: stray '@' 9537 input.y:11.19: warning: stray '$' 9538 input.y:11.23: warning: stray '@' 9539 input.y:12.19: warning: stray '$' 9540 input.y:12.23: warning: stray '@' 9541 input.y:14.19: warning: stray '$' 9542 input.y:14.23: warning: stray '@' 9543 _ATEOF 9544 9545 at_bison_check_first=`sed -n \ 9546 '/: warning: /{=;q;}' at-bison-check-warnings` 9547 : ${at_bison_check_first:=1} 9548 at_bison_check_first_tmp=`sed -n \ 9549 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 9550 : ${at_bison_check_first_tmp:=1} 9551 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 9552 at_bison_check_first=$at_bison_check_first_tmp 9553 fi 9554 if test $at_bison_check_first -gt 1; then 9555 sed -n "1,`expr $at_bison_check_first - 1`"p \ 9556 at-bison-check-warnings > experr 9557 fi 9558 echo 'bison: warnings being treated as errors' >> experr 9559 9560 # Finish building expected stderr and check. Unlike warnings, 9561 # complaints cause bison to exit early. Thus, with -Werror, bison 9562 # does not necessarily report all warnings that it does without 9563 # -Werror, but it at least reports one. 9564 at_bison_check_last=`sed -n '$=' stderr` 9565 : ${at_bison_check_last:=1} 9566 at_bison_check_last=`expr $at_bison_check_last - 1` 9567 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 9568 at-bison-check-warnings >> experr 9569 { set +x 9570 $as_echo "$at_srcdir/input.at:1548: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 9571 stderr 1>&2" 9572 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1548" 9573 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 9574 stderr 1>&2 9575 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9576 at_status=$? at_failed=false 9577 $at_check_filter 9578 $at_diff experr "$at_stderr" || at_failed=: 9579 at_fn_diff_devnull "$at_stdout" || at_failed=: 9580 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1548" 9581 $at_failed && at_fn_log_failure 9582 $at_traceon; } 9583 9584 9585 # Now check --warnings=error. 9586 cp stderr experr 9587 { set +x 9588 $as_echo "$at_srcdir/input.at:1548: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" 9589 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=error" "input.at:1548" 9590 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=error 9591 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9592 at_status=$? at_failed=false 9593 $at_check_filter 9594 $at_diff experr "$at_stderr" || at_failed=: 9595 $at_diff expout "$at_stdout" || at_failed=: 9596 at_fn_check_status 1 $at_status "$at_srcdir/input.at:1548" 9597 $at_failed && at_fn_log_failure 9598 $at_traceon; } 9599 9600 9601 # Now check -Wnone and --warnings=none by making sure that 9602 # -Werror doesn't change the exit status when -Wnone or 9603 # --warnings=none is specified. 9604 { set +x 9605 $as_echo "$at_srcdir/input.at:1548: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" 9606 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y -Wnone -Werror" "input.at:1548" 9607 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y -Wnone -Werror 9608 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9609 at_status=$? at_failed=false 9610 $at_check_filter 9611 at_fn_diff_devnull "$at_stderr" || at_failed=: 9612 $at_diff expout "$at_stdout" || at_failed=: 9613 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1548" 9614 $at_failed && at_fn_log_failure 9615 $at_traceon; } 9616 9617 { set +x 9618 $as_echo "$at_srcdir/input.at:1548: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" 9619 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror" "input.at:1548" 9620 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison input.y --warnings=none -Werror 9621 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9622 at_status=$? at_failed=false 9623 $at_check_filter 9624 at_fn_diff_devnull "$at_stderr" || at_failed=: 9625 $at_diff expout "$at_stdout" || at_failed=: 9626 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1548" 9627 $at_failed && at_fn_log_failure 9628 $at_traceon; } 9629 9630 9631 at_restore_special_files 9632 fi 9633 9634 set +x 9635 $at_times_p && times >"$at_times_file" 9636 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 9637 read at_status <"$at_status_file" 9638 #AT_STOP_37 9639 #AT_START_38 9640 at_fn_group_banner 38 'input.at:1568' \ 9641 "Code injection" " " 1 9642 at_xfail=no 9643 ( 9644 $as_echo "38. $at_setup_line: testing $at_desc ..." 9645 $at_traceon 9646 9647 9648 9649 9650 # AT_TEST([MACRO]) 9651 # ---------------- 9652 # Try to have MACRO be run by bison. 9653 9654 9655 cat >input.y <<'_ATEOF' 9656 %type <m4_errprintn(DEAD %type)> exp 9657 %token <m4_errprintn(DEAD %token)> a 9658 %initial-action 9659 { 9660 $$; 9661 $<m4_errprintn(DEAD %initial-action)>$ 9662 }; 9663 %printer 9664 { 9665 $$ 9666 $<m4_errprintn(DEAD %printer)>$ 9667 } <> <*>; 9668 %lex-param 9669 { 9670 m4_errprintn(DEAD %lex-param) 9671 }; 9672 %parse-param 9673 { 9674 m4_errprintn(DEAD %parse-param) 9675 }; 9676 %% 9677 exp: 9678 a a[last] 9679 { 9680 $$; 9681 $1; 9682 $<m4_errprintn(DEAD action 1)>$ 9683 $<m4_errprintn(DEAD action 2)>1 9684 $<m4_errprintn(DEAD action 3)>last 9685 $<m4_errprintn(DEAD action 4)>0 9686 ; 9687 }; 9688 _ATEOF 9689 9690 9691 # FIXME: Provide a means to iterate over all the skeletons. 9692 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 9693 at_save_special_files 9694 mkdir xml-tests 9695 # Don't combine these Bison invocations since we want to be sure that 9696 # --report=all isn't required to get the full XML file. 9697 { set +x 9698 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 9699 --graph=xml-tests/test.dot -d input.y" 9700 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1619" 9701 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 9702 --graph=xml-tests/test.dot -d input.y 9703 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9704 at_status=$? at_failed=false 9705 $at_check_filter 9706 echo stderr:; cat "$at_stderr" 9707 echo stdout:; cat "$at_stdout" 9708 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9709 $at_failed && at_fn_log_failure 9710 $at_traceon; } 9711 9712 { set +x 9713 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d input.y" 9714 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d input.y" "input.at:1619" 9715 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d input.y 9716 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9717 at_status=$? at_failed=false 9718 $at_check_filter 9719 echo stderr:; cat "$at_stderr" 9720 echo stdout:; cat "$at_stdout" 9721 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9722 $at_failed && at_fn_log_failure 9723 $at_traceon; } 9724 9725 cp xml-tests/test.output expout 9726 { set +x 9727 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 9728 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 9729 xml-tests/test.xml" 9730 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 9731 ( $at_check_trace; $XSLTPROC \ 9732 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 9733 xml-tests/test.xml 9734 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9735 at_status=$? at_failed=false 9736 $at_check_filter 9737 at_fn_diff_devnull "$at_stderr" || at_failed=: 9738 $at_diff expout "$at_stdout" || at_failed=: 9739 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9740 $at_failed && at_fn_log_failure 9741 $at_traceon; } 9742 9743 sort xml-tests/test.dot > expout 9744 { set +x 9745 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 9746 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 9747 xml-tests/test.xml | sort" 9748 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 9749 ( $at_check_trace; $XSLTPROC \ 9750 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 9751 xml-tests/test.xml | sort 9752 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9753 at_status=$? at_failed=false 9754 $at_check_filter 9755 at_fn_diff_devnull "$at_stderr" || at_failed=: 9756 $at_diff expout "$at_stdout" || at_failed=: 9757 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9758 $at_failed && at_fn_log_failure 9759 $at_traceon; } 9760 9761 rm -rf xml-tests expout 9762 at_restore_special_files 9763 fi 9764 { set +x 9765 $as_echo "$at_srcdir/input.at:1619: bison -d input.y" 9766 at_fn_check_prepare_trace "input.at:1619" 9767 ( $at_check_trace; bison -d input.y 9768 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9769 at_status=$? at_failed=false 9770 $at_check_filter 9771 at_fn_diff_devnull "$at_stderr" || at_failed=: 9772 at_fn_diff_devnull "$at_stdout" || at_failed=: 9773 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9774 $at_failed && at_fn_log_failure 9775 $at_traceon; } 9776 9777 9778 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 9779 at_save_special_files 9780 mkdir xml-tests 9781 # Don't combine these Bison invocations since we want to be sure that 9782 # --report=all isn't required to get the full XML file. 9783 { set +x 9784 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 9785 --graph=xml-tests/test.dot -d -S glr.c input.y" 9786 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1619" 9787 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 9788 --graph=xml-tests/test.dot -d -S glr.c input.y 9789 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9790 at_status=$? at_failed=false 9791 $at_check_filter 9792 echo stderr:; cat "$at_stderr" 9793 echo stdout:; cat "$at_stdout" 9794 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9795 $at_failed && at_fn_log_failure 9796 $at_traceon; } 9797 9798 { set +x 9799 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.c input.y" 9800 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.c input.y" "input.at:1619" 9801 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.c input.y 9802 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9803 at_status=$? at_failed=false 9804 $at_check_filter 9805 echo stderr:; cat "$at_stderr" 9806 echo stdout:; cat "$at_stdout" 9807 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9808 $at_failed && at_fn_log_failure 9809 $at_traceon; } 9810 9811 cp xml-tests/test.output expout 9812 { set +x 9813 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 9814 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 9815 xml-tests/test.xml" 9816 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 9817 ( $at_check_trace; $XSLTPROC \ 9818 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 9819 xml-tests/test.xml 9820 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9821 at_status=$? at_failed=false 9822 $at_check_filter 9823 at_fn_diff_devnull "$at_stderr" || at_failed=: 9824 $at_diff expout "$at_stdout" || at_failed=: 9825 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9826 $at_failed && at_fn_log_failure 9827 $at_traceon; } 9828 9829 sort xml-tests/test.dot > expout 9830 { set +x 9831 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 9832 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 9833 xml-tests/test.xml | sort" 9834 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 9835 ( $at_check_trace; $XSLTPROC \ 9836 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 9837 xml-tests/test.xml | sort 9838 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9839 at_status=$? at_failed=false 9840 $at_check_filter 9841 at_fn_diff_devnull "$at_stderr" || at_failed=: 9842 $at_diff expout "$at_stdout" || at_failed=: 9843 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9844 $at_failed && at_fn_log_failure 9845 $at_traceon; } 9846 9847 rm -rf xml-tests expout 9848 at_restore_special_files 9849 fi 9850 { set +x 9851 $as_echo "$at_srcdir/input.at:1619: bison -d -S glr.c input.y" 9852 at_fn_check_prepare_trace "input.at:1619" 9853 ( $at_check_trace; bison -d -S glr.c input.y 9854 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9855 at_status=$? at_failed=false 9856 $at_check_filter 9857 at_fn_diff_devnull "$at_stderr" || at_failed=: 9858 at_fn_diff_devnull "$at_stdout" || at_failed=: 9859 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9860 $at_failed && at_fn_log_failure 9861 $at_traceon; } 9862 9863 9864 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 9865 at_save_special_files 9866 mkdir xml-tests 9867 # Don't combine these Bison invocations since we want to be sure that 9868 # --report=all isn't required to get the full XML file. 9869 { set +x 9870 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 9871 --graph=xml-tests/test.dot -d -S lalr1.cc input.y" 9872 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1619" 9873 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 9874 --graph=xml-tests/test.dot -d -S lalr1.cc input.y 9875 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9876 at_status=$? at_failed=false 9877 $at_check_filter 9878 echo stderr:; cat "$at_stderr" 9879 echo stdout:; cat "$at_stdout" 9880 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9881 $at_failed && at_fn_log_failure 9882 $at_traceon; } 9883 9884 { set +x 9885 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S lalr1.cc input.y" 9886 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S lalr1.cc input.y" "input.at:1619" 9887 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S lalr1.cc input.y 9888 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9889 at_status=$? at_failed=false 9890 $at_check_filter 9891 echo stderr:; cat "$at_stderr" 9892 echo stdout:; cat "$at_stdout" 9893 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9894 $at_failed && at_fn_log_failure 9895 $at_traceon; } 9896 9897 cp xml-tests/test.output expout 9898 { set +x 9899 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 9900 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 9901 xml-tests/test.xml" 9902 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 9903 ( $at_check_trace; $XSLTPROC \ 9904 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 9905 xml-tests/test.xml 9906 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9907 at_status=$? at_failed=false 9908 $at_check_filter 9909 at_fn_diff_devnull "$at_stderr" || at_failed=: 9910 $at_diff expout "$at_stdout" || at_failed=: 9911 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9912 $at_failed && at_fn_log_failure 9913 $at_traceon; } 9914 9915 sort xml-tests/test.dot > expout 9916 { set +x 9917 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 9918 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 9919 xml-tests/test.xml | sort" 9920 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 9921 ( $at_check_trace; $XSLTPROC \ 9922 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 9923 xml-tests/test.xml | sort 9924 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9925 at_status=$? at_failed=false 9926 $at_check_filter 9927 at_fn_diff_devnull "$at_stderr" || at_failed=: 9928 $at_diff expout "$at_stdout" || at_failed=: 9929 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9930 $at_failed && at_fn_log_failure 9931 $at_traceon; } 9932 9933 rm -rf xml-tests expout 9934 at_restore_special_files 9935 fi 9936 { set +x 9937 $as_echo "$at_srcdir/input.at:1619: bison -d -S lalr1.cc input.y" 9938 at_fn_check_prepare_trace "input.at:1619" 9939 ( $at_check_trace; bison -d -S lalr1.cc input.y 9940 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9941 at_status=$? at_failed=false 9942 $at_check_filter 9943 at_fn_diff_devnull "$at_stderr" || at_failed=: 9944 at_fn_diff_devnull "$at_stdout" || at_failed=: 9945 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9946 $at_failed && at_fn_log_failure 9947 $at_traceon; } 9948 9949 9950 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 9951 at_save_special_files 9952 mkdir xml-tests 9953 # Don't combine these Bison invocations since we want to be sure that 9954 # --report=all isn't required to get the full XML file. 9955 { set +x 9956 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 9957 --graph=xml-tests/test.dot -d -S glr.cc input.y" 9958 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1619" 9959 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 9960 --graph=xml-tests/test.dot -d -S glr.cc input.y 9961 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9962 at_status=$? at_failed=false 9963 $at_check_filter 9964 echo stderr:; cat "$at_stderr" 9965 echo stdout:; cat "$at_stdout" 9966 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9967 $at_failed && at_fn_log_failure 9968 $at_traceon; } 9969 9970 { set +x 9971 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.cc input.y" 9972 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.cc input.y" "input.at:1619" 9973 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.cc input.y 9974 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9975 at_status=$? at_failed=false 9976 $at_check_filter 9977 echo stderr:; cat "$at_stderr" 9978 echo stdout:; cat "$at_stdout" 9979 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9980 $at_failed && at_fn_log_failure 9981 $at_traceon; } 9982 9983 cp xml-tests/test.output expout 9984 { set +x 9985 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 9986 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 9987 xml-tests/test.xml" 9988 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 9989 ( $at_check_trace; $XSLTPROC \ 9990 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 9991 xml-tests/test.xml 9992 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 9993 at_status=$? at_failed=false 9994 $at_check_filter 9995 at_fn_diff_devnull "$at_stderr" || at_failed=: 9996 $at_diff expout "$at_stdout" || at_failed=: 9997 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 9998 $at_failed && at_fn_log_failure 9999 $at_traceon; } 10000 10001 sort xml-tests/test.dot > expout 10002 { set +x 10003 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 10004 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 10005 xml-tests/test.xml | sort" 10006 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 10007 ( $at_check_trace; $XSLTPROC \ 10008 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 10009 xml-tests/test.xml | sort 10010 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10011 at_status=$? at_failed=false 10012 $at_check_filter 10013 at_fn_diff_devnull "$at_stderr" || at_failed=: 10014 $at_diff expout "$at_stdout" || at_failed=: 10015 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 10016 $at_failed && at_fn_log_failure 10017 $at_traceon; } 10018 10019 rm -rf xml-tests expout 10020 at_restore_special_files 10021 fi 10022 { set +x 10023 $as_echo "$at_srcdir/input.at:1619: bison -d -S glr.cc input.y" 10024 at_fn_check_prepare_trace "input.at:1619" 10025 ( $at_check_trace; bison -d -S glr.cc input.y 10026 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10027 at_status=$? at_failed=false 10028 $at_check_filter 10029 at_fn_diff_devnull "$at_stderr" || at_failed=: 10030 at_fn_diff_devnull "$at_stdout" || at_failed=: 10031 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 10032 $at_failed && at_fn_log_failure 10033 $at_traceon; } 10034 10035 10036 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 10037 at_save_special_files 10038 mkdir xml-tests 10039 # Don't combine these Bison invocations since we want to be sure that 10040 # --report=all isn't required to get the full XML file. 10041 { set +x 10042 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 10043 --graph=xml-tests/test.dot -S lalr1.java input.y" 10044 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1619" 10045 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 10046 --graph=xml-tests/test.dot -S lalr1.java input.y 10047 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10048 at_status=$? at_failed=false 10049 $at_check_filter 10050 echo stderr:; cat "$at_stderr" 10051 echo stdout:; cat "$at_stdout" 10052 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 10053 $at_failed && at_fn_log_failure 10054 $at_traceon; } 10055 10056 { set +x 10057 $as_echo "$at_srcdir/input.at:1619: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -S lalr1.java input.y" 10058 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -S lalr1.java input.y" "input.at:1619" 10059 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -S lalr1.java input.y 10060 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10061 at_status=$? at_failed=false 10062 $at_check_filter 10063 echo stderr:; cat "$at_stderr" 10064 echo stdout:; cat "$at_stdout" 10065 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 10066 $at_failed && at_fn_log_failure 10067 $at_traceon; } 10068 10069 cp xml-tests/test.output expout 10070 { set +x 10071 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 10072 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 10073 xml-tests/test.xml" 10074 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 10075 ( $at_check_trace; $XSLTPROC \ 10076 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 10077 xml-tests/test.xml 10078 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10079 at_status=$? at_failed=false 10080 $at_check_filter 10081 at_fn_diff_devnull "$at_stderr" || at_failed=: 10082 $at_diff expout "$at_stdout" || at_failed=: 10083 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 10084 $at_failed && at_fn_log_failure 10085 $at_traceon; } 10086 10087 sort xml-tests/test.dot > expout 10088 { set +x 10089 $as_echo "$at_srcdir/input.at:1619: \$XSLTPROC \\ 10090 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 10091 xml-tests/test.xml | sort" 10092 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1619" 10093 ( $at_check_trace; $XSLTPROC \ 10094 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 10095 xml-tests/test.xml | sort 10096 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10097 at_status=$? at_failed=false 10098 $at_check_filter 10099 at_fn_diff_devnull "$at_stderr" || at_failed=: 10100 $at_diff expout "$at_stdout" || at_failed=: 10101 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 10102 $at_failed && at_fn_log_failure 10103 $at_traceon; } 10104 10105 rm -rf xml-tests expout 10106 at_restore_special_files 10107 fi 10108 { set +x 10109 $as_echo "$at_srcdir/input.at:1619: bison -S lalr1.java input.y" 10110 at_fn_check_prepare_trace "input.at:1619" 10111 ( $at_check_trace; bison -S lalr1.java input.y 10112 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10113 at_status=$? at_failed=false 10114 $at_check_filter 10115 at_fn_diff_devnull "$at_stderr" || at_failed=: 10116 at_fn_diff_devnull "$at_stdout" || at_failed=: 10117 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1619" 10118 $at_failed && at_fn_log_failure 10119 $at_traceon; } 10120 10121 10122 10123 cat >input.y <<'_ATEOF' 10124 %type <]m4_errprintn(DEAD %type)> exp 10125 %token <]m4_errprintn(DEAD %token)> a 10126 %initial-action 10127 { 10128 $$; 10129 $<]m4_errprintn(DEAD %initial-action)>$ 10130 }; 10131 %printer 10132 { 10133 $$ 10134 $<]m4_errprintn(DEAD %printer)>$ 10135 } <> <*>; 10136 %lex-param 10137 { 10138 ]m4_errprintn(DEAD %lex-param) 10139 }; 10140 %parse-param 10141 { 10142 ]m4_errprintn(DEAD %parse-param) 10143 }; 10144 %% 10145 exp: 10146 a a[last] 10147 { 10148 $$; 10149 $1; 10150 $<]m4_errprintn(DEAD action 1)>$ 10151 $<]m4_errprintn(DEAD action 2)>1 10152 $<]m4_errprintn(DEAD action 3)>last 10153 $<]m4_errprintn(DEAD action 4)>0 10154 ; 10155 }; 10156 _ATEOF 10157 10158 10159 # FIXME: Provide a means to iterate over all the skeletons. 10160 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 10161 at_save_special_files 10162 mkdir xml-tests 10163 # Don't combine these Bison invocations since we want to be sure that 10164 # --report=all isn't required to get the full XML file. 10165 { set +x 10166 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 10167 --graph=xml-tests/test.dot -d input.y" 10168 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1620" 10169 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 10170 --graph=xml-tests/test.dot -d input.y 10171 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10172 at_status=$? at_failed=false 10173 $at_check_filter 10174 echo stderr:; cat "$at_stderr" 10175 echo stdout:; cat "$at_stdout" 10176 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10177 $at_failed && at_fn_log_failure 10178 $at_traceon; } 10179 10180 { set +x 10181 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d input.y" 10182 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d input.y" "input.at:1620" 10183 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d input.y 10184 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10185 at_status=$? at_failed=false 10186 $at_check_filter 10187 echo stderr:; cat "$at_stderr" 10188 echo stdout:; cat "$at_stdout" 10189 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10190 $at_failed && at_fn_log_failure 10191 $at_traceon; } 10192 10193 cp xml-tests/test.output expout 10194 { set +x 10195 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10196 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 10197 xml-tests/test.xml" 10198 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10199 ( $at_check_trace; $XSLTPROC \ 10200 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 10201 xml-tests/test.xml 10202 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10203 at_status=$? at_failed=false 10204 $at_check_filter 10205 at_fn_diff_devnull "$at_stderr" || at_failed=: 10206 $at_diff expout "$at_stdout" || at_failed=: 10207 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10208 $at_failed && at_fn_log_failure 10209 $at_traceon; } 10210 10211 sort xml-tests/test.dot > expout 10212 { set +x 10213 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10214 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 10215 xml-tests/test.xml | sort" 10216 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10217 ( $at_check_trace; $XSLTPROC \ 10218 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 10219 xml-tests/test.xml | sort 10220 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10221 at_status=$? at_failed=false 10222 $at_check_filter 10223 at_fn_diff_devnull "$at_stderr" || at_failed=: 10224 $at_diff expout "$at_stdout" || at_failed=: 10225 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10226 $at_failed && at_fn_log_failure 10227 $at_traceon; } 10228 10229 rm -rf xml-tests expout 10230 at_restore_special_files 10231 fi 10232 { set +x 10233 $as_echo "$at_srcdir/input.at:1620: bison -d input.y" 10234 at_fn_check_prepare_trace "input.at:1620" 10235 ( $at_check_trace; bison -d input.y 10236 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10237 at_status=$? at_failed=false 10238 $at_check_filter 10239 at_fn_diff_devnull "$at_stderr" || at_failed=: 10240 at_fn_diff_devnull "$at_stdout" || at_failed=: 10241 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10242 $at_failed && at_fn_log_failure 10243 $at_traceon; } 10244 10245 10246 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 10247 at_save_special_files 10248 mkdir xml-tests 10249 # Don't combine these Bison invocations since we want to be sure that 10250 # --report=all isn't required to get the full XML file. 10251 { set +x 10252 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 10253 --graph=xml-tests/test.dot -d -S glr.c input.y" 10254 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1620" 10255 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 10256 --graph=xml-tests/test.dot -d -S glr.c input.y 10257 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10258 at_status=$? at_failed=false 10259 $at_check_filter 10260 echo stderr:; cat "$at_stderr" 10261 echo stdout:; cat "$at_stdout" 10262 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10263 $at_failed && at_fn_log_failure 10264 $at_traceon; } 10265 10266 { set +x 10267 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.c input.y" 10268 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.c input.y" "input.at:1620" 10269 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.c input.y 10270 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10271 at_status=$? at_failed=false 10272 $at_check_filter 10273 echo stderr:; cat "$at_stderr" 10274 echo stdout:; cat "$at_stdout" 10275 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10276 $at_failed && at_fn_log_failure 10277 $at_traceon; } 10278 10279 cp xml-tests/test.output expout 10280 { set +x 10281 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10282 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 10283 xml-tests/test.xml" 10284 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10285 ( $at_check_trace; $XSLTPROC \ 10286 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 10287 xml-tests/test.xml 10288 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10289 at_status=$? at_failed=false 10290 $at_check_filter 10291 at_fn_diff_devnull "$at_stderr" || at_failed=: 10292 $at_diff expout "$at_stdout" || at_failed=: 10293 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10294 $at_failed && at_fn_log_failure 10295 $at_traceon; } 10296 10297 sort xml-tests/test.dot > expout 10298 { set +x 10299 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10300 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 10301 xml-tests/test.xml | sort" 10302 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10303 ( $at_check_trace; $XSLTPROC \ 10304 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 10305 xml-tests/test.xml | sort 10306 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10307 at_status=$? at_failed=false 10308 $at_check_filter 10309 at_fn_diff_devnull "$at_stderr" || at_failed=: 10310 $at_diff expout "$at_stdout" || at_failed=: 10311 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10312 $at_failed && at_fn_log_failure 10313 $at_traceon; } 10314 10315 rm -rf xml-tests expout 10316 at_restore_special_files 10317 fi 10318 { set +x 10319 $as_echo "$at_srcdir/input.at:1620: bison -d -S glr.c input.y" 10320 at_fn_check_prepare_trace "input.at:1620" 10321 ( $at_check_trace; bison -d -S glr.c input.y 10322 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10323 at_status=$? at_failed=false 10324 $at_check_filter 10325 at_fn_diff_devnull "$at_stderr" || at_failed=: 10326 at_fn_diff_devnull "$at_stdout" || at_failed=: 10327 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10328 $at_failed && at_fn_log_failure 10329 $at_traceon; } 10330 10331 10332 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 10333 at_save_special_files 10334 mkdir xml-tests 10335 # Don't combine these Bison invocations since we want to be sure that 10336 # --report=all isn't required to get the full XML file. 10337 { set +x 10338 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 10339 --graph=xml-tests/test.dot -d -S lalr1.cc input.y" 10340 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1620" 10341 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 10342 --graph=xml-tests/test.dot -d -S lalr1.cc input.y 10343 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10344 at_status=$? at_failed=false 10345 $at_check_filter 10346 echo stderr:; cat "$at_stderr" 10347 echo stdout:; cat "$at_stdout" 10348 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10349 $at_failed && at_fn_log_failure 10350 $at_traceon; } 10351 10352 { set +x 10353 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S lalr1.cc input.y" 10354 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S lalr1.cc input.y" "input.at:1620" 10355 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S lalr1.cc input.y 10356 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10357 at_status=$? at_failed=false 10358 $at_check_filter 10359 echo stderr:; cat "$at_stderr" 10360 echo stdout:; cat "$at_stdout" 10361 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10362 $at_failed && at_fn_log_failure 10363 $at_traceon; } 10364 10365 cp xml-tests/test.output expout 10366 { set +x 10367 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10368 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 10369 xml-tests/test.xml" 10370 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10371 ( $at_check_trace; $XSLTPROC \ 10372 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 10373 xml-tests/test.xml 10374 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10375 at_status=$? at_failed=false 10376 $at_check_filter 10377 at_fn_diff_devnull "$at_stderr" || at_failed=: 10378 $at_diff expout "$at_stdout" || at_failed=: 10379 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10380 $at_failed && at_fn_log_failure 10381 $at_traceon; } 10382 10383 sort xml-tests/test.dot > expout 10384 { set +x 10385 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10386 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 10387 xml-tests/test.xml | sort" 10388 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10389 ( $at_check_trace; $XSLTPROC \ 10390 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 10391 xml-tests/test.xml | sort 10392 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10393 at_status=$? at_failed=false 10394 $at_check_filter 10395 at_fn_diff_devnull "$at_stderr" || at_failed=: 10396 $at_diff expout "$at_stdout" || at_failed=: 10397 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10398 $at_failed && at_fn_log_failure 10399 $at_traceon; } 10400 10401 rm -rf xml-tests expout 10402 at_restore_special_files 10403 fi 10404 { set +x 10405 $as_echo "$at_srcdir/input.at:1620: bison -d -S lalr1.cc input.y" 10406 at_fn_check_prepare_trace "input.at:1620" 10407 ( $at_check_trace; bison -d -S lalr1.cc input.y 10408 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10409 at_status=$? at_failed=false 10410 $at_check_filter 10411 at_fn_diff_devnull "$at_stderr" || at_failed=: 10412 at_fn_diff_devnull "$at_stdout" || at_failed=: 10413 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10414 $at_failed && at_fn_log_failure 10415 $at_traceon; } 10416 10417 10418 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 10419 at_save_special_files 10420 mkdir xml-tests 10421 # Don't combine these Bison invocations since we want to be sure that 10422 # --report=all isn't required to get the full XML file. 10423 { set +x 10424 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 10425 --graph=xml-tests/test.dot -d -S glr.cc input.y" 10426 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1620" 10427 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 10428 --graph=xml-tests/test.dot -d -S glr.cc input.y 10429 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10430 at_status=$? at_failed=false 10431 $at_check_filter 10432 echo stderr:; cat "$at_stderr" 10433 echo stdout:; cat "$at_stdout" 10434 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10435 $at_failed && at_fn_log_failure 10436 $at_traceon; } 10437 10438 { set +x 10439 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.cc input.y" 10440 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.cc input.y" "input.at:1620" 10441 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -d -S glr.cc input.y 10442 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10443 at_status=$? at_failed=false 10444 $at_check_filter 10445 echo stderr:; cat "$at_stderr" 10446 echo stdout:; cat "$at_stdout" 10447 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10448 $at_failed && at_fn_log_failure 10449 $at_traceon; } 10450 10451 cp xml-tests/test.output expout 10452 { set +x 10453 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10454 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 10455 xml-tests/test.xml" 10456 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10457 ( $at_check_trace; $XSLTPROC \ 10458 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 10459 xml-tests/test.xml 10460 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10461 at_status=$? at_failed=false 10462 $at_check_filter 10463 at_fn_diff_devnull "$at_stderr" || at_failed=: 10464 $at_diff expout "$at_stdout" || at_failed=: 10465 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10466 $at_failed && at_fn_log_failure 10467 $at_traceon; } 10468 10469 sort xml-tests/test.dot > expout 10470 { set +x 10471 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10472 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 10473 xml-tests/test.xml | sort" 10474 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10475 ( $at_check_trace; $XSLTPROC \ 10476 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 10477 xml-tests/test.xml | sort 10478 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10479 at_status=$? at_failed=false 10480 $at_check_filter 10481 at_fn_diff_devnull "$at_stderr" || at_failed=: 10482 $at_diff expout "$at_stdout" || at_failed=: 10483 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10484 $at_failed && at_fn_log_failure 10485 $at_traceon; } 10486 10487 rm -rf xml-tests expout 10488 at_restore_special_files 10489 fi 10490 { set +x 10491 $as_echo "$at_srcdir/input.at:1620: bison -d -S glr.cc input.y" 10492 at_fn_check_prepare_trace "input.at:1620" 10493 ( $at_check_trace; bison -d -S glr.cc input.y 10494 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10495 at_status=$? at_failed=false 10496 $at_check_filter 10497 at_fn_diff_devnull "$at_stderr" || at_failed=: 10498 at_fn_diff_devnull "$at_stdout" || at_failed=: 10499 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10500 $at_failed && at_fn_log_failure 10501 $at_traceon; } 10502 10503 10504 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 10505 at_save_special_files 10506 mkdir xml-tests 10507 # Don't combine these Bison invocations since we want to be sure that 10508 # --report=all isn't required to get the full XML file. 10509 { set +x 10510 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 10511 --graph=xml-tests/test.dot -S lalr1.java input.y" 10512 at_fn_check_prepare_notrace 'an embedded newline' "input.at:1620" 10513 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 10514 --graph=xml-tests/test.dot -S lalr1.java input.y 10515 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10516 at_status=$? at_failed=false 10517 $at_check_filter 10518 echo stderr:; cat "$at_stderr" 10519 echo stdout:; cat "$at_stdout" 10520 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10521 $at_failed && at_fn_log_failure 10522 $at_traceon; } 10523 10524 { set +x 10525 $as_echo "$at_srcdir/input.at:1620: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -S lalr1.java input.y" 10526 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -S lalr1.java input.y" "input.at:1620" 10527 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -S lalr1.java input.y 10528 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10529 at_status=$? at_failed=false 10530 $at_check_filter 10531 echo stderr:; cat "$at_stderr" 10532 echo stdout:; cat "$at_stdout" 10533 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10534 $at_failed && at_fn_log_failure 10535 $at_traceon; } 10536 10537 cp xml-tests/test.output expout 10538 { set +x 10539 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10540 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 10541 xml-tests/test.xml" 10542 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10543 ( $at_check_trace; $XSLTPROC \ 10544 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 10545 xml-tests/test.xml 10546 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10547 at_status=$? at_failed=false 10548 $at_check_filter 10549 at_fn_diff_devnull "$at_stderr" || at_failed=: 10550 $at_diff expout "$at_stdout" || at_failed=: 10551 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10552 $at_failed && at_fn_log_failure 10553 $at_traceon; } 10554 10555 sort xml-tests/test.dot > expout 10556 { set +x 10557 $as_echo "$at_srcdir/input.at:1620: \$XSLTPROC \\ 10558 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 10559 xml-tests/test.xml | sort" 10560 at_fn_check_prepare_notrace 'a `...` command substitution' "input.at:1620" 10561 ( $at_check_trace; $XSLTPROC \ 10562 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 10563 xml-tests/test.xml | sort 10564 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10565 at_status=$? at_failed=false 10566 $at_check_filter 10567 at_fn_diff_devnull "$at_stderr" || at_failed=: 10568 $at_diff expout "$at_stdout" || at_failed=: 10569 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10570 $at_failed && at_fn_log_failure 10571 $at_traceon; } 10572 10573 rm -rf xml-tests expout 10574 at_restore_special_files 10575 fi 10576 { set +x 10577 $as_echo "$at_srcdir/input.at:1620: bison -S lalr1.java input.y" 10578 at_fn_check_prepare_trace "input.at:1620" 10579 ( $at_check_trace; bison -S lalr1.java input.y 10580 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10581 at_status=$? at_failed=false 10582 $at_check_filter 10583 at_fn_diff_devnull "$at_stderr" || at_failed=: 10584 at_fn_diff_devnull "$at_stdout" || at_failed=: 10585 at_fn_check_status 0 $at_status "$at_srcdir/input.at:1620" 10586 $at_failed && at_fn_log_failure 10587 $at_traceon; } 10588 10589 10590 10591 10592 10593 10594 set +x 10595 $at_times_p && times >"$at_times_file" 10596 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 10597 read at_status <"$at_status_file" 10598 #AT_STOP_38 10599 #AT_START_39 10600 at_fn_group_banner 39 'named-refs.at:21' \ 10601 "Tutorial calculator" " " 2 10602 at_xfail=no 10603 ( 10604 $as_echo "39. $at_setup_line: testing $at_desc ..." 10605 $at_traceon 10606 10607 10608 cat >test.y <<'_ATEOF' 10609 %code top { 10610 #include <config.h> 10611 /* We don't need perfect functions for these tests. */ 10612 #undef malloc 10613 #undef memcmp 10614 #undef realloc 10615 } 10616 10617 10618 %{ 10619 #include <assert.h> 10620 #include <stdio.h> 10621 #include <stdlib.h> 10622 #include <string.h> 10623 #include <ctype.h> 10624 typedef int semantic_value; 10625 FILE *input; 10626 static semantic_value global_result = 0; 10627 static int global_count = 0; 10628 static int power (int base, int exponent); 10629 static void yyerror ( const char *msg); 10630 static int yylex (void); 10631 %} 10632 10633 %union 10634 { 10635 semantic_value ival; 10636 }; 10637 10638 %token CALC_EOF 0 "end of input" 10639 %token <ival> NUM "number" 10640 %type <ival> exp 10641 10642 %nonassoc '=' /* comparison */ 10643 %left '-' '+' 10644 %left '*' '/' 10645 %left NEG /* negation--unary minus */ 10646 %right '^' /* exponentiation */ 10647 10648 %% 10649 input: 10650 line 10651 | input line {} 10652 ; 10653 10654 line: 10655 '\n' 10656 | exp '\n' {} 10657 ; 10658 10659 exp: 10660 NUM { $$ = $NUM; } 10661 | exp[l] '=' exp[r] 10662 { 10663 if ($l != $r) 10664 fprintf (stderr, "calc: error: %d != %d\n", $l, $r); 10665 $$ = $l; 10666 } 10667 | exp[x] '+' { $<ival>$ = $x; } [l] exp[r] { $$ = $<ival>l + $r; } 10668 | exp[l] '-' exp[r] { $$ = $l - $r; } 10669 | exp[l] '*' exp[r] { $$ = $l * $r; } 10670 | exp[l] '/' exp[r] { $$ = $l / $r; } 10671 | '-' exp %prec NEG { $$ = -$2; } 10672 | exp[l] '^' exp[r] { $$ = power ($l, $r); } 10673 | '(' exp[e] ')' { $$ = $e; } 10674 | '(' error ')' { $$ = 1111; yyerrok; } 10675 | '!' { $$ = 0; YYERROR; } 10676 | '-' error { $$ = 0; YYERROR; } 10677 ; 10678 %% 10679 #include <stdio.h> 10680 /* A C error reporting function. */ 10681 static 10682 void yyerror ( const char *msg) 10683 { 10684 fprintf (stderr, "%s\n", msg); 10685 } 10686 static int get_char (void) 10687 { 10688 int res = getc (input); 10689 return res; 10690 } 10691 10692 static void unget_char (int c) 10693 { 10694 ungetc (c, input); 10695 } 10696 10697 static int read_signed_integer (void) 10698 { 10699 int c = get_char (); 10700 int sign = 1; 10701 int n = 0; 10702 if (c == '-') 10703 { 10704 c = get_char (); 10705 sign = -1; 10706 } 10707 while (isdigit (c)) 10708 { 10709 n = 10 * n + (c - '0'); 10710 c = get_char (); 10711 } 10712 unget_char ( c); 10713 return sign * n; 10714 } 10715 10716 static int 10717 yylex (void) 10718 { 10719 int c; 10720 /* Skip white space. */ 10721 while ((c = get_char ()) == ' ' || c == '\t') {} 10722 10723 /* process numbers */ 10724 if (c == '.' || isdigit (c)) 10725 { 10726 unget_char ( c); 10727 (yylval).ival = read_signed_integer (); 10728 return NUM; 10729 } 10730 10731 /* Return end-of-file. */ 10732 if (c == EOF) 10733 return CALC_EOF; 10734 10735 /* Return single chars. */ 10736 return c; 10737 } 10738 10739 static int power (int base, int exponent) 10740 { 10741 int res = 1; 10742 assert (0 <= exponent); 10743 for (/* Niente */; exponent; --exponent) 10744 res *= base; 10745 return res; 10746 } 10747 10748 int main (int argc, const char **argv) 10749 { 10750 semantic_value result = 0; 10751 int count = 0; 10752 int status; 10753 if (argc == 2) 10754 input = fopen (argv[1], "r"); 10755 else 10756 input = stdin; 10757 if (!input) 10758 { 10759 perror (argv[1]); 10760 return 3; 10761 } 10762 status = yyparse (); 10763 fclose (input); 10764 assert (global_result == result); 10765 assert (global_count == count); 10766 return status; 10767 } 10768 _ATEOF 10769 10770 10771 10772 cat >input.txt <<'_ATEOF' 10773 10774 1 + 2 * 3 = 7 10775 1 + 2 * -3 = -5 10776 -1^2 = -1 10777 (-1)^2 = 1 10778 ---1 = -1 10779 1 - 2 - 3 = -4 10780 1 - (2 - 3) = 2 10781 2^2^3 = 256 10782 (2^2)^3 = 64 10783 _ATEOF 10784 10785 10786 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 10787 at_save_special_files 10788 mkdir xml-tests 10789 # Don't combine these Bison invocations since we want to be sure that 10790 # --report=all isn't required to get the full XML file. 10791 { set +x 10792 $as_echo "$at_srcdir/named-refs.at:184: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 10793 --graph=xml-tests/test.dot -o test.c test.y" 10794 at_fn_check_prepare_notrace 'an embedded newline' "named-refs.at:184" 10795 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 10796 --graph=xml-tests/test.dot -o test.c test.y 10797 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10798 at_status=$? at_failed=false 10799 $at_check_filter 10800 echo stderr:; cat "$at_stderr" 10801 echo stdout:; cat "$at_stdout" 10802 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:184" 10803 $at_failed && at_fn_log_failure 10804 $at_traceon; } 10805 10806 { set +x 10807 $as_echo "$at_srcdir/named-refs.at:184: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o test.c test.y" 10808 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o test.c test.y" "named-refs.at:184" 10809 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o test.c test.y 10810 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10811 at_status=$? at_failed=false 10812 $at_check_filter 10813 echo stderr:; cat "$at_stderr" 10814 echo stdout:; cat "$at_stdout" 10815 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:184" 10816 $at_failed && at_fn_log_failure 10817 $at_traceon; } 10818 10819 cp xml-tests/test.output expout 10820 { set +x 10821 $as_echo "$at_srcdir/named-refs.at:184: \$XSLTPROC \\ 10822 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 10823 xml-tests/test.xml" 10824 at_fn_check_prepare_notrace 'a `...` command substitution' "named-refs.at:184" 10825 ( $at_check_trace; $XSLTPROC \ 10826 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 10827 xml-tests/test.xml 10828 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10829 at_status=$? at_failed=false 10830 $at_check_filter 10831 at_fn_diff_devnull "$at_stderr" || at_failed=: 10832 $at_diff expout "$at_stdout" || at_failed=: 10833 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:184" 10834 $at_failed && at_fn_log_failure 10835 $at_traceon; } 10836 10837 sort xml-tests/test.dot > expout 10838 { set +x 10839 $as_echo "$at_srcdir/named-refs.at:184: \$XSLTPROC \\ 10840 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 10841 xml-tests/test.xml | sort" 10842 at_fn_check_prepare_notrace 'a `...` command substitution' "named-refs.at:184" 10843 ( $at_check_trace; $XSLTPROC \ 10844 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 10845 xml-tests/test.xml | sort 10846 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10847 at_status=$? at_failed=false 10848 $at_check_filter 10849 at_fn_diff_devnull "$at_stderr" || at_failed=: 10850 $at_diff expout "$at_stdout" || at_failed=: 10851 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:184" 10852 $at_failed && at_fn_log_failure 10853 $at_traceon; } 10854 10855 rm -rf xml-tests expout 10856 at_restore_special_files 10857 fi 10858 { set +x 10859 $as_echo "$at_srcdir/named-refs.at:184: bison -o test.c test.y" 10860 at_fn_check_prepare_trace "named-refs.at:184" 10861 ( $at_check_trace; bison -o test.c test.y 10862 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10863 at_status=$? at_failed=false 10864 $at_check_filter 10865 at_fn_diff_devnull "$at_stderr" || at_failed=: 10866 at_fn_diff_devnull "$at_stdout" || at_failed=: 10867 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:184" 10868 $at_failed && at_fn_log_failure 10869 $at_traceon; } 10870 10871 10872 { set +x 10873 $as_echo "$at_srcdir/named-refs.at:185: \$BISON_C_WORKS" 10874 at_fn_check_prepare_dynamic "$BISON_C_WORKS" "named-refs.at:185" 10875 ( $at_check_trace; $BISON_C_WORKS 10876 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10877 at_status=$? at_failed=false 10878 $at_check_filter 10879 echo stderr:; cat "$at_stderr" 10880 echo stdout:; cat "$at_stdout" 10881 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:185" 10882 $at_failed && at_fn_log_failure 10883 $at_traceon; } 10884 10885 { set +x 10886 $as_echo "$at_srcdir/named-refs.at:185: \$CC \$CFLAGS \$CPPFLAGS \$LDFLAGS -o test test.c \$LIBS" 10887 at_fn_check_prepare_dynamic "$CC $CFLAGS $CPPFLAGS $LDFLAGS -o test test.c $LIBS" "named-refs.at:185" 10888 ( $at_check_trace; $CC $CFLAGS $CPPFLAGS $LDFLAGS -o test test.c $LIBS 10889 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10890 at_status=$? at_failed=false 10891 $at_check_filter 10892 echo stderr:; cat "$at_stderr" 10893 echo stdout:; cat "$at_stdout" 10894 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:185" 10895 $at_failed && at_fn_log_failure 10896 $at_traceon; } 10897 10898 { set +x 10899 $as_echo "$at_srcdir/named-refs.at:186: \$PREPARSER ./test input.txt" 10900 at_fn_check_prepare_dynamic " $PREPARSER ./test input.txt" "named-refs.at:186" 10901 ( $at_check_trace; $PREPARSER ./test input.txt 10902 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10903 at_status=$? at_failed=false 10904 $at_check_filter 10905 echo stderr:; tee stderr <"$at_stderr" 10906 at_fn_diff_devnull "$at_stdout" || at_failed=: 10907 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:186" 10908 $at_failed && at_fn_log_failure 10909 $at_traceon; } 10910 10911 { set +x 10912 $as_echo "$at_srcdir/named-refs.at:186: sed >&2 -e '/^profiling:.*:Merge mismatch for summaries/d' stderr" 10913 at_fn_check_prepare_trace "named-refs.at:186" 10914 ( $at_check_trace; sed >&2 -e '/^profiling:.*:Merge mismatch for summaries/d' stderr 10915 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 10916 at_status=$? at_failed=false 10917 $at_check_filter 10918 echo stderr:; tee stderr <"$at_stderr" 10919 at_fn_diff_devnull "$at_stdout" || at_failed=: 10920 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:186" 10921 $at_failed && at_fn_log_failure 10922 $at_traceon; } 10923 10924 10925 10926 set +x 10927 $at_times_p && times >"$at_times_file" 10928 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 10929 read at_status <"$at_status_file" 10930 #AT_STOP_39 10931 #AT_START_40 10932 at_fn_group_banner 40 'named-refs.at:195' \ 10933 "Undefined and ambiguous references" " " 2 10934 at_xfail=no 10935 ( 10936 $as_echo "40. $at_setup_line: testing $at_desc ..." 10937 $at_traceon 10938 10939 10940 cat >test.y <<'_ATEOF' 10941 %code top { 10942 #include <config.h> 10943 /* We don't need perfect functions for these tests. */ 10944 #undef malloc 10945 #undef memcmp 10946 #undef realloc 10947 } 10948 10949 10950 %{ 10951 static int power (int base, int exponent); 10952 static void yyerror ( const char *msg); 10953 static int yylex (void); 10954 %} 10955 10956 %union 10957 { 10958 int ival; 10959 }; 10960 10961 %token CALC_EOF 0 "end of input" 10962 %token <ival> NUM "number" 10963 %type <ival> exp 10964 10965 %nonassoc '=' /* comparison */ 10966 %left '-' '+' 10967 %left '*' '/' 10968 %left NEG /* negation--unary minus */ 10969 %right '^' /* exponentiation */ 10970 10971 %% 10972 input: 10973 line 10974 | input line {} 10975 ; 10976 10977 line: 10978 '\n' 10979 | exp '\n' {} 10980 ; 10981 10982 exp: 10983 NUM { $$ = $NUM; } 10984 | exp[l] '=' exp[r] 10985 { 10986 if ($l != $r) 10987 fprintf (stderr, "calc: error: %d != %d\n", $l, $r); 10988 $$ = $l; 10989 } 10990 | exp[x] '+' { $<ival>$ = $x; } [l] exp[r] { $$ = $<ival>lo9 + $r; } 10991 | exp[x] '-' { $<ival>$ = $x; } [l] exp[r] { $$ = $<ival>exp - $r; } 10992 | exp[x] '*' { $<ival>$ = $x; } [l] exp[r] { $$ = $l * $r; } 10993 | exp[l] '/' exp[r] { $$ = $l / $r; } 10994 | '-' exp %prec NEG { $$ = -$2; } 10995 | exp[l] '^' exp[r] { $$ = power ($l, $r12); } 10996 | '(' exp ')' { $$ = $expo; } 10997 | '(' error ')' { $$ = 1111; yyerrok; } 10998 | '!' { $$ = 0; YYERROR; } 10999 | '-' error { $$ = 0; YYERROR; } 11000 ; 11001 %% 11002 _ATEOF 11003 11004 11005 11006 11007 { set +x 11008 $as_echo "$at_srcdir/named-refs.at:253: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" 11009 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" "named-refs.at:253" 11010 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y 11011 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11012 at_status=$? at_failed=false 11013 $at_check_filter 11014 echo >>"$at_stderr"; $as_echo "test.y:50.51-60: error: invalid reference: '\$<ival>lo9' 11015 test.y:50.3-68: symbol not found in production: lo9 11016 test.y:51.51-60: warning: misleading reference: '\$<ival>exp' 11017 test.y:42.1-3: refers to: \$exp at \$\$ 11018 test.y:51.7: possibly meant: \$x, hiding \$exp at \$1 11019 test.y:51.41: possibly meant: \$r, hiding \$exp at \$4 11020 test.y:52.51-52: error: \$l of 'exp' has no declared type 11021 test.y:55.40-43: error: invalid reference: '\$r12' 11022 test.y:55.3-47: symbol not found in production: r12 11023 test.y:56.29-33: error: invalid reference: '\$expo' 11024 test.y:56.3-46: symbol not found in production: expo 11025 " | \ 11026 $at_diff - "$at_stderr" || at_failed=: 11027 at_fn_diff_devnull "$at_stdout" || at_failed=: 11028 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:253" 11029 $at_failed && at_fn_log_failure 11030 $at_traceon; } 11031 11032 11033 11034 set +x 11035 $at_times_p && times >"$at_times_file" 11036 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 11037 read at_status <"$at_status_file" 11038 #AT_STOP_40 11039 #AT_START_41 11040 at_fn_group_banner 41 'named-refs.at:271' \ 11041 "Misleading references" " " 2 11042 at_xfail=no 11043 ( 11044 $as_echo "41. $at_setup_line: testing $at_desc ..." 11045 $at_traceon 11046 11047 cat >test.y <<'_ATEOF' 11048 %code top { 11049 #include <config.h> 11050 /* We don't need perfect functions for these tests. */ 11051 #undef malloc 11052 #undef memcmp 11053 #undef realloc 11054 } 11055 11056 11057 %% 11058 start: foo foo.bar { $foo.bar; } 11059 foo: '1' 11060 foo.bar: '2' 11061 _ATEOF 11062 11063 11064 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 11065 at_save_special_files 11066 mkdir xml-tests 11067 # Don't combine these Bison invocations since we want to be sure that 11068 # --report=all isn't required to get the full XML file. 11069 { set +x 11070 $as_echo "$at_srcdir/named-refs.at:279: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 11071 --graph=xml-tests/test.dot -o test.c test.y" 11072 at_fn_check_prepare_notrace 'an embedded newline' "named-refs.at:279" 11073 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 11074 --graph=xml-tests/test.dot -o test.c test.y 11075 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11076 at_status=$? at_failed=false 11077 $at_check_filter 11078 echo stderr:; cat "$at_stderr" 11079 echo stdout:; cat "$at_stdout" 11080 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:279" 11081 $at_failed && at_fn_log_failure 11082 $at_traceon; } 11083 11084 { set +x 11085 $as_echo "$at_srcdir/named-refs.at:279: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o test.c test.y" 11086 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o test.c test.y" "named-refs.at:279" 11087 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o test.c test.y 11088 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11089 at_status=$? at_failed=false 11090 $at_check_filter 11091 echo stderr:; cat "$at_stderr" 11092 echo stdout:; cat "$at_stdout" 11093 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:279" 11094 $at_failed && at_fn_log_failure 11095 $at_traceon; } 11096 11097 cp xml-tests/test.output expout 11098 { set +x 11099 $as_echo "$at_srcdir/named-refs.at:279: \$XSLTPROC \\ 11100 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 11101 xml-tests/test.xml" 11102 at_fn_check_prepare_notrace 'a `...` command substitution' "named-refs.at:279" 11103 ( $at_check_trace; $XSLTPROC \ 11104 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 11105 xml-tests/test.xml 11106 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11107 at_status=$? at_failed=false 11108 $at_check_filter 11109 at_fn_diff_devnull "$at_stderr" || at_failed=: 11110 $at_diff expout "$at_stdout" || at_failed=: 11111 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:279" 11112 $at_failed && at_fn_log_failure 11113 $at_traceon; } 11114 11115 sort xml-tests/test.dot > expout 11116 { set +x 11117 $as_echo "$at_srcdir/named-refs.at:279: \$XSLTPROC \\ 11118 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 11119 xml-tests/test.xml | sort" 11120 at_fn_check_prepare_notrace 'a `...` command substitution' "named-refs.at:279" 11121 ( $at_check_trace; $XSLTPROC \ 11122 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 11123 xml-tests/test.xml | sort 11124 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11125 at_status=$? at_failed=false 11126 $at_check_filter 11127 at_fn_diff_devnull "$at_stderr" || at_failed=: 11128 $at_diff expout "$at_stdout" || at_failed=: 11129 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:279" 11130 $at_failed && at_fn_log_failure 11131 $at_traceon; } 11132 11133 rm -rf xml-tests expout 11134 at_restore_special_files 11135 fi 11136 { set +x 11137 $as_echo "$at_srcdir/named-refs.at:279: bison -o test.c test.y" 11138 at_fn_check_prepare_trace "named-refs.at:279" 11139 ( $at_check_trace; bison -o test.c test.y 11140 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11141 at_status=$? at_failed=false 11142 $at_check_filter 11143 echo >>"$at_stderr"; $as_echo "test.y:11.22-29: warning: misleading reference: '\$foo.bar' 11144 test.y:11.8-10: refers to: \$foo at \$1 11145 test.y:11.12-18: possibly meant: \$[foo.bar] at \$2 11146 " | \ 11147 $at_diff - "$at_stderr" || at_failed=: 11148 at_fn_diff_devnull "$at_stdout" || at_failed=: 11149 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:279" 11150 $at_failed && at_fn_log_failure 11151 $at_traceon; } 11152 11153 # Defining POSIXLY_CORRECT causes bison to complain if options are 11154 # added after the grammar file name, so skip these checks in that 11155 # case. 11156 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 11157 at_save_special_files 11158 11159 # To avoid expanding it repeatedly, store specified stdout. 11160 : >expout 11161 11162 # Run with -Werror. 11163 { set +x 11164 $as_echo "$at_srcdir/named-refs.at:279: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y -Werror" 11165 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y -Werror" "named-refs.at:279" 11166 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y -Werror 11167 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11168 at_status=$? at_failed=false 11169 $at_check_filter 11170 echo stderr:; tee stderr <"$at_stderr" 11171 $at_diff expout "$at_stdout" || at_failed=: 11172 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:279" 11173 $at_failed && at_fn_log_failure 11174 $at_traceon; } 11175 11176 11177 # Build expected stderr up to and including the "warnings being 11178 # treated as errors" message. 11179 cat >at-bison-check-warnings <<'_ATEOF' 11180 test.y:11.22-29: warning: misleading reference: '$foo.bar' 11181 test.y:11.8-10: refers to: $foo at $1 11182 test.y:11.12-18: possibly meant: $[foo.bar] at $2 11183 _ATEOF 11184 11185 at_bison_check_first=`sed -n \ 11186 '/: warning: /{=;q;}' at-bison-check-warnings` 11187 : ${at_bison_check_first:=1} 11188 at_bison_check_first_tmp=`sed -n \ 11189 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 11190 : ${at_bison_check_first_tmp:=1} 11191 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 11192 at_bison_check_first=$at_bison_check_first_tmp 11193 fi 11194 if test $at_bison_check_first -gt 1; then 11195 sed -n "1,`expr $at_bison_check_first - 1`"p \ 11196 at-bison-check-warnings > experr 11197 fi 11198 echo 'bison: warnings being treated as errors' >> experr 11199 11200 # Finish building expected stderr and check. Unlike warnings, 11201 # complaints cause bison to exit early. Thus, with -Werror, bison 11202 # does not necessarily report all warnings that it does without 11203 # -Werror, but it at least reports one. 11204 at_bison_check_last=`sed -n '$=' stderr` 11205 : ${at_bison_check_last:=1} 11206 at_bison_check_last=`expr $at_bison_check_last - 1` 11207 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 11208 at-bison-check-warnings >> experr 11209 { set +x 11210 $as_echo "$at_srcdir/named-refs.at:279: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 11211 stderr 1>&2" 11212 at_fn_check_prepare_notrace 'an embedded newline' "named-refs.at:279" 11213 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 11214 stderr 1>&2 11215 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11216 at_status=$? at_failed=false 11217 $at_check_filter 11218 $at_diff experr "$at_stderr" || at_failed=: 11219 at_fn_diff_devnull "$at_stdout" || at_failed=: 11220 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:279" 11221 $at_failed && at_fn_log_failure 11222 $at_traceon; } 11223 11224 11225 # Now check --warnings=error. 11226 cp stderr experr 11227 { set +x 11228 $as_echo "$at_srcdir/named-refs.at:279: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y --warnings=error" 11229 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y --warnings=error" "named-refs.at:279" 11230 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y --warnings=error 11231 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11232 at_status=$? at_failed=false 11233 $at_check_filter 11234 $at_diff experr "$at_stderr" || at_failed=: 11235 $at_diff expout "$at_stdout" || at_failed=: 11236 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:279" 11237 $at_failed && at_fn_log_failure 11238 $at_traceon; } 11239 11240 11241 # Now check -Wnone and --warnings=none by making sure that 11242 # -Werror doesn't change the exit status when -Wnone or 11243 # --warnings=none is specified. 11244 { set +x 11245 $as_echo "$at_srcdir/named-refs.at:279: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y -Wnone -Werror" 11246 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y -Wnone -Werror" "named-refs.at:279" 11247 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y -Wnone -Werror 11248 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11249 at_status=$? at_failed=false 11250 $at_check_filter 11251 at_fn_diff_devnull "$at_stderr" || at_failed=: 11252 $at_diff expout "$at_stdout" || at_failed=: 11253 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:279" 11254 $at_failed && at_fn_log_failure 11255 $at_traceon; } 11256 11257 { set +x 11258 $as_echo "$at_srcdir/named-refs.at:279: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y --warnings=none -Werror" 11259 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y --warnings=none -Werror" "named-refs.at:279" 11260 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y --warnings=none -Werror 11261 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11262 at_status=$? at_failed=false 11263 $at_check_filter 11264 at_fn_diff_devnull "$at_stderr" || at_failed=: 11265 $at_diff expout "$at_stdout" || at_failed=: 11266 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:279" 11267 $at_failed && at_fn_log_failure 11268 $at_traceon; } 11269 11270 11271 at_restore_special_files 11272 fi 11273 set +x 11274 $at_times_p && times >"$at_times_file" 11275 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 11276 read at_status <"$at_status_file" 11277 #AT_STOP_41 11278 #AT_START_42 11279 at_fn_group_banner 42 'named-refs.at:288' \ 11280 "Many kinds of errors" " " 2 11281 at_xfail=no 11282 ( 11283 $as_echo "42. $at_setup_line: testing $at_desc ..." 11284 $at_traceon 11285 11286 cat >test.y <<'_ATEOF' 11287 %code top { 11288 #include <config.h> 11289 /* We don't need perfect functions for these tests. */ 11290 #undef malloc 11291 #undef memcmp 11292 #undef realloc 11293 } 11294 11295 11296 %token IDENT 11297 %token NUMBER 11298 %token ASSIGNOP 11299 %token IF 11300 %token IF1 11301 %token THEN 11302 %token ELSE 11303 %token FI 11304 %token WHILE 11305 %token DO 11306 %token OD 11307 %start program 11308 %% 11309 if_stmt1: IF expr[cond] THEN stmt[then] ELSE stmt.list[else] FI 11310 { $if_stmt1 = new IfStmt($cond1, $then.f1, $else); }; 11311 if_stmt2: IF expr[cond] THEN stmt[then] FI 11312 { $if_stmt2 = new IfStmt($cond, $stmt.field, 0); }; 11313 if_stmt3: IF expr[cond] THEN stmt.list FI 11314 { $if_stmt3 = new IfStmt($cond, $stmt.list, 0); }; 11315 if_stmt4: IF expr[cond] THEN stmt[xyz] ELSE stmt[xyz] FI 11316 { $if_stmt4 = new IfStmt($cond, $xyz, $cond); }; 11317 if_stmt5: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11318 { $if_stmt5 = new IfStmt($cond, $stmt.list, $else); }; 11319 if_stmt6: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11320 { $if_stmt6 = new IfStmt($cond, $stmt.list.field, $else); }; 11321 if_stmt7: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11322 { $if_stmt7 = new IfStmt($cond, $[stmt.list].field, $else); }; 11323 if_stmt8: IF expr[cond] THEN stmt.list[then.1] ELSE stmt.list[else] FI 11324 { $if_stmt8 = new IfStmt($cond, $then.1, $else); }; 11325 if_stmt9: IF expr[cond] THEN stmt.list[then.1] ELSE stmt.list[else] FI 11326 { $if_stmt9 = new IfStmt($cond, $then.1.field, $else); }; 11327 if_stmt10: IF expr[cond] THEN stmt[stmt.x] FI 11328 { $if_stmt10 = new IfStmt($cond, $stmt.x, 0); }; 11329 if-stmt-a: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11330 { $if-stmt-a = new IfStmt($cond, $then, $else); }; 11331 if-stmt-b: IF expr[cond] THEN if-stmt-a[then-a] ELSE stmt.list[else] FI 11332 { $[if-stmt-b] = new IfStmt($cond, $then-a.f, $else); }; 11333 program: stmt.list; 11334 stmt.list: stmt ';' stmt.list { $3->insert($stmt); $$ = $3; } 11335 | stmt ';' { SL = new StmtList(); SL->insert($1); $$ = SL; } 11336 ; 11337 stmt: assign_stmt { $$ = $1; } 11338 | if_stmt { $$ = $1; } 11339 | if_stmt1 { $$ = $1; } 11340 | while_stmt { $$ = $1; } 11341 ; 11342 assign_stmt: IDENT ASSIGNOP expr 11343 { $$ = new AssignStmt(string($1),$3); }; 11344 if_stmt: IF expr[cond] THEN stmt.list FI 11345 { $if_stmt = new IfStmt($cond, $[stmt.list], 0); }; 11346 while_stmt[res]: WHILE expr DO stmt.list OD 11347 { $res = new WhileStmt($[expr], $[stmt.list]); }; 11348 expr: expr '+' term { $$ = new Plus($1,$3); } 11349 | expr '-' term { $$ = new Minus($1,$3); } 11350 | term { $$ = $1; } 11351 ; 11352 term: term '*' factor { $$ = new Times($1,$3); } 11353 | factor { $$ = $1; } 11354 ; 11355 factor: '(' expr ')' { $$ = $2; } 11356 | NUMBER { $$ = new Number($1); } 11357 | IDENT { $$ = new Ident(string($1)); } 11358 ; 11359 _ATEOF 11360 11361 11362 11363 { set +x 11364 $as_echo "$at_srcdir/named-refs.at:355: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" 11365 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" "named-refs.at:355" 11366 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y 11367 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11368 at_status=$? at_failed=false 11369 $at_check_filter 11370 echo >>"$at_stderr"; $as_echo "test.y:24.36-41: error: invalid reference: '\$cond1' 11371 test.y:23.11-24.62: symbol not found in production: cond1 11372 test.y:26.43-53: error: invalid reference: '\$stmt.field' 11373 test.y:25.11-26.60: symbol not found in production: stmt 11374 test.y:25.35-38: possibly meant: \$then.field, hiding \$stmt.field at \$4 11375 test.y:28.43-52: error: invalid reference: '\$stmt.list' 11376 test.y:27.11-28.59: symbol not found in production: stmt 11377 test.y:27.30-38: possibly meant: \$[stmt.list] at \$4 11378 test.y:30.43-46: error: ambiguous reference: '\$xyz' 11379 test.y:29.35-37: refers to: \$xyz at \$4 11380 test.y:29.50-52: refers to: \$xyz at \$6 11381 test.y:32.43-52: error: invalid reference: '\$stmt.list' 11382 test.y:31.11-32.63: symbol not found in production: stmt 11383 test.y:31.40-43: possibly meant: \$then, hiding \$[stmt.list] at \$4 11384 test.y:31.61-64: possibly meant: \$else, hiding \$[stmt.list] at \$6 11385 test.y:34.43-58: error: invalid reference: '\$stmt.list.field' 11386 test.y:33.11-34.69: symbol not found in production: stmt 11387 test.y:33.40-43: possibly meant: \$then.field, hiding \$[stmt.list].field at \$4 11388 test.y:33.61-64: possibly meant: \$else.field, hiding \$[stmt.list].field at \$6 11389 test.y:36.43-54: error: invalid reference: '\$[stmt.list]' 11390 test.y:35.11-36.71: symbol not found in production: stmt.list 11391 test.y:35.40-43: possibly meant: \$then, hiding \$[stmt.list] at \$4 11392 test.y:35.61-64: possibly meant: \$else, hiding \$[stmt.list] at \$6 11393 test.y:38.43-49: error: invalid reference: '\$then.1' 11394 test.y:37.11-38.60: symbol not found in production: then 11395 test.y:37.40-45: possibly meant: \$[then.1] at \$4 11396 test.y:40.43-55: error: invalid reference: '\$then.1.field' 11397 test.y:39.11-40.66: symbol not found in production: then 11398 test.y:39.40-45: possibly meant: \$[then.1].field at \$4 11399 test.y:42.44-50: error: invalid reference: '\$stmt.x' 11400 test.y:41.12-42.57: symbol not found in production: stmt 11401 test.y:41.36-41: possibly meant: \$[stmt.x].x, hiding \$stmt.x at \$4 11402 test.y:41.36-41: possibly meant: \$[stmt.x] at \$4 11403 test.y:44.13-22: error: invalid reference: '\$if-stmt-a' 11404 test.y:43.12-44.59: symbol not found in production: if 11405 test.y:43.1-9: possibly meant: \$[if-stmt-a] at \$\$ 11406 test.y:46.46-54: error: invalid reference: '\$then-a.f' 11407 test.y:45.12-46.65: symbol not found in production: then 11408 test.y:45.41-46: possibly meant: \$[then-a].f at \$4 11409 " | \ 11410 $at_diff - "$at_stderr" || at_failed=: 11411 at_fn_diff_devnull "$at_stdout" || at_failed=: 11412 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:355" 11413 $at_failed && at_fn_log_failure 11414 $at_traceon; } 11415 11416 11417 11418 11419 { set +x 11420 $as_echo "$at_srcdir/named-refs.at:397: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret -o test.c test.y" 11421 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -fcaret -o test.c test.y" "named-refs.at:397" 11422 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -fcaret -o test.c test.y 11423 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11424 at_status=$? at_failed=false 11425 $at_check_filter 11426 echo >>"$at_stderr"; $as_echo "test.y:24.36-41: error: invalid reference: '\$cond1' 11427 { \$if_stmt1 = new IfStmt(\$cond1, \$then.f1, \$else); }; 11428 ^^^^^^ 11429 test.y:23.11-24.62: symbol not found in production: cond1 11430 if_stmt1: IF expr[cond] THEN stmt[then] ELSE stmt.list[else] FI 11431 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11432 test.y:26.43-53: error: invalid reference: '\$stmt.field' 11433 { \$if_stmt2 = new IfStmt(\$cond, \$stmt.field, 0); }; 11434 ^^^^^^^^^^^ 11435 test.y:25.11-26.60: symbol not found in production: stmt 11436 if_stmt2: IF expr[cond] THEN stmt[then] FI 11437 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11438 test.y:25.35-38: possibly meant: \$then.field, hiding \$stmt.field at \$4 11439 if_stmt2: IF expr[cond] THEN stmt[then] FI 11440 ^^^^ 11441 test.y:28.43-52: error: invalid reference: '\$stmt.list' 11442 { \$if_stmt3 = new IfStmt(\$cond, \$stmt.list, 0); }; 11443 ^^^^^^^^^^ 11444 test.y:27.11-28.59: symbol not found in production: stmt 11445 if_stmt3: IF expr[cond] THEN stmt.list FI 11446 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11447 test.y:27.30-38: possibly meant: \$[stmt.list] at \$4 11448 if_stmt3: IF expr[cond] THEN stmt.list FI 11449 ^^^^^^^^^ 11450 test.y:30.43-46: error: ambiguous reference: '\$xyz' 11451 { \$if_stmt4 = new IfStmt(\$cond, \$xyz, \$cond); }; 11452 ^^^^ 11453 test.y:29.35-37: refers to: \$xyz at \$4 11454 if_stmt4: IF expr[cond] THEN stmt[xyz] ELSE stmt[xyz] FI 11455 ^^^ 11456 test.y:29.50-52: refers to: \$xyz at \$6 11457 if_stmt4: IF expr[cond] THEN stmt[xyz] ELSE stmt[xyz] FI 11458 ^^^ 11459 test.y:32.43-52: error: invalid reference: '\$stmt.list' 11460 { \$if_stmt5 = new IfStmt(\$cond, \$stmt.list, \$else); }; 11461 ^^^^^^^^^^ 11462 test.y:31.11-32.63: symbol not found in production: stmt 11463 if_stmt5: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11464 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11465 test.y:31.40-43: possibly meant: \$then, hiding \$[stmt.list] at \$4 11466 if_stmt5: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11467 ^^^^ 11468 test.y:31.61-64: possibly meant: \$else, hiding \$[stmt.list] at \$6 11469 if_stmt5: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11470 ^^^^ 11471 test.y:34.43-58: error: invalid reference: '\$stmt.list.field' 11472 { \$if_stmt6 = new IfStmt(\$cond, \$stmt.list.field, \$else); }; 11473 ^^^^^^^^^^^^^^^^ 11474 test.y:33.11-34.69: symbol not found in production: stmt 11475 if_stmt6: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11476 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11477 test.y:33.40-43: possibly meant: \$then.field, hiding \$[stmt.list].field at \$4 11478 if_stmt6: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11479 ^^^^ 11480 test.y:33.61-64: possibly meant: \$else.field, hiding \$[stmt.list].field at \$6 11481 if_stmt6: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11482 ^^^^ 11483 test.y:36.43-54: error: invalid reference: '\$[stmt.list]' 11484 { \$if_stmt7 = new IfStmt(\$cond, \$[stmt.list].field, \$else); }; 11485 ^^^^^^^^^^^^ 11486 test.y:35.11-36.71: symbol not found in production: stmt.list 11487 if_stmt7: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11488 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11489 test.y:35.40-43: possibly meant: \$then, hiding \$[stmt.list] at \$4 11490 if_stmt7: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11491 ^^^^ 11492 test.y:35.61-64: possibly meant: \$else, hiding \$[stmt.list] at \$6 11493 if_stmt7: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11494 ^^^^ 11495 test.y:38.43-49: error: invalid reference: '\$then.1' 11496 { \$if_stmt8 = new IfStmt(\$cond, \$then.1, \$else); }; 11497 ^^^^^^^ 11498 test.y:37.11-38.60: symbol not found in production: then 11499 if_stmt8: IF expr[cond] THEN stmt.list[then.1] ELSE stmt.list[else] FI 11500 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11501 test.y:37.40-45: possibly meant: \$[then.1] at \$4 11502 if_stmt8: IF expr[cond] THEN stmt.list[then.1] ELSE stmt.list[else] FI 11503 ^^^^^^ 11504 test.y:40.43-55: error: invalid reference: '\$then.1.field' 11505 { \$if_stmt9 = new IfStmt(\$cond, \$then.1.field, \$else); }; 11506 ^^^^^^^^^^^^^ 11507 test.y:39.11-40.66: symbol not found in production: then 11508 if_stmt9: IF expr[cond] THEN stmt.list[then.1] ELSE stmt.list[else] FI 11509 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11510 test.y:39.40-45: possibly meant: \$[then.1].field at \$4 11511 if_stmt9: IF expr[cond] THEN stmt.list[then.1] ELSE stmt.list[else] FI 11512 ^^^^^^ 11513 test.y:42.44-50: error: invalid reference: '\$stmt.x' 11514 { \$if_stmt10 = new IfStmt(\$cond, \$stmt.x, 0); }; 11515 ^^^^^^^ 11516 test.y:41.12-42.57: symbol not found in production: stmt 11517 if_stmt10: IF expr[cond] THEN stmt[stmt.x] FI 11518 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11519 test.y:41.36-41: possibly meant: \$[stmt.x].x, hiding \$stmt.x at \$4 11520 if_stmt10: IF expr[cond] THEN stmt[stmt.x] FI 11521 ^^^^^^ 11522 test.y:41.36-41: possibly meant: \$[stmt.x] at \$4 11523 if_stmt10: IF expr[cond] THEN stmt[stmt.x] FI 11524 ^^^^^^ 11525 test.y:44.13-22: error: invalid reference: '\$if-stmt-a' 11526 { \$if-stmt-a = new IfStmt(\$cond, \$then, \$else); }; 11527 ^^^^^^^^^^ 11528 test.y:43.12-44.59: symbol not found in production: if 11529 if-stmt-a: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11530 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11531 test.y:43.1-9: possibly meant: \$[if-stmt-a] at \$\$ 11532 if-stmt-a: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI 11533 ^^^^^^^^^ 11534 test.y:46.46-54: error: invalid reference: '\$then-a.f' 11535 { \$[if-stmt-b] = new IfStmt(\$cond, \$then-a.f, \$else); }; 11536 ^^^^^^^^^ 11537 test.y:45.12-46.65: symbol not found in production: then 11538 if-stmt-b: IF expr[cond] THEN if-stmt-a[then-a] ELSE stmt.list[else] FI 11539 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11540 test.y:45.41-46: possibly meant: \$[then-a].f at \$4 11541 if-stmt-b: IF expr[cond] THEN if-stmt-a[then-a] ELSE stmt.list[else] FI 11542 ^^^^^^ 11543 " | \ 11544 $at_diff - "$at_stderr" || at_failed=: 11545 at_fn_diff_devnull "$at_stdout" || at_failed=: 11546 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:397" 11547 $at_failed && at_fn_log_failure 11548 $at_traceon; } 11549 11550 11551 11552 set +x 11553 $at_times_p && times >"$at_times_file" 11554 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 11555 read at_status <"$at_status_file" 11556 #AT_STOP_42 11557 #AT_START_43 11558 at_fn_group_banner 43 'named-refs.at:521' \ 11559 "Missing identifiers in brackets" " " 2 11560 at_xfail=no 11561 ( 11562 $as_echo "43. $at_setup_line: testing $at_desc ..." 11563 $at_traceon 11564 11565 cat >test.y <<'_ATEOF' 11566 %code top { 11567 #include <config.h> 11568 /* We don't need perfect functions for these tests. */ 11569 #undef malloc 11570 #undef memcmp 11571 #undef realloc 11572 } 11573 11574 11575 %% 11576 start: foo[] bar 11577 { s = $foo; } 11578 _ATEOF 11579 11580 11581 11582 { set +x 11583 $as_echo "$at_srcdir/named-refs.at:528: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" 11584 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" "named-refs.at:528" 11585 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y 11586 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11587 at_status=$? at_failed=false 11588 $at_check_filter 11589 echo >>"$at_stderr"; $as_echo "test.y:11.12: error: an identifier expected 11590 " | \ 11591 $at_diff - "$at_stderr" || at_failed=: 11592 at_fn_diff_devnull "$at_stdout" || at_failed=: 11593 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:528" 11594 $at_failed && at_fn_log_failure 11595 $at_traceon; } 11596 11597 11598 set +x 11599 $at_times_p && times >"$at_times_file" 11600 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 11601 read at_status <"$at_status_file" 11602 #AT_STOP_43 11603 #AT_START_44 11604 at_fn_group_banner 44 'named-refs.at:535' \ 11605 "Redundant words in brackets" " " 2 11606 at_xfail=no 11607 ( 11608 $as_echo "44. $at_setup_line: testing $at_desc ..." 11609 $at_traceon 11610 11611 cat >test.y <<'_ATEOF' 11612 %code top { 11613 #include <config.h> 11614 /* We don't need perfect functions for these tests. */ 11615 #undef malloc 11616 #undef memcmp 11617 #undef realloc 11618 } 11619 11620 11621 %% 11622 start: foo[ a d ] bar 11623 { s = $foo; } 11624 _ATEOF 11625 11626 11627 11628 { set +x 11629 $as_echo "$at_srcdir/named-refs.at:542: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" 11630 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" "named-refs.at:542" 11631 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y 11632 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11633 at_status=$? at_failed=false 11634 $at_check_filter 11635 echo >>"$at_stderr"; $as_echo "test.y:11.15: error: unexpected identifier in bracketed name: 'd' 11636 " | \ 11637 $at_diff - "$at_stderr" || at_failed=: 11638 at_fn_diff_devnull "$at_stdout" || at_failed=: 11639 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:542" 11640 $at_failed && at_fn_log_failure 11641 $at_traceon; } 11642 11643 11644 set +x 11645 $at_times_p && times >"$at_times_file" 11646 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 11647 read at_status <"$at_status_file" 11648 #AT_STOP_44 11649 #AT_START_45 11650 at_fn_group_banner 45 'named-refs.at:549' \ 11651 "Comments in brackets" " " 2 11652 at_xfail=no 11653 ( 11654 $as_echo "45. $at_setup_line: testing $at_desc ..." 11655 $at_traceon 11656 11657 cat >test.y <<'_ATEOF' 11658 %code top { 11659 #include <config.h> 11660 /* We don't need perfect functions for these tests. */ 11661 #undef malloc 11662 #undef memcmp 11663 #undef realloc 11664 } 11665 11666 11667 %% 11668 start: foo[/* comment */] bar 11669 { s = $foo; } 11670 _ATEOF 11671 11672 11673 11674 { set +x 11675 $as_echo "$at_srcdir/named-refs.at:556: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" 11676 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" "named-refs.at:556" 11677 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y 11678 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11679 at_status=$? at_failed=false 11680 $at_check_filter 11681 echo >>"$at_stderr"; $as_echo "test.y:11.25: error: an identifier expected 11682 " | \ 11683 $at_diff - "$at_stderr" || at_failed=: 11684 at_fn_diff_devnull "$at_stdout" || at_failed=: 11685 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:556" 11686 $at_failed && at_fn_log_failure 11687 $at_traceon; } 11688 11689 11690 set +x 11691 $at_times_p && times >"$at_times_file" 11692 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 11693 read at_status <"$at_status_file" 11694 #AT_STOP_45 11695 #AT_START_46 11696 at_fn_group_banner 46 'named-refs.at:563' \ 11697 "Stray symbols in brackets" " " 2 11698 at_xfail=no 11699 ( 11700 $as_echo "46. $at_setup_line: testing $at_desc ..." 11701 $at_traceon 11702 11703 cat >test.y <<'_ATEOF' 11704 %code top { 11705 #include <config.h> 11706 /* We don't need perfect functions for these tests. */ 11707 #undef malloc 11708 #undef memcmp 11709 #undef realloc 11710 } 11711 11712 11713 %% 11714 start: foo[ % /* aaa */ *&-.+\000\001\002\377 ] bar 11715 { s = $foo; } 11716 _ATEOF 11717 11718 11719 { set +x 11720 $as_echo "$at_srcdir/named-refs.at:570: \$PERL -pi -e 's/\\\\(\\d{3})/chr(oct(\$1))/ge' test.y || exit 77" 11721 at_fn_check_prepare_dynamic "$PERL -pi -e 's/\\\\(\\d{3})/chr(oct($1))/ge' test.y || exit 77" "named-refs.at:570" 11722 ( $at_check_trace; $PERL -pi -e 's/\\(\d{3})/chr(oct($1))/ge' test.y || exit 77 11723 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11724 at_status=$? at_failed=false 11725 $at_check_filter 11726 at_fn_diff_devnull "$at_stderr" || at_failed=: 11727 at_fn_diff_devnull "$at_stdout" || at_failed=: 11728 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:570" 11729 $at_failed && at_fn_log_failure 11730 $at_traceon; } 11731 11732 11733 { set +x 11734 $as_echo "$at_srcdir/named-refs.at:571: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" 11735 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" "named-refs.at:571" 11736 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y 11737 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11738 at_status=$? at_failed=false 11739 $at_check_filter 11740 echo >>"$at_stderr"; $as_echo "test.y:11.13: error: invalid character in bracketed name: '%' 11741 test.y:11.25-27: error: invalid characters in bracketed name: '*&-' 11742 test.y:11.29-30: error: invalid characters in bracketed name: '+\\0\\001\\002\\377' 11743 " | \ 11744 $at_diff - "$at_stderr" || at_failed=: 11745 at_fn_diff_devnull "$at_stdout" || at_failed=: 11746 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:571" 11747 $at_failed && at_fn_log_failure 11748 $at_traceon; } 11749 11750 11751 set +x 11752 $at_times_p && times >"$at_times_file" 11753 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 11754 read at_status <"$at_status_file" 11755 #AT_STOP_46 11756 #AT_START_47 11757 at_fn_group_banner 47 'named-refs.at:580' \ 11758 "Redundant words in LHS brackets" " " 2 11759 at_xfail=no 11760 ( 11761 $as_echo "47. $at_setup_line: testing $at_desc ..." 11762 $at_traceon 11763 11764 cat >test.y <<'_ATEOF' 11765 %code top { 11766 #include <config.h> 11767 /* We don't need perfect functions for these tests. */ 11768 #undef malloc 11769 #undef memcmp 11770 #undef realloc 11771 } 11772 11773 11774 %% 11775 start[a s]: foo; 11776 _ATEOF 11777 11778 11779 11780 { set +x 11781 $as_echo "$at_srcdir/named-refs.at:586: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" 11782 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" "named-refs.at:586" 11783 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y 11784 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11785 at_status=$? at_failed=false 11786 $at_check_filter 11787 echo >>"$at_stderr"; $as_echo "test.y:11.9: error: unexpected identifier in bracketed name: 's' 11788 " | \ 11789 $at_diff - "$at_stderr" || at_failed=: 11790 at_fn_diff_devnull "$at_stdout" || at_failed=: 11791 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:586" 11792 $at_failed && at_fn_log_failure 11793 $at_traceon; } 11794 11795 11796 set +x 11797 $at_times_p && times >"$at_times_file" 11798 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 11799 read at_status <"$at_status_file" 11800 #AT_STOP_47 11801 #AT_START_48 11802 at_fn_group_banner 48 'named-refs.at:595' \ 11803 "Factored LHS" " " 2 11804 at_xfail=no 11805 ( 11806 $as_echo "48. $at_setup_line: testing $at_desc ..." 11807 $at_traceon 11808 11809 cat >test.y <<'_ATEOF' 11810 %code top { 11811 #include <config.h> 11812 /* We don't need perfect functions for these tests. */ 11813 #undef malloc 11814 #undef memcmp 11815 #undef realloc 11816 } 11817 11818 11819 %% 11820 start[a]: "foo" | "bar"; 11821 _ATEOF 11822 11823 11824 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 11825 at_save_special_files 11826 mkdir xml-tests 11827 # Don't combine these Bison invocations since we want to be sure that 11828 # --report=all isn't required to get the full XML file. 11829 { set +x 11830 $as_echo "$at_srcdir/named-refs.at:601: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 11831 --graph=xml-tests/test.dot -o test.c test.y" 11832 at_fn_check_prepare_notrace 'an embedded newline' "named-refs.at:601" 11833 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 11834 --graph=xml-tests/test.dot -o test.c test.y 11835 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11836 at_status=$? at_failed=false 11837 $at_check_filter 11838 echo stderr:; cat "$at_stderr" 11839 echo stdout:; cat "$at_stdout" 11840 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:601" 11841 $at_failed && at_fn_log_failure 11842 $at_traceon; } 11843 11844 { set +x 11845 $as_echo "$at_srcdir/named-refs.at:601: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o test.c test.y" 11846 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o test.c test.y" "named-refs.at:601" 11847 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -o test.c test.y 11848 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11849 at_status=$? at_failed=false 11850 $at_check_filter 11851 echo stderr:; cat "$at_stderr" 11852 echo stdout:; cat "$at_stdout" 11853 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:601" 11854 $at_failed && at_fn_log_failure 11855 $at_traceon; } 11856 11857 cp xml-tests/test.output expout 11858 { set +x 11859 $as_echo "$at_srcdir/named-refs.at:601: \$XSLTPROC \\ 11860 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 11861 xml-tests/test.xml" 11862 at_fn_check_prepare_notrace 'a `...` command substitution' "named-refs.at:601" 11863 ( $at_check_trace; $XSLTPROC \ 11864 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 11865 xml-tests/test.xml 11866 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11867 at_status=$? at_failed=false 11868 $at_check_filter 11869 at_fn_diff_devnull "$at_stderr" || at_failed=: 11870 $at_diff expout "$at_stdout" || at_failed=: 11871 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:601" 11872 $at_failed && at_fn_log_failure 11873 $at_traceon; } 11874 11875 sort xml-tests/test.dot > expout 11876 { set +x 11877 $as_echo "$at_srcdir/named-refs.at:601: \$XSLTPROC \\ 11878 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 11879 xml-tests/test.xml | sort" 11880 at_fn_check_prepare_notrace 'a `...` command substitution' "named-refs.at:601" 11881 ( $at_check_trace; $XSLTPROC \ 11882 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 11883 xml-tests/test.xml | sort 11884 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11885 at_status=$? at_failed=false 11886 $at_check_filter 11887 at_fn_diff_devnull "$at_stderr" || at_failed=: 11888 $at_diff expout "$at_stdout" || at_failed=: 11889 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:601" 11890 $at_failed && at_fn_log_failure 11891 $at_traceon; } 11892 11893 rm -rf xml-tests expout 11894 at_restore_special_files 11895 fi 11896 { set +x 11897 $as_echo "$at_srcdir/named-refs.at:601: bison -o test.c test.y" 11898 at_fn_check_prepare_trace "named-refs.at:601" 11899 ( $at_check_trace; bison -o test.c test.y 11900 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11901 at_status=$? at_failed=false 11902 $at_check_filter 11903 at_fn_diff_devnull "$at_stderr" || at_failed=: 11904 at_fn_diff_devnull "$at_stdout" || at_failed=: 11905 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:601" 11906 $at_failed && at_fn_log_failure 11907 $at_traceon; } 11908 11909 11910 set +x 11911 $at_times_p && times >"$at_times_file" 11912 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 11913 read at_status <"$at_status_file" 11914 #AT_STOP_48 11915 #AT_START_49 11916 at_fn_group_banner 49 'named-refs.at:606' \ 11917 "Unresolved references" " " 2 11918 at_xfail=no 11919 ( 11920 $as_echo "49. $at_setup_line: testing $at_desc ..." 11921 $at_traceon 11922 11923 cat >test.y <<'_ATEOF' 11924 %code top { 11925 #include <config.h> 11926 /* We don't need perfect functions for these tests. */ 11927 #undef malloc 11928 #undef memcmp 11929 #undef realloc 11930 } 11931 11932 11933 %% 11934 stat: 11935 sym_a sym_b { func($sym.field); } 11936 | sym_a sym_b { func($<aa>sym.field); } 11937 | sym_a sym_b { func($[sym.field]); } 11938 | sym_a sym_b { func($<aa>[sym.field]); } 11939 | sym_a sym_b { func($sym); } 11940 | sym_a sym_b { func($<aa>sym); } 11941 | sym_a sym_b { func($[sym]); } sym_a sym_b { func($<aa>[sym]); } 11942 ; 11943 11944 stat1: 11945 sym_a sym_b { func($sym-field); } 11946 | sym_a sym_b { func($<aa>sym-field); } 11947 | sym_a sym_b { func($[sym-field]); } 11948 | sym_a sym_b { func($<aa>[sym-field]); } 11949 | sym_a sym_b { func($sym); } 11950 | sym_a sym_b { func($<aa>sym); } 11951 | sym_a sym_b { func($[sym]); } sym_a sym_b { func($<aa>[sym]); } 11952 ; 11953 11954 sym_a: 'a'; 11955 sym_b: 'b'; 11956 _ATEOF 11957 11958 11959 11960 { set +x 11961 $as_echo "$at_srcdir/named-refs.at:633: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" 11962 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison -o test.c test.y" "named-refs.at:633" 11963 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison -o test.c test.y 11964 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 11965 at_status=$? at_failed=false 11966 $at_check_filter 11967 echo >>"$at_stderr"; $as_echo "test.y:12.22-31: error: invalid reference: '\$sym.field' 11968 test.y:12.3-35: symbol not found in production: sym 11969 test.y:13.22-35: error: invalid reference: '\$<aa>sym.field' 11970 test.y:13.3-39: symbol not found in production: sym 11971 test.y:14.22-33: error: invalid reference: '\$[sym.field]' 11972 test.y:14.3-37: symbol not found in production: sym.field 11973 test.y:15.22-37: error: invalid reference: '\$<aa>[sym.field]' 11974 test.y:15.3-41: symbol not found in production: sym.field 11975 test.y:16.22-25: error: invalid reference: '\$sym' 11976 test.y:16.3-29: symbol not found in production: sym 11977 test.y:17.22-29: error: invalid reference: '\$<aa>sym' 11978 test.y:17.3-33: symbol not found in production: sym 11979 test.y:18.22-27: error: invalid reference: '\$[sym]' 11980 test.y:18.3-65: symbol not found in production before \$3: sym 11981 test.y:18.52-61: error: invalid reference: '\$<aa>[sym]' 11982 test.y:18.3-65: symbol not found in production: sym 11983 test.y:22.22-31: error: invalid reference: '\$sym-field' 11984 test.y:22.3-35: symbol not found in production: sym 11985 test.y:23.22-35: error: invalid reference: '\$<aa>sym-field' 11986 test.y:23.3-39: symbol not found in production: sym 11987 test.y:24.22-33: error: invalid reference: '\$[sym-field]' 11988 test.y:24.3-37: symbol not found in production: sym-field 11989 test.y:25.22-37: error: invalid reference: '\$<aa>[sym-field]' 11990 test.y:25.3-41: symbol not found in production: sym-field 11991 test.y:26.22-25: error: invalid reference: '\$sym' 11992 test.y:26.3-29: symbol not found in production: sym 11993 test.y:27.22-29: error: invalid reference: '\$<aa>sym' 11994 test.y:27.3-33: symbol not found in production: sym 11995 test.y:28.22-27: error: invalid reference: '\$[sym]' 11996 test.y:28.3-65: symbol not found in production before \$3: sym 11997 test.y:28.52-61: error: invalid reference: '\$<aa>[sym]' 11998 test.y:28.3-65: symbol not found in production: sym 11999 " | \ 12000 $at_diff - "$at_stderr" || at_failed=: 12001 at_fn_diff_devnull "$at_stdout" || at_failed=: 12002 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:633" 12003 $at_failed && at_fn_log_failure 12004 $at_traceon; } 12005 12006 12007 set +x 12008 $at_times_p && times >"$at_times_file" 12009 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 12010 read at_status <"$at_status_file" 12011 #AT_STOP_49 12012 #AT_START_50 12013 at_fn_group_banner 50 'named-refs.at:671' \ 12014 "\$ or @ followed by . or -" " " 2 12015 at_xfail=no 12016 ( 12017 $as_echo "50. $at_setup_line: testing $at_desc ..." 12018 $at_traceon 12019 12020 cat >test.y <<'_ATEOF' 12021 12022 %% 12023 start: 12024 .field { $.field; } 12025 | 'a' { @.field; } 12026 ; 12027 .field: ; 12028 _ATEOF 12029 12030 12031 { set +x 12032 $as_echo "$at_srcdir/named-refs.at:681: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y" 12033 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y" "named-refs.at:681" 12034 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison test.y 12035 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12036 at_status=$? at_failed=false 12037 $at_check_filter 12038 echo >>"$at_stderr"; $as_echo "test.y:4.12-18: error: invalid reference: '\$.field' 12039 test.y:4.13: syntax error after '\$', expecting integer, letter, '_', '[', or '\$' 12040 test.y:4.3-8: possibly meant: \$[.field] at \$1 12041 test.y:5.12-18: error: invalid reference: '@.field' 12042 test.y:5.13: syntax error after '@', expecting integer, letter, '_', '[', or '\$' 12043 " | \ 12044 $at_diff - "$at_stderr" || at_failed=: 12045 at_fn_diff_devnull "$at_stdout" || at_failed=: 12046 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:681" 12047 $at_failed && at_fn_log_failure 12048 $at_traceon; } 12049 12050 12051 cat >test.y <<'_ATEOF' 12052 12053 %% 12054 start: 12055 'a' { $-field; } 12056 | 'b' { @-field; } 12057 ; 12058 _ATEOF 12059 12060 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 12061 at_save_special_files 12062 mkdir xml-tests 12063 # Don't combine these Bison invocations since we want to be sure that 12064 # --report=all isn't required to get the full XML file. 12065 { set +x 12066 $as_echo "$at_srcdir/named-refs.at:696: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 12067 --graph=xml-tests/test.dot test.y" 12068 at_fn_check_prepare_notrace 'an embedded newline' "named-refs.at:696" 12069 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 12070 --graph=xml-tests/test.dot test.y 12071 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12072 at_status=$? at_failed=false 12073 $at_check_filter 12074 echo stderr:; cat "$at_stderr" 12075 echo stdout:; cat "$at_stdout" 12076 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:696" 12077 $at_failed && at_fn_log_failure 12078 $at_traceon; } 12079 12080 { set +x 12081 $as_echo "$at_srcdir/named-refs.at:696: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml test.y" 12082 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml test.y" "named-refs.at:696" 12083 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml test.y 12084 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12085 at_status=$? at_failed=false 12086 $at_check_filter 12087 echo stderr:; cat "$at_stderr" 12088 echo stdout:; cat "$at_stdout" 12089 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:696" 12090 $at_failed && at_fn_log_failure 12091 $at_traceon; } 12092 12093 cp xml-tests/test.output expout 12094 { set +x 12095 $as_echo "$at_srcdir/named-refs.at:696: \$XSLTPROC \\ 12096 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 12097 xml-tests/test.xml" 12098 at_fn_check_prepare_notrace 'a `...` command substitution' "named-refs.at:696" 12099 ( $at_check_trace; $XSLTPROC \ 12100 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 12101 xml-tests/test.xml 12102 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12103 at_status=$? at_failed=false 12104 $at_check_filter 12105 at_fn_diff_devnull "$at_stderr" || at_failed=: 12106 $at_diff expout "$at_stdout" || at_failed=: 12107 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:696" 12108 $at_failed && at_fn_log_failure 12109 $at_traceon; } 12110 12111 sort xml-tests/test.dot > expout 12112 { set +x 12113 $as_echo "$at_srcdir/named-refs.at:696: \$XSLTPROC \\ 12114 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 12115 xml-tests/test.xml | sort" 12116 at_fn_check_prepare_notrace 'a `...` command substitution' "named-refs.at:696" 12117 ( $at_check_trace; $XSLTPROC \ 12118 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 12119 xml-tests/test.xml | sort 12120 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12121 at_status=$? at_failed=false 12122 $at_check_filter 12123 at_fn_diff_devnull "$at_stderr" || at_failed=: 12124 $at_diff expout "$at_stdout" || at_failed=: 12125 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:696" 12126 $at_failed && at_fn_log_failure 12127 $at_traceon; } 12128 12129 rm -rf xml-tests expout 12130 at_restore_special_files 12131 fi 12132 { set +x 12133 $as_echo "$at_srcdir/named-refs.at:696: bison test.y" 12134 at_fn_check_prepare_trace "named-refs.at:696" 12135 ( $at_check_trace; bison test.y 12136 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12137 at_status=$? at_failed=false 12138 $at_check_filter 12139 echo >>"$at_stderr"; $as_echo "test.y:4.9: warning: stray '\$' 12140 test.y:5.9: warning: stray '@' 12141 " | \ 12142 $at_diff - "$at_stderr" || at_failed=: 12143 at_fn_diff_devnull "$at_stdout" || at_failed=: 12144 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:696" 12145 $at_failed && at_fn_log_failure 12146 $at_traceon; } 12147 12148 # Defining POSIXLY_CORRECT causes bison to complain if options are 12149 # added after the grammar file name, so skip these checks in that 12150 # case. 12151 if test "$POSIXLY_CORRECT_IS_EXPORTED" = false; then 12152 at_save_special_files 12153 12154 # To avoid expanding it repeatedly, store specified stdout. 12155 : >expout 12156 12157 # Run with -Werror. 12158 { set +x 12159 $as_echo "$at_srcdir/named-refs.at:696: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y -Werror" 12160 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y -Werror" "named-refs.at:696" 12161 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison test.y -Werror 12162 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12163 at_status=$? at_failed=false 12164 $at_check_filter 12165 echo stderr:; tee stderr <"$at_stderr" 12166 $at_diff expout "$at_stdout" || at_failed=: 12167 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:696" 12168 $at_failed && at_fn_log_failure 12169 $at_traceon; } 12170 12171 12172 # Build expected stderr up to and including the "warnings being 12173 # treated as errors" message. 12174 cat >at-bison-check-warnings <<'_ATEOF' 12175 test.y:4.9: warning: stray '$' 12176 test.y:5.9: warning: stray '@' 12177 _ATEOF 12178 12179 at_bison_check_first=`sed -n \ 12180 '/: warning: /{=;q;}' at-bison-check-warnings` 12181 : ${at_bison_check_first:=1} 12182 at_bison_check_first_tmp=`sed -n \ 12183 '/conflicts: [0-9].*reduce$/{=;q;}' at-bison-check-warnings` 12184 : ${at_bison_check_first_tmp:=1} 12185 if test $at_bison_check_first_tmp -lt $at_bison_check_first; then 12186 at_bison_check_first=$at_bison_check_first_tmp 12187 fi 12188 if test $at_bison_check_first -gt 1; then 12189 sed -n "1,`expr $at_bison_check_first - 1`"p \ 12190 at-bison-check-warnings > experr 12191 fi 12192 echo 'bison: warnings being treated as errors' >> experr 12193 12194 # Finish building expected stderr and check. Unlike warnings, 12195 # complaints cause bison to exit early. Thus, with -Werror, bison 12196 # does not necessarily report all warnings that it does without 12197 # -Werror, but it at least reports one. 12198 at_bison_check_last=`sed -n '$=' stderr` 12199 : ${at_bison_check_last:=1} 12200 at_bison_check_last=`expr $at_bison_check_last - 1` 12201 sed -n "$at_bison_check_first,$at_bison_check_last"p \ 12202 at-bison-check-warnings >> experr 12203 { set +x 12204 $as_echo "$at_srcdir/named-refs.at:696: sed 's,.*/\\(bison: warnings being treated as errors\\)\$,\\1,' \\ 12205 stderr 1>&2" 12206 at_fn_check_prepare_notrace 'an embedded newline' "named-refs.at:696" 12207 ( $at_check_trace; sed 's,.*/\(bison: warnings being treated as errors\)$,\1,' \ 12208 stderr 1>&2 12209 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12210 at_status=$? at_failed=false 12211 $at_check_filter 12212 $at_diff experr "$at_stderr" || at_failed=: 12213 at_fn_diff_devnull "$at_stdout" || at_failed=: 12214 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:696" 12215 $at_failed && at_fn_log_failure 12216 $at_traceon; } 12217 12218 12219 # Now check --warnings=error. 12220 cp stderr experr 12221 { set +x 12222 $as_echo "$at_srcdir/named-refs.at:696: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y --warnings=error" 12223 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y --warnings=error" "named-refs.at:696" 12224 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison test.y --warnings=error 12225 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12226 at_status=$? at_failed=false 12227 $at_check_filter 12228 $at_diff experr "$at_stderr" || at_failed=: 12229 $at_diff expout "$at_stdout" || at_failed=: 12230 at_fn_check_status 1 $at_status "$at_srcdir/named-refs.at:696" 12231 $at_failed && at_fn_log_failure 12232 $at_traceon; } 12233 12234 12235 # Now check -Wnone and --warnings=none by making sure that 12236 # -Werror doesn't change the exit status when -Wnone or 12237 # --warnings=none is specified. 12238 { set +x 12239 $as_echo "$at_srcdir/named-refs.at:696: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y -Wnone -Werror" 12240 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y -Wnone -Werror" "named-refs.at:696" 12241 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison test.y -Wnone -Werror 12242 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12243 at_status=$? at_failed=false 12244 $at_check_filter 12245 at_fn_diff_devnull "$at_stderr" || at_failed=: 12246 $at_diff expout "$at_stdout" || at_failed=: 12247 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:696" 12248 $at_failed && at_fn_log_failure 12249 $at_traceon; } 12250 12251 { set +x 12252 $as_echo "$at_srcdir/named-refs.at:696: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y --warnings=none -Werror" 12253 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison test.y --warnings=none -Werror" "named-refs.at:696" 12254 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison test.y --warnings=none -Werror 12255 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12256 at_status=$? at_failed=false 12257 $at_check_filter 12258 at_fn_diff_devnull "$at_stderr" || at_failed=: 12259 $at_diff expout "$at_stdout" || at_failed=: 12260 at_fn_check_status 0 $at_status "$at_srcdir/named-refs.at:696" 12261 $at_failed && at_fn_log_failure 12262 $at_traceon; } 12263 12264 12265 at_restore_special_files 12266 fi 12267 set +x 12268 $at_times_p && times >"$at_times_file" 12269 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 12270 read at_status <"$at_status_file" 12271 #AT_STOP_50 12272 #AT_START_51 12273 at_fn_group_banner 51 'output.at:44' \ 12274 "Output files: -dv " " " 3 12275 at_xfail=no 12276 ( 12277 $as_echo "51. $at_setup_line: testing $at_desc ..." 12278 $at_traceon 12279 12280 12281 for file in foo.y foo.output foo.tab.c foo.tab.h; do 12282 case "$file" in 12283 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 12284 esac 12285 done 12286 cat >foo.y <<'_ATEOF' 12287 12288 %% 12289 foo: {}; 12290 _ATEOF 12291 12292 12293 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 12294 at_save_special_files 12295 mkdir xml-tests 12296 # Don't combine these Bison invocations since we want to be sure that 12297 # --report=all isn't required to get the full XML file. 12298 { set +x 12299 $as_echo "$at_srcdir/output.at:44: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 12300 --graph=xml-tests/test.dot -dv foo.y " 12301 at_fn_check_prepare_notrace 'an embedded newline' "output.at:44" 12302 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 12303 --graph=xml-tests/test.dot -dv foo.y 12304 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12305 at_status=$? at_failed=false 12306 $at_check_filter 12307 echo stderr:; cat "$at_stderr" 12308 echo stdout:; cat "$at_stdout" 12309 at_fn_check_status 0 $at_status "$at_srcdir/output.at:44" 12310 $at_failed && at_fn_log_failure 12311 $at_traceon; } 12312 12313 { set +x 12314 $as_echo "$at_srcdir/output.at:44: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv foo.y " 12315 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv foo.y " "output.at:44" 12316 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv foo.y 12317 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12318 at_status=$? at_failed=false 12319 $at_check_filter 12320 echo stderr:; cat "$at_stderr" 12321 echo stdout:; cat "$at_stdout" 12322 at_fn_check_status 0 $at_status "$at_srcdir/output.at:44" 12323 $at_failed && at_fn_log_failure 12324 $at_traceon; } 12325 12326 cp xml-tests/test.output expout 12327 { set +x 12328 $as_echo "$at_srcdir/output.at:44: \$XSLTPROC \\ 12329 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 12330 xml-tests/test.xml" 12331 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:44" 12332 ( $at_check_trace; $XSLTPROC \ 12333 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 12334 xml-tests/test.xml 12335 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12336 at_status=$? at_failed=false 12337 $at_check_filter 12338 at_fn_diff_devnull "$at_stderr" || at_failed=: 12339 $at_diff expout "$at_stdout" || at_failed=: 12340 at_fn_check_status 0 $at_status "$at_srcdir/output.at:44" 12341 $at_failed && at_fn_log_failure 12342 $at_traceon; } 12343 12344 sort xml-tests/test.dot > expout 12345 { set +x 12346 $as_echo "$at_srcdir/output.at:44: \$XSLTPROC \\ 12347 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 12348 xml-tests/test.xml | sort" 12349 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:44" 12350 ( $at_check_trace; $XSLTPROC \ 12351 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 12352 xml-tests/test.xml | sort 12353 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12354 at_status=$? at_failed=false 12355 $at_check_filter 12356 at_fn_diff_devnull "$at_stderr" || at_failed=: 12357 $at_diff expout "$at_stdout" || at_failed=: 12358 at_fn_check_status 0 $at_status "$at_srcdir/output.at:44" 12359 $at_failed && at_fn_log_failure 12360 $at_traceon; } 12361 12362 rm -rf xml-tests expout 12363 at_restore_special_files 12364 fi 12365 { set +x 12366 $as_echo "$at_srcdir/output.at:44: bison -dv foo.y " 12367 at_fn_check_prepare_trace "output.at:44" 12368 ( $at_check_trace; bison -dv foo.y 12369 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12370 at_status=$? at_failed=false 12371 $at_check_filter 12372 at_fn_diff_devnull "$at_stderr" || at_failed=: 12373 at_fn_diff_devnull "$at_stdout" || at_failed=: 12374 at_fn_check_status 0 $at_status "$at_srcdir/output.at:44" 12375 $at_failed && at_fn_log_failure 12376 $at_traceon; } 12377 12378 12379 { set +x 12380 $as_echo "$at_srcdir/output.at:44: ls foo.output foo.tab.c foo.tab.h" 12381 at_fn_check_prepare_trace "output.at:44" 12382 ( $at_check_trace; ls foo.output foo.tab.c foo.tab.h 12383 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12384 at_status=$? at_failed=false 12385 $at_check_filter 12386 at_fn_diff_devnull "$at_stderr" || at_failed=: 12387 echo stdout:; cat "$at_stdout" 12388 at_fn_check_status 0 $at_status "$at_srcdir/output.at:44" 12389 $at_failed && at_fn_log_failure 12390 $at_traceon; } 12391 12392 12393 set +x 12394 $at_times_p && times >"$at_times_file" 12395 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 12396 read at_status <"$at_status_file" 12397 #AT_STOP_51 12398 #AT_START_52 12399 at_fn_group_banner 52 'output.at:50' \ 12400 "Output files: -dv >&-" " " 3 12401 at_xfail=no 12402 ( 12403 $as_echo "52. $at_setup_line: testing $at_desc ..." 12404 $at_traceon 12405 12406 { set +x 12407 $as_echo "$at_srcdir/output.at:50: case \"\$PREBISON\" in *valgrind*) exit 77;; esac" 12408 at_fn_check_prepare_dynamic "case \"$PREBISON\" in *valgrind*) exit 77;; esac" "output.at:50" 12409 ( $at_check_trace; case "$PREBISON" in *valgrind*) exit 77;; esac 12410 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12411 at_status=$? at_failed=false 12412 $at_check_filter 12413 at_fn_diff_devnull "$at_stderr" || at_failed=: 12414 at_fn_diff_devnull "$at_stdout" || at_failed=: 12415 at_fn_check_status 0 $at_status "$at_srcdir/output.at:50" 12416 $at_failed && at_fn_log_failure 12417 $at_traceon; } 12418 12419 for file in foo.y foo.output foo.tab.c foo.tab.h; do 12420 case "$file" in 12421 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 12422 esac 12423 done 12424 cat >foo.y <<'_ATEOF' 12425 12426 %% 12427 foo: {}; 12428 _ATEOF 12429 12430 12431 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 12432 at_save_special_files 12433 mkdir xml-tests 12434 # Don't combine these Bison invocations since we want to be sure that 12435 # --report=all isn't required to get the full XML file. 12436 { set +x 12437 $as_echo "$at_srcdir/output.at:50: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 12438 --graph=xml-tests/test.dot -dv foo.y >&-" 12439 at_fn_check_prepare_notrace 'an embedded newline' "output.at:50" 12440 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 12441 --graph=xml-tests/test.dot -dv foo.y >&- 12442 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12443 at_status=$? at_failed=false 12444 $at_check_filter 12445 echo stderr:; cat "$at_stderr" 12446 echo stdout:; cat "$at_stdout" 12447 at_fn_check_status 0 $at_status "$at_srcdir/output.at:50" 12448 $at_failed && at_fn_log_failure 12449 $at_traceon; } 12450 12451 { set +x 12452 $as_echo "$at_srcdir/output.at:50: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv foo.y >&-" 12453 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv foo.y >&-" "output.at:50" 12454 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv foo.y >&- 12455 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12456 at_status=$? at_failed=false 12457 $at_check_filter 12458 echo stderr:; cat "$at_stderr" 12459 echo stdout:; cat "$at_stdout" 12460 at_fn_check_status 0 $at_status "$at_srcdir/output.at:50" 12461 $at_failed && at_fn_log_failure 12462 $at_traceon; } 12463 12464 cp xml-tests/test.output expout 12465 { set +x 12466 $as_echo "$at_srcdir/output.at:50: \$XSLTPROC \\ 12467 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 12468 xml-tests/test.xml" 12469 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:50" 12470 ( $at_check_trace; $XSLTPROC \ 12471 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 12472 xml-tests/test.xml 12473 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12474 at_status=$? at_failed=false 12475 $at_check_filter 12476 at_fn_diff_devnull "$at_stderr" || at_failed=: 12477 $at_diff expout "$at_stdout" || at_failed=: 12478 at_fn_check_status 0 $at_status "$at_srcdir/output.at:50" 12479 $at_failed && at_fn_log_failure 12480 $at_traceon; } 12481 12482 sort xml-tests/test.dot > expout 12483 { set +x 12484 $as_echo "$at_srcdir/output.at:50: \$XSLTPROC \\ 12485 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 12486 xml-tests/test.xml | sort" 12487 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:50" 12488 ( $at_check_trace; $XSLTPROC \ 12489 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 12490 xml-tests/test.xml | sort 12491 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12492 at_status=$? at_failed=false 12493 $at_check_filter 12494 at_fn_diff_devnull "$at_stderr" || at_failed=: 12495 $at_diff expout "$at_stdout" || at_failed=: 12496 at_fn_check_status 0 $at_status "$at_srcdir/output.at:50" 12497 $at_failed && at_fn_log_failure 12498 $at_traceon; } 12499 12500 rm -rf xml-tests expout 12501 at_restore_special_files 12502 fi 12503 { set +x 12504 $as_echo "$at_srcdir/output.at:50: bison -dv foo.y >&-" 12505 at_fn_check_prepare_trace "output.at:50" 12506 ( $at_check_trace; bison -dv foo.y >&- 12507 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12508 at_status=$? at_failed=false 12509 $at_check_filter 12510 at_fn_diff_devnull "$at_stderr" || at_failed=: 12511 at_fn_diff_devnull "$at_stdout" || at_failed=: 12512 at_fn_check_status 0 $at_status "$at_srcdir/output.at:50" 12513 $at_failed && at_fn_log_failure 12514 $at_traceon; } 12515 12516 12517 { set +x 12518 $as_echo "$at_srcdir/output.at:50: ls foo.output foo.tab.c foo.tab.h" 12519 at_fn_check_prepare_trace "output.at:50" 12520 ( $at_check_trace; ls foo.output foo.tab.c foo.tab.h 12521 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12522 at_status=$? at_failed=false 12523 $at_check_filter 12524 at_fn_diff_devnull "$at_stderr" || at_failed=: 12525 echo stdout:; cat "$at_stdout" 12526 at_fn_check_status 0 $at_status "$at_srcdir/output.at:50" 12527 $at_failed && at_fn_log_failure 12528 $at_traceon; } 12529 12530 12531 set +x 12532 $at_times_p && times >"$at_times_file" 12533 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 12534 read at_status <"$at_status_file" 12535 #AT_STOP_52 12536 #AT_START_53 12537 at_fn_group_banner 53 'output.at:55' \ 12538 "Output files: -dv -o foo.c " " " 3 12539 at_xfail=no 12540 ( 12541 $as_echo "53. $at_setup_line: testing $at_desc ..." 12542 $at_traceon 12543 12544 12545 for file in foo.y foo.c foo.h foo.output; do 12546 case "$file" in 12547 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 12548 esac 12549 done 12550 cat >foo.y <<'_ATEOF' 12551 12552 %% 12553 foo: {}; 12554 _ATEOF 12555 12556 12557 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 12558 at_save_special_files 12559 mkdir xml-tests 12560 # Don't combine these Bison invocations since we want to be sure that 12561 # --report=all isn't required to get the full XML file. 12562 { set +x 12563 $as_echo "$at_srcdir/output.at:55: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 12564 --graph=xml-tests/test.dot -dv -o foo.c foo.y " 12565 at_fn_check_prepare_notrace 'an embedded newline' "output.at:55" 12566 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 12567 --graph=xml-tests/test.dot -dv -o foo.c foo.y 12568 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12569 at_status=$? at_failed=false 12570 $at_check_filter 12571 echo stderr:; cat "$at_stderr" 12572 echo stdout:; cat "$at_stdout" 12573 at_fn_check_status 0 $at_status "$at_srcdir/output.at:55" 12574 $at_failed && at_fn_log_failure 12575 $at_traceon; } 12576 12577 { set +x 12578 $as_echo "$at_srcdir/output.at:55: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -o foo.c foo.y " 12579 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -o foo.c foo.y " "output.at:55" 12580 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -o foo.c foo.y 12581 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12582 at_status=$? at_failed=false 12583 $at_check_filter 12584 echo stderr:; cat "$at_stderr" 12585 echo stdout:; cat "$at_stdout" 12586 at_fn_check_status 0 $at_status "$at_srcdir/output.at:55" 12587 $at_failed && at_fn_log_failure 12588 $at_traceon; } 12589 12590 cp xml-tests/test.output expout 12591 { set +x 12592 $as_echo "$at_srcdir/output.at:55: \$XSLTPROC \\ 12593 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 12594 xml-tests/test.xml" 12595 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:55" 12596 ( $at_check_trace; $XSLTPROC \ 12597 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 12598 xml-tests/test.xml 12599 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12600 at_status=$? at_failed=false 12601 $at_check_filter 12602 at_fn_diff_devnull "$at_stderr" || at_failed=: 12603 $at_diff expout "$at_stdout" || at_failed=: 12604 at_fn_check_status 0 $at_status "$at_srcdir/output.at:55" 12605 $at_failed && at_fn_log_failure 12606 $at_traceon; } 12607 12608 sort xml-tests/test.dot > expout 12609 { set +x 12610 $as_echo "$at_srcdir/output.at:55: \$XSLTPROC \\ 12611 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 12612 xml-tests/test.xml | sort" 12613 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:55" 12614 ( $at_check_trace; $XSLTPROC \ 12615 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 12616 xml-tests/test.xml | sort 12617 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12618 at_status=$? at_failed=false 12619 $at_check_filter 12620 at_fn_diff_devnull "$at_stderr" || at_failed=: 12621 $at_diff expout "$at_stdout" || at_failed=: 12622 at_fn_check_status 0 $at_status "$at_srcdir/output.at:55" 12623 $at_failed && at_fn_log_failure 12624 $at_traceon; } 12625 12626 rm -rf xml-tests expout 12627 at_restore_special_files 12628 fi 12629 { set +x 12630 $as_echo "$at_srcdir/output.at:55: bison -dv -o foo.c foo.y " 12631 at_fn_check_prepare_trace "output.at:55" 12632 ( $at_check_trace; bison -dv -o foo.c foo.y 12633 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12634 at_status=$? at_failed=false 12635 $at_check_filter 12636 at_fn_diff_devnull "$at_stderr" || at_failed=: 12637 at_fn_diff_devnull "$at_stdout" || at_failed=: 12638 at_fn_check_status 0 $at_status "$at_srcdir/output.at:55" 12639 $at_failed && at_fn_log_failure 12640 $at_traceon; } 12641 12642 12643 { set +x 12644 $as_echo "$at_srcdir/output.at:55: ls foo.c foo.h foo.output" 12645 at_fn_check_prepare_trace "output.at:55" 12646 ( $at_check_trace; ls foo.c foo.h foo.output 12647 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12648 at_status=$? at_failed=false 12649 $at_check_filter 12650 at_fn_diff_devnull "$at_stderr" || at_failed=: 12651 echo stdout:; cat "$at_stdout" 12652 at_fn_check_status 0 $at_status "$at_srcdir/output.at:55" 12653 $at_failed && at_fn_log_failure 12654 $at_traceon; } 12655 12656 12657 set +x 12658 $at_times_p && times >"$at_times_file" 12659 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 12660 read at_status <"$at_status_file" 12661 #AT_STOP_53 12662 #AT_START_54 12663 at_fn_group_banner 54 'output.at:57' \ 12664 "Output files: -dv -o foo.tab.c " " " 3 12665 at_xfail=no 12666 ( 12667 $as_echo "54. $at_setup_line: testing $at_desc ..." 12668 $at_traceon 12669 12670 12671 for file in foo.y foo.output foo.tab.c foo.tab.h; do 12672 case "$file" in 12673 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 12674 esac 12675 done 12676 cat >foo.y <<'_ATEOF' 12677 12678 %% 12679 foo: {}; 12680 _ATEOF 12681 12682 12683 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 12684 at_save_special_files 12685 mkdir xml-tests 12686 # Don't combine these Bison invocations since we want to be sure that 12687 # --report=all isn't required to get the full XML file. 12688 { set +x 12689 $as_echo "$at_srcdir/output.at:57: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 12690 --graph=xml-tests/test.dot -dv -o foo.tab.c foo.y " 12691 at_fn_check_prepare_notrace 'an embedded newline' "output.at:57" 12692 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 12693 --graph=xml-tests/test.dot -dv -o foo.tab.c foo.y 12694 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12695 at_status=$? at_failed=false 12696 $at_check_filter 12697 echo stderr:; cat "$at_stderr" 12698 echo stdout:; cat "$at_stdout" 12699 at_fn_check_status 0 $at_status "$at_srcdir/output.at:57" 12700 $at_failed && at_fn_log_failure 12701 $at_traceon; } 12702 12703 { set +x 12704 $as_echo "$at_srcdir/output.at:57: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -o foo.tab.c foo.y " 12705 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -o foo.tab.c foo.y " "output.at:57" 12706 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -o foo.tab.c foo.y 12707 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12708 at_status=$? at_failed=false 12709 $at_check_filter 12710 echo stderr:; cat "$at_stderr" 12711 echo stdout:; cat "$at_stdout" 12712 at_fn_check_status 0 $at_status "$at_srcdir/output.at:57" 12713 $at_failed && at_fn_log_failure 12714 $at_traceon; } 12715 12716 cp xml-tests/test.output expout 12717 { set +x 12718 $as_echo "$at_srcdir/output.at:57: \$XSLTPROC \\ 12719 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 12720 xml-tests/test.xml" 12721 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:57" 12722 ( $at_check_trace; $XSLTPROC \ 12723 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 12724 xml-tests/test.xml 12725 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12726 at_status=$? at_failed=false 12727 $at_check_filter 12728 at_fn_diff_devnull "$at_stderr" || at_failed=: 12729 $at_diff expout "$at_stdout" || at_failed=: 12730 at_fn_check_status 0 $at_status "$at_srcdir/output.at:57" 12731 $at_failed && at_fn_log_failure 12732 $at_traceon; } 12733 12734 sort xml-tests/test.dot > expout 12735 { set +x 12736 $as_echo "$at_srcdir/output.at:57: \$XSLTPROC \\ 12737 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 12738 xml-tests/test.xml | sort" 12739 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:57" 12740 ( $at_check_trace; $XSLTPROC \ 12741 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 12742 xml-tests/test.xml | sort 12743 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12744 at_status=$? at_failed=false 12745 $at_check_filter 12746 at_fn_diff_devnull "$at_stderr" || at_failed=: 12747 $at_diff expout "$at_stdout" || at_failed=: 12748 at_fn_check_status 0 $at_status "$at_srcdir/output.at:57" 12749 $at_failed && at_fn_log_failure 12750 $at_traceon; } 12751 12752 rm -rf xml-tests expout 12753 at_restore_special_files 12754 fi 12755 { set +x 12756 $as_echo "$at_srcdir/output.at:57: bison -dv -o foo.tab.c foo.y " 12757 at_fn_check_prepare_trace "output.at:57" 12758 ( $at_check_trace; bison -dv -o foo.tab.c foo.y 12759 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12760 at_status=$? at_failed=false 12761 $at_check_filter 12762 at_fn_diff_devnull "$at_stderr" || at_failed=: 12763 at_fn_diff_devnull "$at_stdout" || at_failed=: 12764 at_fn_check_status 0 $at_status "$at_srcdir/output.at:57" 12765 $at_failed && at_fn_log_failure 12766 $at_traceon; } 12767 12768 12769 { set +x 12770 $as_echo "$at_srcdir/output.at:57: ls foo.output foo.tab.c foo.tab.h" 12771 at_fn_check_prepare_trace "output.at:57" 12772 ( $at_check_trace; ls foo.output foo.tab.c foo.tab.h 12773 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12774 at_status=$? at_failed=false 12775 $at_check_filter 12776 at_fn_diff_devnull "$at_stderr" || at_failed=: 12777 echo stdout:; cat "$at_stdout" 12778 at_fn_check_status 0 $at_status "$at_srcdir/output.at:57" 12779 $at_failed && at_fn_log_failure 12780 $at_traceon; } 12781 12782 12783 set +x 12784 $at_times_p && times >"$at_times_file" 12785 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 12786 read at_status <"$at_status_file" 12787 #AT_STOP_54 12788 #AT_START_55 12789 at_fn_group_banner 55 'output.at:59' \ 12790 "Output files: -dv -y " " " 3 12791 at_xfail=no 12792 ( 12793 $as_echo "55. $at_setup_line: testing $at_desc ..." 12794 $at_traceon 12795 12796 12797 for file in foo.y y.output y.tab.c y.tab.h; do 12798 case "$file" in 12799 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 12800 esac 12801 done 12802 cat >foo.y <<'_ATEOF' 12803 12804 %% 12805 foo: {}; 12806 _ATEOF 12807 12808 12809 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 12810 at_save_special_files 12811 mkdir xml-tests 12812 # Don't combine these Bison invocations since we want to be sure that 12813 # --report=all isn't required to get the full XML file. 12814 { set +x 12815 $as_echo "$at_srcdir/output.at:59: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 12816 --graph=xml-tests/test.dot -dv -y foo.y " 12817 at_fn_check_prepare_notrace 'an embedded newline' "output.at:59" 12818 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 12819 --graph=xml-tests/test.dot -dv -y foo.y 12820 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12821 at_status=$? at_failed=false 12822 $at_check_filter 12823 echo stderr:; cat "$at_stderr" 12824 echo stdout:; cat "$at_stdout" 12825 at_fn_check_status 0 $at_status "$at_srcdir/output.at:59" 12826 $at_failed && at_fn_log_failure 12827 $at_traceon; } 12828 12829 { set +x 12830 $as_echo "$at_srcdir/output.at:59: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -y foo.y " 12831 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -y foo.y " "output.at:59" 12832 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -y foo.y 12833 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12834 at_status=$? at_failed=false 12835 $at_check_filter 12836 echo stderr:; cat "$at_stderr" 12837 echo stdout:; cat "$at_stdout" 12838 at_fn_check_status 0 $at_status "$at_srcdir/output.at:59" 12839 $at_failed && at_fn_log_failure 12840 $at_traceon; } 12841 12842 cp xml-tests/test.output expout 12843 { set +x 12844 $as_echo "$at_srcdir/output.at:59: \$XSLTPROC \\ 12845 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 12846 xml-tests/test.xml" 12847 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:59" 12848 ( $at_check_trace; $XSLTPROC \ 12849 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 12850 xml-tests/test.xml 12851 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12852 at_status=$? at_failed=false 12853 $at_check_filter 12854 at_fn_diff_devnull "$at_stderr" || at_failed=: 12855 $at_diff expout "$at_stdout" || at_failed=: 12856 at_fn_check_status 0 $at_status "$at_srcdir/output.at:59" 12857 $at_failed && at_fn_log_failure 12858 $at_traceon; } 12859 12860 sort xml-tests/test.dot > expout 12861 { set +x 12862 $as_echo "$at_srcdir/output.at:59: \$XSLTPROC \\ 12863 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 12864 xml-tests/test.xml | sort" 12865 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:59" 12866 ( $at_check_trace; $XSLTPROC \ 12867 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 12868 xml-tests/test.xml | sort 12869 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12870 at_status=$? at_failed=false 12871 $at_check_filter 12872 at_fn_diff_devnull "$at_stderr" || at_failed=: 12873 $at_diff expout "$at_stdout" || at_failed=: 12874 at_fn_check_status 0 $at_status "$at_srcdir/output.at:59" 12875 $at_failed && at_fn_log_failure 12876 $at_traceon; } 12877 12878 rm -rf xml-tests expout 12879 at_restore_special_files 12880 fi 12881 { set +x 12882 $as_echo "$at_srcdir/output.at:59: bison -dv -y foo.y " 12883 at_fn_check_prepare_trace "output.at:59" 12884 ( $at_check_trace; bison -dv -y foo.y 12885 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12886 at_status=$? at_failed=false 12887 $at_check_filter 12888 at_fn_diff_devnull "$at_stderr" || at_failed=: 12889 at_fn_diff_devnull "$at_stdout" || at_failed=: 12890 at_fn_check_status 0 $at_status "$at_srcdir/output.at:59" 12891 $at_failed && at_fn_log_failure 12892 $at_traceon; } 12893 12894 12895 { set +x 12896 $as_echo "$at_srcdir/output.at:59: ls y.output y.tab.c y.tab.h" 12897 at_fn_check_prepare_trace "output.at:59" 12898 ( $at_check_trace; ls y.output y.tab.c y.tab.h 12899 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12900 at_status=$? at_failed=false 12901 $at_check_filter 12902 at_fn_diff_devnull "$at_stderr" || at_failed=: 12903 echo stdout:; cat "$at_stdout" 12904 at_fn_check_status 0 $at_status "$at_srcdir/output.at:59" 12905 $at_failed && at_fn_log_failure 12906 $at_traceon; } 12907 12908 12909 set +x 12910 $at_times_p && times >"$at_times_file" 12911 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 12912 read at_status <"$at_status_file" 12913 #AT_STOP_55 12914 #AT_START_56 12915 at_fn_group_banner 56 'output.at:61' \ 12916 "Output files: -dv -b bar " " " 3 12917 at_xfail=no 12918 ( 12919 $as_echo "56. $at_setup_line: testing $at_desc ..." 12920 $at_traceon 12921 12922 12923 for file in foo.y bar.output bar.tab.c bar.tab.h; do 12924 case "$file" in 12925 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 12926 esac 12927 done 12928 cat >foo.y <<'_ATEOF' 12929 12930 %% 12931 foo: {}; 12932 _ATEOF 12933 12934 12935 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 12936 at_save_special_files 12937 mkdir xml-tests 12938 # Don't combine these Bison invocations since we want to be sure that 12939 # --report=all isn't required to get the full XML file. 12940 { set +x 12941 $as_echo "$at_srcdir/output.at:61: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 12942 --graph=xml-tests/test.dot -dv -b bar foo.y " 12943 at_fn_check_prepare_notrace 'an embedded newline' "output.at:61" 12944 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 12945 --graph=xml-tests/test.dot -dv -b bar foo.y 12946 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12947 at_status=$? at_failed=false 12948 $at_check_filter 12949 echo stderr:; cat "$at_stderr" 12950 echo stdout:; cat "$at_stdout" 12951 at_fn_check_status 0 $at_status "$at_srcdir/output.at:61" 12952 $at_failed && at_fn_log_failure 12953 $at_traceon; } 12954 12955 { set +x 12956 $as_echo "$at_srcdir/output.at:61: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -b bar foo.y " 12957 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -b bar foo.y " "output.at:61" 12958 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -b bar foo.y 12959 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12960 at_status=$? at_failed=false 12961 $at_check_filter 12962 echo stderr:; cat "$at_stderr" 12963 echo stdout:; cat "$at_stdout" 12964 at_fn_check_status 0 $at_status "$at_srcdir/output.at:61" 12965 $at_failed && at_fn_log_failure 12966 $at_traceon; } 12967 12968 cp xml-tests/test.output expout 12969 { set +x 12970 $as_echo "$at_srcdir/output.at:61: \$XSLTPROC \\ 12971 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 12972 xml-tests/test.xml" 12973 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:61" 12974 ( $at_check_trace; $XSLTPROC \ 12975 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 12976 xml-tests/test.xml 12977 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12978 at_status=$? at_failed=false 12979 $at_check_filter 12980 at_fn_diff_devnull "$at_stderr" || at_failed=: 12981 $at_diff expout "$at_stdout" || at_failed=: 12982 at_fn_check_status 0 $at_status "$at_srcdir/output.at:61" 12983 $at_failed && at_fn_log_failure 12984 $at_traceon; } 12985 12986 sort xml-tests/test.dot > expout 12987 { set +x 12988 $as_echo "$at_srcdir/output.at:61: \$XSLTPROC \\ 12989 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 12990 xml-tests/test.xml | sort" 12991 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:61" 12992 ( $at_check_trace; $XSLTPROC \ 12993 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 12994 xml-tests/test.xml | sort 12995 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 12996 at_status=$? at_failed=false 12997 $at_check_filter 12998 at_fn_diff_devnull "$at_stderr" || at_failed=: 12999 $at_diff expout "$at_stdout" || at_failed=: 13000 at_fn_check_status 0 $at_status "$at_srcdir/output.at:61" 13001 $at_failed && at_fn_log_failure 13002 $at_traceon; } 13003 13004 rm -rf xml-tests expout 13005 at_restore_special_files 13006 fi 13007 { set +x 13008 $as_echo "$at_srcdir/output.at:61: bison -dv -b bar foo.y " 13009 at_fn_check_prepare_trace "output.at:61" 13010 ( $at_check_trace; bison -dv -b bar foo.y 13011 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13012 at_status=$? at_failed=false 13013 $at_check_filter 13014 at_fn_diff_devnull "$at_stderr" || at_failed=: 13015 at_fn_diff_devnull "$at_stdout" || at_failed=: 13016 at_fn_check_status 0 $at_status "$at_srcdir/output.at:61" 13017 $at_failed && at_fn_log_failure 13018 $at_traceon; } 13019 13020 13021 { set +x 13022 $as_echo "$at_srcdir/output.at:61: ls bar.output bar.tab.c bar.tab.h" 13023 at_fn_check_prepare_trace "output.at:61" 13024 ( $at_check_trace; ls bar.output bar.tab.c bar.tab.h 13025 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13026 at_status=$? at_failed=false 13027 $at_check_filter 13028 at_fn_diff_devnull "$at_stderr" || at_failed=: 13029 echo stdout:; cat "$at_stdout" 13030 at_fn_check_status 0 $at_status "$at_srcdir/output.at:61" 13031 $at_failed && at_fn_log_failure 13032 $at_traceon; } 13033 13034 13035 set +x 13036 $at_times_p && times >"$at_times_file" 13037 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 13038 read at_status <"$at_status_file" 13039 #AT_STOP_56 13040 #AT_START_57 13041 at_fn_group_banner 57 'output.at:63' \ 13042 "Output files: -dv -g -o foo.c " " " 3 13043 at_xfail=no 13044 ( 13045 $as_echo "57. $at_setup_line: testing $at_desc ..." 13046 $at_traceon 13047 13048 13049 for file in foo.y foo.c foo.dot foo.h foo.output; do 13050 case "$file" in 13051 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 13052 esac 13053 done 13054 cat >foo.y <<'_ATEOF' 13055 13056 %% 13057 foo: {}; 13058 _ATEOF 13059 13060 13061 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 13062 at_save_special_files 13063 mkdir xml-tests 13064 # Don't combine these Bison invocations since we want to be sure that 13065 # --report=all isn't required to get the full XML file. 13066 { set +x 13067 $as_echo "$at_srcdir/output.at:63: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 13068 --graph=xml-tests/test.dot -dv -g -o foo.c foo.y " 13069 at_fn_check_prepare_notrace 'an embedded newline' "output.at:63" 13070 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 13071 --graph=xml-tests/test.dot -dv -g -o foo.c foo.y 13072 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13073 at_status=$? at_failed=false 13074 $at_check_filter 13075 echo stderr:; cat "$at_stderr" 13076 echo stdout:; cat "$at_stdout" 13077 at_fn_check_status 0 $at_status "$at_srcdir/output.at:63" 13078 $at_failed && at_fn_log_failure 13079 $at_traceon; } 13080 13081 { set +x 13082 $as_echo "$at_srcdir/output.at:63: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -g -o foo.c foo.y " 13083 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -g -o foo.c foo.y " "output.at:63" 13084 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml -dv -g -o foo.c foo.y 13085 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13086 at_status=$? at_failed=false 13087 $at_check_filter 13088 echo stderr:; cat "$at_stderr" 13089 echo stdout:; cat "$at_stdout" 13090 at_fn_check_status 0 $at_status "$at_srcdir/output.at:63" 13091 $at_failed && at_fn_log_failure 13092 $at_traceon; } 13093 13094 cp xml-tests/test.output expout 13095 { set +x 13096 $as_echo "$at_srcdir/output.at:63: \$XSLTPROC \\ 13097 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 13098 xml-tests/test.xml" 13099 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:63" 13100 ( $at_check_trace; $XSLTPROC \ 13101 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 13102 xml-tests/test.xml 13103 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13104 at_status=$? at_failed=false 13105 $at_check_filter 13106 at_fn_diff_devnull "$at_stderr" || at_failed=: 13107 $at_diff expout "$at_stdout" || at_failed=: 13108 at_fn_check_status 0 $at_status "$at_srcdir/output.at:63" 13109 $at_failed && at_fn_log_failure 13110 $at_traceon; } 13111 13112 sort xml-tests/test.dot > expout 13113 { set +x 13114 $as_echo "$at_srcdir/output.at:63: \$XSLTPROC \\ 13115 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 13116 xml-tests/test.xml | sort" 13117 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:63" 13118 ( $at_check_trace; $XSLTPROC \ 13119 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 13120 xml-tests/test.xml | sort 13121 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13122 at_status=$? at_failed=false 13123 $at_check_filter 13124 at_fn_diff_devnull "$at_stderr" || at_failed=: 13125 $at_diff expout "$at_stdout" || at_failed=: 13126 at_fn_check_status 0 $at_status "$at_srcdir/output.at:63" 13127 $at_failed && at_fn_log_failure 13128 $at_traceon; } 13129 13130 rm -rf xml-tests expout 13131 at_restore_special_files 13132 fi 13133 { set +x 13134 $as_echo "$at_srcdir/output.at:63: bison -dv -g -o foo.c foo.y " 13135 at_fn_check_prepare_trace "output.at:63" 13136 ( $at_check_trace; bison -dv -g -o foo.c foo.y 13137 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13138 at_status=$? at_failed=false 13139 $at_check_filter 13140 at_fn_diff_devnull "$at_stderr" || at_failed=: 13141 at_fn_diff_devnull "$at_stdout" || at_failed=: 13142 at_fn_check_status 0 $at_status "$at_srcdir/output.at:63" 13143 $at_failed && at_fn_log_failure 13144 $at_traceon; } 13145 13146 13147 { set +x 13148 $as_echo "$at_srcdir/output.at:63: ls foo.c foo.dot foo.h foo.output" 13149 at_fn_check_prepare_trace "output.at:63" 13150 ( $at_check_trace; ls foo.c foo.dot foo.h foo.output 13151 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13152 at_status=$? at_failed=false 13153 $at_check_filter 13154 at_fn_diff_devnull "$at_stderr" || at_failed=: 13155 echo stdout:; cat "$at_stdout" 13156 at_fn_check_status 0 $at_status "$at_srcdir/output.at:63" 13157 $at_failed && at_fn_log_failure 13158 $at_traceon; } 13159 13160 13161 set +x 13162 $at_times_p && times >"$at_times_file" 13163 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 13164 read at_status <"$at_status_file" 13165 #AT_STOP_57 13166 #AT_START_58 13167 at_fn_group_banner 58 'output.at:67' \ 13168 "Output files: %defines %verbose " " " 3 13169 at_xfail=no 13170 ( 13171 $as_echo "58. $at_setup_line: testing $at_desc ..." 13172 $at_traceon 13173 13174 13175 for file in foo.y foo.output foo.tab.c foo.tab.h; do 13176 case "$file" in 13177 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 13178 esac 13179 done 13180 cat >foo.y <<'_ATEOF' 13181 %defines %verbose 13182 %% 13183 foo: {}; 13184 _ATEOF 13185 13186 13187 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 13188 at_save_special_files 13189 mkdir xml-tests 13190 # Don't combine these Bison invocations since we want to be sure that 13191 # --report=all isn't required to get the full XML file. 13192 { set +x 13193 $as_echo "$at_srcdir/output.at:67: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 13194 --graph=xml-tests/test.dot foo.y " 13195 at_fn_check_prepare_notrace 'an embedded newline' "output.at:67" 13196 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 13197 --graph=xml-tests/test.dot foo.y 13198 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13199 at_status=$? at_failed=false 13200 $at_check_filter 13201 echo stderr:; cat "$at_stderr" 13202 echo stdout:; cat "$at_stdout" 13203 at_fn_check_status 0 $at_status "$at_srcdir/output.at:67" 13204 $at_failed && at_fn_log_failure 13205 $at_traceon; } 13206 13207 { set +x 13208 $as_echo "$at_srcdir/output.at:67: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y " 13209 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y " "output.at:67" 13210 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y 13211 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13212 at_status=$? at_failed=false 13213 $at_check_filter 13214 echo stderr:; cat "$at_stderr" 13215 echo stdout:; cat "$at_stdout" 13216 at_fn_check_status 0 $at_status "$at_srcdir/output.at:67" 13217 $at_failed && at_fn_log_failure 13218 $at_traceon; } 13219 13220 cp xml-tests/test.output expout 13221 { set +x 13222 $as_echo "$at_srcdir/output.at:67: \$XSLTPROC \\ 13223 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 13224 xml-tests/test.xml" 13225 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:67" 13226 ( $at_check_trace; $XSLTPROC \ 13227 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 13228 xml-tests/test.xml 13229 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13230 at_status=$? at_failed=false 13231 $at_check_filter 13232 at_fn_diff_devnull "$at_stderr" || at_failed=: 13233 $at_diff expout "$at_stdout" || at_failed=: 13234 at_fn_check_status 0 $at_status "$at_srcdir/output.at:67" 13235 $at_failed && at_fn_log_failure 13236 $at_traceon; } 13237 13238 sort xml-tests/test.dot > expout 13239 { set +x 13240 $as_echo "$at_srcdir/output.at:67: \$XSLTPROC \\ 13241 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 13242 xml-tests/test.xml | sort" 13243 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:67" 13244 ( $at_check_trace; $XSLTPROC \ 13245 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 13246 xml-tests/test.xml | sort 13247 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13248 at_status=$? at_failed=false 13249 $at_check_filter 13250 at_fn_diff_devnull "$at_stderr" || at_failed=: 13251 $at_diff expout "$at_stdout" || at_failed=: 13252 at_fn_check_status 0 $at_status "$at_srcdir/output.at:67" 13253 $at_failed && at_fn_log_failure 13254 $at_traceon; } 13255 13256 rm -rf xml-tests expout 13257 at_restore_special_files 13258 fi 13259 { set +x 13260 $as_echo "$at_srcdir/output.at:67: bison foo.y " 13261 at_fn_check_prepare_trace "output.at:67" 13262 ( $at_check_trace; bison foo.y 13263 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13264 at_status=$? at_failed=false 13265 $at_check_filter 13266 at_fn_diff_devnull "$at_stderr" || at_failed=: 13267 at_fn_diff_devnull "$at_stdout" || at_failed=: 13268 at_fn_check_status 0 $at_status "$at_srcdir/output.at:67" 13269 $at_failed && at_fn_log_failure 13270 $at_traceon; } 13271 13272 13273 { set +x 13274 $as_echo "$at_srcdir/output.at:67: ls foo.output foo.tab.c foo.tab.h" 13275 at_fn_check_prepare_trace "output.at:67" 13276 ( $at_check_trace; ls foo.output foo.tab.c foo.tab.h 13277 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13278 at_status=$? at_failed=false 13279 $at_check_filter 13280 at_fn_diff_devnull "$at_stderr" || at_failed=: 13281 echo stdout:; cat "$at_stdout" 13282 at_fn_check_status 0 $at_status "$at_srcdir/output.at:67" 13283 $at_failed && at_fn_log_failure 13284 $at_traceon; } 13285 13286 13287 set +x 13288 $at_times_p && times >"$at_times_file" 13289 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 13290 read at_status <"$at_status_file" 13291 #AT_STOP_58 13292 #AT_START_59 13293 at_fn_group_banner 59 'output.at:69' \ 13294 "Output files: %defines %verbose %yacc " " " 3 13295 at_xfail=no 13296 ( 13297 $as_echo "59. $at_setup_line: testing $at_desc ..." 13298 $at_traceon 13299 13300 13301 for file in foo.y y.output y.tab.c y.tab.h; do 13302 case "$file" in 13303 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 13304 esac 13305 done 13306 cat >foo.y <<'_ATEOF' 13307 %defines %verbose %yacc 13308 %% 13309 foo: {}; 13310 _ATEOF 13311 13312 13313 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 13314 at_save_special_files 13315 mkdir xml-tests 13316 # Don't combine these Bison invocations since we want to be sure that 13317 # --report=all isn't required to get the full XML file. 13318 { set +x 13319 $as_echo "$at_srcdir/output.at:69: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 13320 --graph=xml-tests/test.dot foo.y " 13321 at_fn_check_prepare_notrace 'an embedded newline' "output.at:69" 13322 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 13323 --graph=xml-tests/test.dot foo.y 13324 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13325 at_status=$? at_failed=false 13326 $at_check_filter 13327 echo stderr:; cat "$at_stderr" 13328 echo stdout:; cat "$at_stdout" 13329 at_fn_check_status 0 $at_status "$at_srcdir/output.at:69" 13330 $at_failed && at_fn_log_failure 13331 $at_traceon; } 13332 13333 { set +x 13334 $as_echo "$at_srcdir/output.at:69: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y " 13335 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y " "output.at:69" 13336 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y 13337 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13338 at_status=$? at_failed=false 13339 $at_check_filter 13340 echo stderr:; cat "$at_stderr" 13341 echo stdout:; cat "$at_stdout" 13342 at_fn_check_status 0 $at_status "$at_srcdir/output.at:69" 13343 $at_failed && at_fn_log_failure 13344 $at_traceon; } 13345 13346 cp xml-tests/test.output expout 13347 { set +x 13348 $as_echo "$at_srcdir/output.at:69: \$XSLTPROC \\ 13349 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 13350 xml-tests/test.xml" 13351 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:69" 13352 ( $at_check_trace; $XSLTPROC \ 13353 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 13354 xml-tests/test.xml 13355 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13356 at_status=$? at_failed=false 13357 $at_check_filter 13358 at_fn_diff_devnull "$at_stderr" || at_failed=: 13359 $at_diff expout "$at_stdout" || at_failed=: 13360 at_fn_check_status 0 $at_status "$at_srcdir/output.at:69" 13361 $at_failed && at_fn_log_failure 13362 $at_traceon; } 13363 13364 sort xml-tests/test.dot > expout 13365 { set +x 13366 $as_echo "$at_srcdir/output.at:69: \$XSLTPROC \\ 13367 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 13368 xml-tests/test.xml | sort" 13369 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:69" 13370 ( $at_check_trace; $XSLTPROC \ 13371 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 13372 xml-tests/test.xml | sort 13373 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13374 at_status=$? at_failed=false 13375 $at_check_filter 13376 at_fn_diff_devnull "$at_stderr" || at_failed=: 13377 $at_diff expout "$at_stdout" || at_failed=: 13378 at_fn_check_status 0 $at_status "$at_srcdir/output.at:69" 13379 $at_failed && at_fn_log_failure 13380 $at_traceon; } 13381 13382 rm -rf xml-tests expout 13383 at_restore_special_files 13384 fi 13385 { set +x 13386 $as_echo "$at_srcdir/output.at:69: bison foo.y " 13387 at_fn_check_prepare_trace "output.at:69" 13388 ( $at_check_trace; bison foo.y 13389 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13390 at_status=$? at_failed=false 13391 $at_check_filter 13392 at_fn_diff_devnull "$at_stderr" || at_failed=: 13393 at_fn_diff_devnull "$at_stdout" || at_failed=: 13394 at_fn_check_status 0 $at_status "$at_srcdir/output.at:69" 13395 $at_failed && at_fn_log_failure 13396 $at_traceon; } 13397 13398 13399 { set +x 13400 $as_echo "$at_srcdir/output.at:69: ls y.output y.tab.c y.tab.h" 13401 at_fn_check_prepare_trace "output.at:69" 13402 ( $at_check_trace; ls y.output y.tab.c y.tab.h 13403 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13404 at_status=$? at_failed=false 13405 $at_check_filter 13406 at_fn_diff_devnull "$at_stderr" || at_failed=: 13407 echo stdout:; cat "$at_stdout" 13408 at_fn_check_status 0 $at_status "$at_srcdir/output.at:69" 13409 $at_failed && at_fn_log_failure 13410 $at_traceon; } 13411 13412 13413 set +x 13414 $at_times_p && times >"$at_times_file" 13415 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 13416 read at_status <"$at_status_file" 13417 #AT_STOP_59 13418 #AT_START_60 13419 at_fn_group_banner 60 'output.at:72' \ 13420 "Output files: %defines %verbose %yacc " " " 3 13421 at_xfail=no 13422 ( 13423 $as_echo "60. $at_setup_line: testing $at_desc ..." 13424 $at_traceon 13425 13426 13427 for file in foo.yy y.output y.tab.c y.tab.h; do 13428 case "$file" in 13429 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 13430 esac 13431 done 13432 cat >foo.yy <<'_ATEOF' 13433 %defines %verbose %yacc 13434 %% 13435 foo: {}; 13436 _ATEOF 13437 13438 13439 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 13440 at_save_special_files 13441 mkdir xml-tests 13442 # Don't combine these Bison invocations since we want to be sure that 13443 # --report=all isn't required to get the full XML file. 13444 { set +x 13445 $as_echo "$at_srcdir/output.at:72: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 13446 --graph=xml-tests/test.dot foo.yy " 13447 at_fn_check_prepare_notrace 'an embedded newline' "output.at:72" 13448 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 13449 --graph=xml-tests/test.dot foo.yy 13450 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13451 at_status=$? at_failed=false 13452 $at_check_filter 13453 echo stderr:; cat "$at_stderr" 13454 echo stdout:; cat "$at_stdout" 13455 at_fn_check_status 0 $at_status "$at_srcdir/output.at:72" 13456 $at_failed && at_fn_log_failure 13457 $at_traceon; } 13458 13459 { set +x 13460 $as_echo "$at_srcdir/output.at:72: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.yy " 13461 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.yy " "output.at:72" 13462 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.yy 13463 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13464 at_status=$? at_failed=false 13465 $at_check_filter 13466 echo stderr:; cat "$at_stderr" 13467 echo stdout:; cat "$at_stdout" 13468 at_fn_check_status 0 $at_status "$at_srcdir/output.at:72" 13469 $at_failed && at_fn_log_failure 13470 $at_traceon; } 13471 13472 cp xml-tests/test.output expout 13473 { set +x 13474 $as_echo "$at_srcdir/output.at:72: \$XSLTPROC \\ 13475 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 13476 xml-tests/test.xml" 13477 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:72" 13478 ( $at_check_trace; $XSLTPROC \ 13479 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 13480 xml-tests/test.xml 13481 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13482 at_status=$? at_failed=false 13483 $at_check_filter 13484 at_fn_diff_devnull "$at_stderr" || at_failed=: 13485 $at_diff expout "$at_stdout" || at_failed=: 13486 at_fn_check_status 0 $at_status "$at_srcdir/output.at:72" 13487 $at_failed && at_fn_log_failure 13488 $at_traceon; } 13489 13490 sort xml-tests/test.dot > expout 13491 { set +x 13492 $as_echo "$at_srcdir/output.at:72: \$XSLTPROC \\ 13493 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 13494 xml-tests/test.xml | sort" 13495 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:72" 13496 ( $at_check_trace; $XSLTPROC \ 13497 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 13498 xml-tests/test.xml | sort 13499 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13500 at_status=$? at_failed=false 13501 $at_check_filter 13502 at_fn_diff_devnull "$at_stderr" || at_failed=: 13503 $at_diff expout "$at_stdout" || at_failed=: 13504 at_fn_check_status 0 $at_status "$at_srcdir/output.at:72" 13505 $at_failed && at_fn_log_failure 13506 $at_traceon; } 13507 13508 rm -rf xml-tests expout 13509 at_restore_special_files 13510 fi 13511 { set +x 13512 $as_echo "$at_srcdir/output.at:72: bison foo.yy " 13513 at_fn_check_prepare_trace "output.at:72" 13514 ( $at_check_trace; bison foo.yy 13515 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13516 at_status=$? at_failed=false 13517 $at_check_filter 13518 at_fn_diff_devnull "$at_stderr" || at_failed=: 13519 at_fn_diff_devnull "$at_stdout" || at_failed=: 13520 at_fn_check_status 0 $at_status "$at_srcdir/output.at:72" 13521 $at_failed && at_fn_log_failure 13522 $at_traceon; } 13523 13524 13525 { set +x 13526 $as_echo "$at_srcdir/output.at:72: ls y.output y.tab.c y.tab.h" 13527 at_fn_check_prepare_trace "output.at:72" 13528 ( $at_check_trace; ls y.output y.tab.c y.tab.h 13529 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13530 at_status=$? at_failed=false 13531 $at_check_filter 13532 at_fn_diff_devnull "$at_stderr" || at_failed=: 13533 echo stdout:; cat "$at_stdout" 13534 at_fn_check_status 0 $at_status "$at_srcdir/output.at:72" 13535 $at_failed && at_fn_log_failure 13536 $at_traceon; } 13537 13538 13539 set +x 13540 $at_times_p && times >"$at_times_file" 13541 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 13542 read at_status <"$at_status_file" 13543 #AT_STOP_60 13544 #AT_START_61 13545 at_fn_group_banner 61 'output.at:76' \ 13546 "Output files: %file-prefix \"bar\" %defines %verbose " "" 3 13547 at_xfail=no 13548 ( 13549 $as_echo "61. $at_setup_line: testing $at_desc ..." 13550 $at_traceon 13551 13552 13553 for file in foo.y bar.output bar.tab.c bar.tab.h; do 13554 case "$file" in 13555 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 13556 esac 13557 done 13558 cat >foo.y <<'_ATEOF' 13559 %file-prefix "bar" %defines %verbose 13560 %% 13561 foo: {}; 13562 _ATEOF 13563 13564 13565 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 13566 at_save_special_files 13567 mkdir xml-tests 13568 # Don't combine these Bison invocations since we want to be sure that 13569 # --report=all isn't required to get the full XML file. 13570 { set +x 13571 $as_echo "$at_srcdir/output.at:76: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 13572 --graph=xml-tests/test.dot foo.y " 13573 at_fn_check_prepare_notrace 'an embedded newline' "output.at:76" 13574 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 13575 --graph=xml-tests/test.dot foo.y 13576 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13577 at_status=$? at_failed=false 13578 $at_check_filter 13579 echo stderr:; cat "$at_stderr" 13580 echo stdout:; cat "$at_stdout" 13581 at_fn_check_status 0 $at_status "$at_srcdir/output.at:76" 13582 $at_failed && at_fn_log_failure 13583 $at_traceon; } 13584 13585 { set +x 13586 $as_echo "$at_srcdir/output.at:76: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y " 13587 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y " "output.at:76" 13588 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y 13589 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13590 at_status=$? at_failed=false 13591 $at_check_filter 13592 echo stderr:; cat "$at_stderr" 13593 echo stdout:; cat "$at_stdout" 13594 at_fn_check_status 0 $at_status "$at_srcdir/output.at:76" 13595 $at_failed && at_fn_log_failure 13596 $at_traceon; } 13597 13598 cp xml-tests/test.output expout 13599 { set +x 13600 $as_echo "$at_srcdir/output.at:76: \$XSLTPROC \\ 13601 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2text.xsl \\ 13602 xml-tests/test.xml" 13603 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:76" 13604 ( $at_check_trace; $XSLTPROC \ 13605 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2text.xsl \ 13606 xml-tests/test.xml 13607 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13608 at_status=$? at_failed=false 13609 $at_check_filter 13610 at_fn_diff_devnull "$at_stderr" || at_failed=: 13611 $at_diff expout "$at_stdout" || at_failed=: 13612 at_fn_check_status 0 $at_status "$at_srcdir/output.at:76" 13613 $at_failed && at_fn_log_failure 13614 $at_traceon; } 13615 13616 sort xml-tests/test.dot > expout 13617 { set +x 13618 $as_echo "$at_srcdir/output.at:76: \$XSLTPROC \\ 13619 \`VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --print-datadir\`/xslt/xml2dot.xsl \\ 13620 xml-tests/test.xml | sort" 13621 at_fn_check_prepare_notrace 'a `...` command substitution' "output.at:76" 13622 ( $at_check_trace; $XSLTPROC \ 13623 `VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --print-datadir`/xslt/xml2dot.xsl \ 13624 xml-tests/test.xml | sort 13625 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13626 at_status=$? at_failed=false 13627 $at_check_filter 13628 at_fn_diff_devnull "$at_stderr" || at_failed=: 13629 $at_diff expout "$at_stdout" || at_failed=: 13630 at_fn_check_status 0 $at_status "$at_srcdir/output.at:76" 13631 $at_failed && at_fn_log_failure 13632 $at_traceon; } 13633 13634 rm -rf xml-tests expout 13635 at_restore_special_files 13636 fi 13637 { set +x 13638 $as_echo "$at_srcdir/output.at:76: bison foo.y " 13639 at_fn_check_prepare_trace "output.at:76" 13640 ( $at_check_trace; bison foo.y 13641 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13642 at_status=$? at_failed=false 13643 $at_check_filter 13644 at_fn_diff_devnull "$at_stderr" || at_failed=: 13645 at_fn_diff_devnull "$at_stdout" || at_failed=: 13646 at_fn_check_status 0 $at_status "$at_srcdir/output.at:76" 13647 $at_failed && at_fn_log_failure 13648 $at_traceon; } 13649 13650 13651 { set +x 13652 $as_echo "$at_srcdir/output.at:76: ls bar.output bar.tab.c bar.tab.h" 13653 at_fn_check_prepare_trace "output.at:76" 13654 ( $at_check_trace; ls bar.output bar.tab.c bar.tab.h 13655 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13656 at_status=$? at_failed=false 13657 $at_check_filter 13658 at_fn_diff_devnull "$at_stderr" || at_failed=: 13659 echo stdout:; cat "$at_stdout" 13660 at_fn_check_status 0 $at_status "$at_srcdir/output.at:76" 13661 $at_failed && at_fn_log_failure 13662 $at_traceon; } 13663 13664 13665 set +x 13666 $at_times_p && times >"$at_times_file" 13667 ) 5>&1 2>&1 7>&- | eval $at_tee_pipe 13668 read at_status <"$at_status_file" 13669 #AT_STOP_61 13670 #AT_START_62 13671 at_fn_group_banner 62 'output.at:78' \ 13672 "Output files: %output=\"bar.c\" %defines %verbose %yacc " "" 3 13673 at_xfail=no 13674 ( 13675 $as_echo "62. $at_setup_line: testing $at_desc ..." 13676 $at_traceon 13677 13678 13679 for file in foo.y bar.output bar.c bar.h; do 13680 case "$file" in 13681 */*) mkdir -p `echo "$file" | sed 's,/.*,,'`;; 13682 esac 13683 done 13684 cat >foo.y <<'_ATEOF' 13685 %output="bar.c" %defines %verbose %yacc 13686 %% 13687 foo: {}; 13688 _ATEOF 13689 13690 13691 if test x"$BISON_TEST_XML" = x1 && test x"$XSLTPROC" != x""; then 13692 at_save_special_files 13693 mkdir xml-tests 13694 # Don't combine these Bison invocations since we want to be sure that 13695 # --report=all isn't required to get the full XML file. 13696 { set +x 13697 $as_echo "$at_srcdir/output.at:78: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \\ 13698 --graph=xml-tests/test.dot foo.y " 13699 at_fn_check_prepare_notrace 'an embedded newline' "output.at:78" 13700 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --report=all --report-file=xml-tests/test.output \ 13701 --graph=xml-tests/test.dot foo.y 13702 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13703 at_status=$? at_failed=false 13704 $at_check_filter 13705 echo stderr:; cat "$at_stderr" 13706 echo stdout:; cat "$at_stdout" 13707 at_fn_check_status 0 $at_status "$at_srcdir/output.at:78" 13708 $at_failed && at_fn_log_failure 13709 $at_traceon; } 13710 13711 { set +x 13712 $as_echo "$at_srcdir/output.at:78: VALGRIND_OPTS=\"\$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y " 13713 at_fn_check_prepare_dynamic "VALGRIND_OPTS=\"$VALGRIND_OPTS --leak-check=summary --show-reachable=no\"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y " "output.at:78" 13714 ( $at_check_trace; VALGRIND_OPTS="$VALGRIND_OPTS --leak-check=summary --show-reachable=no"; export VALGRIND_OPTS; bison --xml=xml-tests/test.xml foo.y 13715 ) >>"$at_stdout" 2>>"$at_stderr" 5>&- 13716 at_status=$? at_failed=false 13717 $at_check_filter 13718 echo stderr:; cat "$at_stderr" 13719 echo stdout:; cat "$at_stdout" 13720 at_fn_check_status 0 $at_status "$at_srcdir/output.at:78" 13721