#! /bin/sh
# Generated from testsuite.at by GNU Autoconf 2.69.
#
# Test cases Copyright (C) 2017 Free Software Foundation, Inc.
# Written by Keisuke Nishida, Roger While, Simon Sobisch, Edward Hart,
# Ron Norman, Brian Tiffin
#
# Copyright (C) 2009-2012 Free Software Foundation, Inc.
#
# This test suite is free software; the Free Software Foundation gives
# unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='print -r --'
  as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in #(
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
  done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

if test "x$CONFIG_SHELL" = x; then
  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
  setopt NO_GLOB_SUBST
else
  case \`(set -o) 2>/dev/null\` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi
"
  as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }

exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :

else
  exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
test -x / || exit 1"
  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
  if (eval "$as_required") 2>/dev/null; then :
  as_have_required=yes
else
  as_have_required=no
fi
  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :

else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  as_found=:
  case $as_dir in #(
	 /*)
	   for as_base in sh bash ksh sh5; do
	     # Try only shells that exist, to save several forks.
	     as_shell=$as_dir/$as_base
	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
  CONFIG_SHELL=$as_shell as_have_required=yes
		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
  break 2
fi
fi
	   done;;
       esac
  as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
  CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS


      if test "x$CONFIG_SHELL" != x; then :
  export CONFIG_SHELL
             # We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
  *v*x* | *x*v* ) as_opts=-vx ;;
  *v* ) as_opts=-v ;;
  *x* ) as_opts=-x ;;
  * ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi

    if test x$as_have_required = xno; then :
  $as_echo "$0: This script requires a shell more modern than all"
  $as_echo "$0: the shells that I found on your system."
  if test x${ZSH_VERSION+set} = xset ; then
    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
  else
    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
  fi
  exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS

## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
  { eval $1=; unset $1;}
}
as_unset=as_fn_unset

# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit

# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || eval $as_mkdir_p || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


} # as_fn_mkdir_p

# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
  test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
  eval 'as_fn_append ()
  {
    eval $1+=\$2
  }'
else
  as_fn_append ()
  {
    eval $1=\$$1\$2
  }
fi # as_fn_append

# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
  eval 'as_fn_arith ()
  {
    as_val=$(( $* ))
  }'
else
  as_fn_arith ()
  {
    as_val=`expr "$@" || test $? -eq 1`
  }
fi # as_fn_arith


# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
  as_status=$1; test $as_status -eq 0 && as_status=1
  if test "$4"; then
    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
  fi
  $as_echo "$as_me: error: $2" >&2
  as_fn_exit $as_status
} # as_fn_error

if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi

as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits


  as_lineno_1=$LINENO as_lineno_1a=$LINENO
  as_lineno_2=$LINENO as_lineno_2a=$LINENO
  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }

  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
  # already done that, so ensure we don't try to do so again and fall
  # in an infinite loop.  This has already happened in practice.
  _as_can_reexec=no; export _as_can_reexec
  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -pR'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -pR'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -pR'
  fi
else
  as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p='mkdir -p "$as_dir"'
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

as_test_x='test -x'
as_executable_p=as_fn_executable_p

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"





SHELL=${CONFIG_SHELL-/bin/sh}

# How were we run?
at_cli_args="$@"


# Not all shells have the 'times' builtin; the subshell is needed to make
# sure we discard the 'times: not found' message from the shell.
at_times_p=false
(times) >/dev/null 2>&1 && at_times_p=:

# CLI Arguments to pass to the debugging scripts.
at_debug_args=
# -e sets to true
at_errexit_p=false
# Shall we be verbose?  ':' means no, empty means yes.
at_verbose=:
at_quiet=
# Running several jobs in parallel, 0 means as many as test groups.
at_jobs=1
at_traceon=:
at_trace_echo=:
at_check_filter_trace=:

# Shall we keep the debug scripts?  Must be `:' when the suite is
# run by a debug script, so that the script doesn't remove itself.
at_debug_p=false
# Display help message?
at_help_p=false
# Display the version message?
at_version_p=false
# List test groups?
at_list_p=false
# --clean
at_clean=false
# Test groups to run
at_groups=
# Whether to rerun failed tests.
at_recheck=
# Whether a write failure occurred
at_write_fail=0

# The directory we run the suite in.  Default to . if no -C option.
at_dir=`pwd`
# An absolute reference to this testsuite script.
case $as_myself in
  [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;;
  * ) at_myself=$at_dir/$as_myself ;;
esac
# Whether -C is in effect.
at_change_dir=false

# Whether to enable colored test results.
at_color=auto
# List of the tested programs.
at_tested='cobc
cobcrun'
# As many question marks as there are digits in the last test group number.
# Used to normalize the test group numbers so that `ls' lists them in
# numerical order.
at_format='???'
# Description of all the test groups.
at_help_all="1;used_binaries.at:21;Compiler outputs (general);runmisc cobc;
2;used_binaries.at:48;Compiler outputs (assembler);runmisc cobc;
3;used_binaries.at:79;Source file not found;cobc runmisc;
4;used_binaries.at:89;Compiler help and information;runmisc cobc;
5;used_binaries.at:107;Using full path for cobc;runmisc;
6;used_binaries.at:127;C Compiler optimizations;runmisc cobc;
7;used_binaries.at:156;Invalid cobc option;runmisc cobc;
8;used_binaries.at:180;cobcrun validation;runmisc;
9;used_binaries.at:220;cobcrun -M DSO entry argument;runmisc;
10;used_binaries.at:275;cobcrun -M directory/ default;runmisc;
11;used_binaries.at:313;cobcrun -M directory/dso alternate;runmisc;
12;used_binaries.at:364;cobcrun -M DSO entry multiple arguments;runmisc;
13;used_binaries.at:399;Compile from stdin;runmisc stdin;
14;used_binaries.at:420;Run job after compilation;runmisc job;
15;used_binaries.at:439;Run job with optional arguments;runmisc job;
16;configuration.at:22;cobc with standard configuration file;configuration misc;
17;configuration.at:43;cobc dialect features for all -std;configuration misc;
18;configuration.at:99;cobc with configuration file via -std;configuration misc;
19;configuration.at:120;cobc with standard configuration file via -conf;configuration misc;
20;configuration.at:141;cobc with own configuration file via -conf;configuration misc;
21;configuration.at:170;cobc configuration: recursive include;configuration misc;
22;configuration.at:208;cobc with -std and -conf;configuration misc;
23;configuration.at:235;cobc compiler flag on command line;configuration misc;
24;configuration.at:254;cobc compiler flag on command line (priority);configuration misc;
25;configuration.at:287;cobc configuration: entries;configuration misc;
26;configuration.at:320;cobc configuration: conf missing;configuration misc;
27;configuration.at:348;cobc configuration: conf optional;configuration misc;
28;configuration.at:384;cobc configuration: incomplete;configuration misc;
29;configuration.at:471;runtime configuration;configuration misc;
30;configuration.at:490;runtime configuration file;configuration misc;
31;configuration.at:525;runtime configuration: recursive include;configuration misc;
32;configuration.at:554;runtime configuration: environment priority;configuration misc;
33;configuration.at:567;runtime configuration: entries;configuration misc;
34;configuration.at:648;runtime configuration: conf missing;configuration misc;
35;configuration.at:677;runtime configuration: conf optional;configuration misc;
36;configuration.at:690;COB_CONFIG_DIR test;environment variable;
37;syn_copy.at:21;COPY: within comment;copy;
38;syn_copy.at:49;COPY: file not found;copy;
39;syn_copy.at:69;COPY: replacement order;copy;
40;syn_copy.at:96;COPY: separators;copy;
41;syn_copy.at:125;COPY: partial replacement;copy;
42;syn_copy.at:154;COPY: LEADING replacement;copy;
43;syn_copy.at:183;COPY: TRAILING replacement;copy;
44;syn_copy.at:212;COPY: recursive replacement;copy;
45;syn_copy.at:241;COPY: fixed/free format;copy;
46;syn_definition.at:25;Invalid PROGRAM-ID;definition;
47;syn_definition.at:42;Invalid PROGRAM-ID type clause (1);definition;
48;syn_definition.at:59;invalid PROGRAM-ID type clause (2);definition;
49;syn_definition.at:76;INITIAL/RECURSIVE before COMMON;program-id definition;
50;syn_definition.at:108;Undefined data name;definition;
51;syn_definition.at:127;Undefined group name;definition;
52;syn_definition.at:149;Undefined data name in group;definition;
53;syn_definition.at:173;Reference not a group name;definition;
54;syn_definition.at:197;Incomplete 01 definition;definition;
55;syn_definition.at:217;Same labels in different sections;definition;
56;syn_definition.at:242;Redefinition of 01 items;definition;
57;syn_definition.at:262;Redefinition of 01 and 02 items;definition;
58;syn_definition.at:282;Redefinition of 02 items;definition;
59;syn_definition.at:303;Redefinition of 77 items;definition;
60;syn_definition.at:323;Redefinition of 01 and 77 items;definition;
61;syn_definition.at:343;Redefinition of 88 items;definition;
62;syn_definition.at:364;Redefinition of program-name by other programs;definition;
63;syn_definition.at:430;Redefinition of program-name within program;definition;
64;syn_definition.at:460;Redefinition of function-prototype name;definition;
65;syn_definition.at:485;PROCEDURE DIVISION RETURNING OMITTED: main;runmisc;
66;syn_definition.at:505;PROCEDURE DIVISION RETURNING OMITTED: FUNCTION;runmisc;
67;syn_definition.at:524;PROCEDURE DIVISION RETURNING item;runmisc;
68;syn_definition.at:619;Data item with same name as program-name;definition;
69;syn_definition.at:646;Ambiguous reference to 02 items;definition;
70;syn_definition.at:673;Ambiguous reference to 02 and 03 items;definition;
71;syn_definition.at:699;Ambiguous reference with qualification;definition;
72;syn_definition.at:728;Unique reference with ambiguous qualifiers;definition;
73;syn_definition.at:764;Undefined procedure name;definition;
74;syn_definition.at:784;Redefinition of section names;definition;
75;syn_definition.at:805;Redefinition of section and paragraph names;definition;
76;syn_definition.at:826;Redefinition of paragraph names;definition;
77;syn_definition.at:852;Ambiguous reference to paragraph name;definition;
78;syn_definition.at:878;Non-matching level numbers (extension);definition;
79;syn_definition.at:902;CALL BY VALUE alphanumeric item (extension);definition;
80;syn_definition.at:924;Duplicate identification division header;definition;
81;syn_definition.at:939;RETURNING in STOP RUN / GOBACK / EXIT PROGRAM;definition return-code;
82;syn_definition.at:990;Invalid ENVIRONMENT DIVISION order;definition;
83;syn_definition.at:1017;Function without END FUNCTION;definition functions;
84;syn_definition.at:1031;Nested programs without END PROGRAM;definition;
85;syn_definition.at:1053;Nested programs not in procedure division;definition;
86;syn_definition.at:1072;Screen section starts with 78-level;screen definition;
87;syn_definition.at:1088;Invalid PICTURE strings;definition;
88;syn_definition.at:1316;PICTURE strings invalid with BLANK WHEN ZERO;definition;
89;syn_definition.at:1339;PICTURE strings invalid with USAGE;definition;
90;syn_definition.at:1359;Alphabet definition;definition;
91;syn_definition.at:1403;RENAMES item;definition 66;
92;syn_definition.at:1470;RENAMES of 01-, 66- and 77-level items;definition 66 extensions;
93;syn_subscripts.at:23;Non-numeric subscript;subscripts;
94;syn_subscripts.at:49;Subscript range check;subscripts;
95;syn_subscripts.at:89;Subscript bounds with ODO (lower);runsubscripts subscripts;
96;syn_subscripts.at:112;Subscript bounds with ODO (upper);runsubscripts subscripts;
97;syn_subscripts.at:138;Subscripted item requires OCCURS clause;subscripts;
98;syn_subscripts.at:163;Number of subscripts;subscripts;
99;syn_occurs.at:28;OCCURS with level 01 and 77;occurs;
100;syn_occurs.at:53;OCCURS with level 66;occurs renames;
101;syn_occurs.at:72;OCCURS with level 88;occurs;
102;syn_occurs.at:91;OCCURS with variable-occurrence data item;nested occurs depending extensions;
103;syn_occurs.at:152;Nested OCCURS clause;occurs;
104;syn_occurs.at:189;OCCURS DEPENDING with wrong size;occurs range;
105;syn_occurs.at:225;OCCURS DEPENDING followed by another field;occurs extensions;
106;syn_occurs.at:266;OCCURS with unmatched DEPENDING / TO phrases;occurs;
107;syn_occurs.at:301;OCCURS INDEXED before KEY;occurs;
108;syn_occurs.at:339;OCCURS size check;occurs;
109;syn_redefines.at:28;REDEFINES: not following entry-name;redefines;
110;syn_redefines.at:53;REDEFINES: level 02 by 01;redefines;
111;syn_redefines.at:74;REDEFINES: level 03 by 02;redefines;
112;syn_redefines.at:96;REDEFINES: level 66;redefines;
113;syn_redefines.at:118;REDEFINES: level 88;redefines;
114;syn_redefines.at:147;REDEFINES: lower level number;redefines;
115;syn_redefines.at:173;REDEFINES: with OCCURS;redefines;
116;syn_redefines.at:194;REDEFINES: with subscript;redefines;
117;syn_redefines.at:216;REDEFINES: with variable occurrence;redefines;
118;syn_redefines.at:251;REDEFINES: with qualification;redefines;
119;syn_redefines.at:277;REDEFINES: multiple redefinition;redefines;
120;syn_redefines.at:305;REDEFINES: size exceeds;redefines;
121;syn_redefines.at:338;REDEFINES: with VALUE;redefines;
122;syn_redefines.at:370;REDEFINES: with intervention;redefines;
123;syn_redefines.at:399;REDEFINES: within REDEFINES;redefines;
124;syn_redefines.at:419;REDEFINES: non-referenced ambiguous item;redefines;
125;syn_value.at:43;Numeric item (integer);value;
126;syn_value.at:69;Numeric item (non-integer);value;
127;syn_value.at:92;Numeric item with picture P;value;
128;syn_value.at:124;Signed numeric literal;value;
129;syn_value.at:150;Alphabetic item;value;
130;syn_value.at:176;Alphanumeric item;value;
131;syn_value.at:198;Alphanumeric group item;value;
132;syn_value.at:233;Numeric-edited item;value editing;
133;syn_value.at:266;Alphanumeric-edited item;value editing;
134;syn_value.at:334;Implicit picture from value;value;
135;syn_file.at:22;ASSIGN to device-name;file disk device;
136;syn_file.at:89;ASSIGN to printer-name;file printer print device;
137;syn_file.at:156;ASSIGN to lsq-device-name;file printer device;
138;syn_file.at:211;SELECT without ASSIGN;file;
139;syn_file.at:239;START on SEQUENTIAL file;file;
140;syn_file.at:269;valid key items;file record alternate;
141;syn_file.at:319;invalid key items;file record alternate;
142;syn_file.at:371;variable record length;file;
143;syn_file.at:475;variable record length DEPENDING item;file;
144;syn_file.at:549;DECLARATIVES invalid procedure reference;file;
145;syn_file.at:637;DECLARATIVES invalid procedure reference (3);file;
146;syn_file.at:678;RECORDING MODE;file extensions;
147;syn_file.at:707;CODE-SET clause;file;
148;syn_file.at:743;CODE-SET FOR clause;file extensions;
149;syn_file.at:777;WRITE / REWRITE FROM clause and FILE;file record 88;
150;syn_file.at:838;Clauses following invalid ACCESS clause;file;
151;syn_reportwriter.at:23;REPORT SECTION clause numbers;report;
152;syn_refmod.at:25;valid reference modification;refmod;
153;syn_refmod.at:51;Static out of bounds;refmod;
154;syn_refmod.at:82;constant-folding out of bounds;refmod conditions;
155;syn_misc.at:23;ambiguous AND/OR;misc expression;
156;syn_misc.at:54;warn constant expressions;misc expression;
157;syn_misc.at:85;warn literal size;numeric constant expression;
158;syn_misc.at:167;Invalid conditional expression (1);misc;
159;syn_misc.at:280;Invalid conditional expression (2);misc;
160;syn_misc.at:336;Valid conditional expression;misc;
161;syn_misc.at:369;missing headers;misc;
162;syn_misc.at:419;one line program;misc;
163;syn_misc.at:438;empty program;misc;
164;syn_misc.at:477;INITIALIZE constant;misc;
165;syn_misc.at:504;CLASS duplicate values;misc;
166;syn_misc.at:539;INSPECT invalid size;misc;
167;syn_misc.at:568;INSPECT invalid target;misc;
168;syn_misc.at:591;INSPECT missing keyword;misc;
169;syn_misc.at:612;INSPECT repeated keywords;misc;
170;syn_misc.at:644;INSPECT incomplete clause;misc;
171;syn_misc.at:666;INSPECT multiple BEFORE/AFTER clauses;misc;
172;syn_misc.at:689;maximum data size;misc;
173;syn_misc.at:718;unreachable statement;misc extensions;
174;syn_misc.at:760;CRT STATUS;special-names misc;
175;syn_misc.at:802;CURRENCY SIGN;special-names misc;
176;syn_misc.at:918;SWITCHES;runmisc extensions;
177;syn_misc.at:1045;unexpected mnemonic-name location;misc;
178;syn_misc.at:1072;wrong device for mnemonic-name;misc accept display special-names;
179;syn_misc.at:1097;missing mnemonic-name declaration;misc accept special-names;
180;syn_misc.at:1118;unknown device in dialect;misc accept display special-names;
181;syn_misc.at:1148;ACCEPT WITH ( NO ) UPDATE / DEFAULT;misc extensions;
182;syn_misc.at:1173;ACCEPT WITH AUTO / TAB;auto-skip autoterminate misc extensions;
183;syn_misc.at:1198;ACCEPT WITH SIZE;protected size misc extensions;
184;syn_misc.at:1222;DISPLAY WITH SIZE;size misc extensions;
185;syn_misc.at:1244;source text after program-text area;misc fixed;
186;syn_misc.at:1265;line overflow in Fixed-form / Free-form;misc;
187;syn_misc.at:1313;continuation Indicator - too many lines;misc fixed literals listing;
188;syn_misc.at:1870;continuation of COBOL words;misc fixed literals;
189;syn_misc.at:1891;literal too long;misc literals literal-length continuation listing;
190;syn_misc.at:2126;line and floating comments;misc extensions indicator;
191;syn_misc.at:2287;word length;misc word-length;
192;syn_misc.at:2450;Numeric literals;misc numeric-literal-length;
193;syn_misc.at:2629;floating-point literals;misc;
194;syn_misc.at:2734;X literals;misc;
195;syn_misc.at:2761;national literals;misc;
196;syn_misc.at:2791;NX literals;misc;
197;syn_misc.at:2829;binary literals;misc extensions;
198;syn_misc.at:2865;binary-hexadecimal literals;misc extensions;
199;syn_misc.at:2894;ACUCOBOL literals;misc acu extensions;
200;syn_misc.at:2956;Segmentation Module;misc;
201;syn_misc.at:3048;ACUCOBOL 32bit literal size;extensions literals;
202;syn_misc.at:3079;ACUCOBOL USAGE HANDLE;misc acu extensions;
203;syn_misc.at:3160;ACUCOBOL WINDOW statements;misc acu extensions;
204;syn_misc.at:3211;adding/removing reserved words;misc extensions configuration;
205;syn_misc.at:3238;adding aliases;misc extensions configuration;
206;syn_misc.at:3272;complete specified word list;misc extensions configuration;
207;syn_misc.at:3293;ANY LENGTH item as BY VALUE formal parameter;misc by value;
208;syn_misc.at:3316;swapped SOURCE- and OBJECT-COMPUTER;misc extensions;
209;syn_misc.at:3335;CONF. SECTION paragraphs in wrong order;misc extensions;
210;syn_misc.at:3402;NOT ON EXCEPTION phrases before ON EXCEPTION;misc;
211;syn_misc.at:3466;wrong dialect hints;misc;
212;syn_misc.at:3490;redundant periods;misc;
213;syn_misc.at:3520;STRING / UNSTRING with invalid syntax;misc;
214;syn_misc.at:3585;use of program-prototypes;misc;
215;syn_misc.at:3612;invalid INSPECT/TRANSFORM operands;misc inspect transform;
216;syn_misc.at:3656;SIGN clause checks;misc;
217;syn_misc.at:3681;conflicting entry conventions;misc entry-convention;
218;syn_misc.at:3704;ADD / SUBTRACT TABLE;misc;
219;syn_misc.at:3747;Empty PERFORM with DEBUGGING MODE;misc;
220;syn_misc.at:3774;STOP identifier;misc extensions;
221;syn_misc.at:3800;01 CONSTANT;constant;
222;syn_misc.at:3848;78 VALUE;constant;
223;syn_misc.at:3890;level 78 NEXT / START OF;extensions constant;
224;syn_misc.at:3948;Constant Expressions (1);conditions refmod if evaluate;
225;syn_misc.at:4068;Constant Expressions (2);conditions refmod if evaluate;
226;syn_move.at:37;MOVE SPACE TO numeric or numeric-edited item;move editing;
227;syn_move.at:63;MOVE ZERO TO alphabetic item;move;
228;syn_move.at:89;MOVE alphabetic TO x;move;
229;syn_move.at:120;MOVE alphanumeric TO x;move;
230;syn_move.at:148;MOVE alphanumeric-edited TO x;move editing;
231;syn_move.at:179;MOVE numeric (integer) TO x;move;
232;syn_move.at:209;MOVE numeric (non-integer) TO x;move;
233;syn_move.at:241;MOVE numeric-edited TO x;move editing;
234;syn_move.at:276;CORRESPONDING - Operands must be groups;move;
235;syn_move.at:306;CORRESPONDING - Target has no matching items;move;
236;syn_move.at:332;MOVE to erroneous field;move;
237;syn_move.at:355;Overlapping MOVE;move;
238;syn_move.at:435;invalid source for MOVE;move label program-prototype;
239;syn_move.at:465;invalid target for MOVE;move constant label program-prototype;
240;syn_multiply.at:28;Category check of Format 1;multiply;
241;syn_multiply.at:67;Category check of Format 2;multiply;
242;syn_multiply.at:108;Category check of literals;multiply;
243;syn_screen.at:24;Flexible ACCEPT/DISPLAY syntax;screen accept display;
244;syn_screen.at:92;Duplicate ACCEPT/DISPLAY clauses;screen accept display;
245;syn_screen.at:121;AT clause;screen extensions;
246;syn_screen.at:165;ACCEPT/DISPLAY extensions detection;at line column accept display screen extensions;
247;syn_screen.at:211;FROM clause;screen;
248;syn_screen.at:237;SCREEN SECTION clause numbers;screen;
249;syn_screen.at:265;Screen clauses;screen;
250;syn_screen.at:291;ACCEPT ON EXCEPTION/ESCAPE;screen;
251;syn_screen.at:321;Referencing 88-level;screen;
252;syn_screen.at:351;Conflicting screen clauses;screen;
253;syn_screen.at:412;Redundant screen clauses;screen;
254;syn_screen.at:445;Screen item OCCURS w-/wo relative LINE/COL;occurs;
255;syn_screen.at:496;VALUE clause missing;screen;
256;syn_set.at:24;SET: misc;set;
257;syn_functions.at:22;ANY LENGTH / NUMERIC as function RETURNING item;functions extensions;
258;syn_functions.at:64;REPOSITORY INTRINSIC phrase;functions;
259;syn_functions.at:87;REPOSITORY FUNCTION phrase;functions;
260;syn_functions.at:135;Redundant REPOSITORY entries;functions;
261;syn_functions.at:174;Missing prototype/definition;functions programs prototypes;
262;syn_functions.at:205;Empty function;functions;
263;syn_functions.at:232;Function definition inside program;functions;
264;syn_functions.at:255;Intrinsic functions: dialect;functions;
265;syn_functions.at:280;Intrinsic functions: replaced;functions substitute;
266;syn_functions.at:324;Intrinsic functions: number of arguments;functions;
267;syn_functions.at:364;Intrinsic functions: reference modification;functions refmod;
268;syn_functions.at:412;Intrinsic functions: Parameter type;functions;
269;syn_functions.at:435;invalid formatted date/time args;functions formatted-date formatted-current-date formatted-time formatted-datetime integer-of-formatted-date seconds-from-formatted-time;
270;syn_functions.at:516;invalid formats w/ DECIMAL-POINT IS COMMA;functions formatted-time formatted-datetime;
271;syn_functions.at:550;Specified offset and SYSTEM-OFFSET;functions formatted-time formatted-datetime;
272;listings.at:21;COPY within comment;listing;
273;listings.at:97;Replacement w/o strings;listing symbols;
274;listings.at:160;COPY replacement order;listing symbols;
275;listings.at:263;COPY separators;listing symbols;
276;listings.at:329;COPY partial replacement;listing symbols;
277;listings.at:399;COPY LEADING replacement;listing symbols;
278;listings.at:469;COPY TRAILING replacement;listing symbols;
279;listings.at:540;COPY recursive replacement;listing symbols;
280;listings.at:606;COPY multiple files;listing symbols;
281;listings.at:821;Error/Warning messages;listing error warning symbols;
282;listings.at:1193;Two source files;listing;
283;listings.at:1261;Multiple programs in one file;listing symbols;
284;listings.at:1480;Wide listing;listing;
285;listings.at:1568;Symbols: simple;listing comp;
286;listings.at:1734;Symbols: pointer;listing;
287;listings.at:2029;Symbols: mutliple programs/functions;listing program function;
288;listings.at:2156;Symbols: OCCURS/REDEFINES;listing;
289;listings.at:2269;Conditional compilation;listing;
290;listings.at:2329;File descriptions;listing;
291;listings.at:2682;Invalid PICTURE strings;listing;
292;listings.at:3003;Variable format;listing;
293;listings.at:3047;LISTING directive;listing;
294;listings.at:3148;Listing-directive statements;listing directive eject skip1 skip2 skip3 title;
295;listings.at:3209;Eject page;listing directive;
296;listings.at:3418;Cross reference;listing;
297;run_fundamental.at:23;DISPLAY literals;fundamental;
298;run_fundamental.at:85;DISPLAY literals, DECIMAL-POINT is COMMA;fundamental;
299;run_fundamental.at:124;Hexadecimal literal;fundamental;
300;run_fundamental.at:167;DISPLAY data items with VALUE clause;fundamental;
301;run_fundamental.at:214;DISPLAY data items with MOVE statement;fundamental;
302;run_fundamental.at:268;MOVE to edited item (1);fundamental editing;
303;run_fundamental.at:317;MOVE to edited item (2);fundamental editing;
304;run_fundamental.at:366;MOVE to item with simple and floating insertion;fundamental edited editing;
305;run_fundamental.at:396;MOVE to JUSTIFIED item;fundamental;
306;run_fundamental.at:441;MOVE integer literal to alphanumeric;fundamental;
307;run_fundamental.at:466;Check for equality of FLOAT-SHORT / FLOAT-LONG;fundamental;
308;run_fundamental.at:589;Overlapping MOVE;fundamental;
309;run_fundamental.at:690;Overlapping MOVE;fundamental;
310;run_fundamental.at:732;IBM MOVE;fundamental;
311;run_fundamental.at:771;ALPHABETIC test;fundamental;
312;run_fundamental.at:803;ALPHABETIC-UPPER test;fundamental;
313;run_fundamental.at:835;ALPHABETIC-LOWER test;fundamental;
314;run_fundamental.at:867;GLOBAL at same level;fundamental;
315;run_fundamental.at:916;GLOBAL at lower level;fundamental;
316;run_fundamental.at:965;GLOBAL CONSTANT;fundamental;
317;run_fundamental.at:1050;Contained program visibility (1);fundamental;
318;run_fundamental.at:1105;Contained program visibility (2);fundamental;
319;run_fundamental.at:1158;Contained program visibility (3);fundamental;
320;run_fundamental.at:1209;Contained program visibility (4);fundamental;
321;run_fundamental.at:1264;CALL/CANCEL with program-prototype-name;fundamental;
322;run_fundamental.at:1337;GLOBAL FD (1);fundamental;
323;run_fundamental.at:1387;GLOBAL FD (2);fundamental;
324;run_fundamental.at:1437;GLOBAL FD (3);fundamental;
325;run_fundamental.at:1487;GLOBAL FD (4);fundamental;
326;run_fundamental.at:1537;CANCEL test (1);fundamental;
327;run_fundamental.at:1564;CANCEL test (2);fundamental;
328;run_fundamental.at:1604;CANCEL test (3);fundamental;
329;run_fundamental.at:1647;Separate sign positions (1);fundamental;
330;run_fundamental.at:1671;Separate sign positions (2);fundamental;
331;run_fundamental.at:1704;Context sensitive words (1);fundamental byte-length;
332;run_fundamental.at:1727;Context sensitive words (2);fundamental yyyymmdd;
333;run_fundamental.at:1751;Context sensitive words (3);fundamental yyyyddd;
334;run_fundamental.at:1775;Context sensitive words (4);fundamental intrinsic;
335;run_fundamental.at:1800;Context sensitive words (5);fundamental recursive;
336;run_fundamental.at:1823;Context sensitive words (6);fundamental normal;
337;run_fundamental.at:1846;Context sensitive words (7);fundamental compute away-from-zero;
338;run_fundamental.at:1873;ROUNDED AWAY-FROM-ZERO;fundamental compute;
339;run_fundamental.at:1936;ROUNDED NEAREST-AWAY-FROM-ZERO;fundamental compute;
340;run_fundamental.at:1999;ROUNDED NEAREST-EVEN;fundamental compute;
341;run_fundamental.at:2062;ROUNDED NEAREST-TOWARD-ZERO;fundamental compute;
342;run_fundamental.at:2125;ROUNDED TOWARD-GREATER;fundamental compute;
343;run_fundamental.at:2188;ROUNDED TOWARD-LESSER;fundamental compute;
344;run_fundamental.at:2251;ROUNDED TRUNCATION;fundamental compute;
345;run_fundamental.at:2314;Numeric operations (1);fundamental add subtract;
346;run_fundamental.at:2358;Numeric operations (2);fundamental add subtract;
347;run_fundamental.at:2664;Numeric operations (3);fundamental add subtract;
348;run_fundamental.at:2970;Numeric operations (4);fundamental add subtract;
349;run_fundamental.at:3276;Numeric operations (5);fundamental add subtract;
350;run_fundamental.at:3582;Numeric operations (6);fundamental add;
351;run_fundamental.at:3651;Numeric operations (7);fundamental add compute literal;
352;run_fundamental.at:3943;Numeric operations (8);fundamental compute literal;
353;run_fundamental.at:3993;ADD CORRESPONDING;fundamental corresponding;
354;run_fundamental.at:4041;ADD CORRESPONDING no match;fundamental corresponding;
355;run_fundamental.at:4091;SYNC in OCCURS;fundamental synchronize;
356;run_subscripts.at:26;Subscript out of bounds;runsubscripts subscripts;
357;run_subscripts.at:71;Value of DEPENDING ON N out of bounds;runsubscripts subscripts;
358;run_subscripts.at:122;Subscript bounds with ODO;runsubscripts subscripts;
359;run_subscripts.at:148;Subscript by arithmetic expression;runsubscripts subscripts;
360;run_subscripts.at:179;length of ODO w/- reference modification;runsubscripts subscripts;
361;run_subscripts.at:235;SEARCH ALL with OCCURS DEPENDING ON;runsubscripts subscripts odo;
362;run_refmod.at:25;Static reference modification;refmod;
363;run_refmod.at:57;Dynamic reference modification;refmod;
364;run_refmod.at:94;Offset underflow;refmod;
365;run_refmod.at:118;Offset overflow;refmod;
366;run_refmod.at:142;Length underflow;refmod;
367;run_refmod.at:166;Length overflow;refmod;
368;run_accept.at:28;ACCEPT OMITTED (simple);accept extensions;
369;run_accept.at:54;ACCEPT FROM TIME / DATE / DAY / DAY-OF-WEEK (1);accept;
370;run_accept.at:121;ACCEPT FROM TIME / DATE / DAY / DAY-OF-WEEK (2);accept configuration cob_current_date;
371;run_accept.at:207;ACCEPT OMITTED (SCREEN);accept extensions;
372;run_initialize.at:27;INITIALIZE group entry with OCCURS;initialize;
373;run_initialize.at:55;INITIALIZE OCCURS with numeric edited;initialize editing;
374;run_initialize.at:81;INITIALIZE complex group (1);initialize;
375;run_initialize.at:108;INITIALIZE complex group (2);initialize;
376;run_initialize.at:135;INITIALIZE with REDEFINES;initialize;
377;run_initialize.at:161;INITIALIZE with FILLER;initialize;
378;run_initialize.at:227;INITIALIZE of EXTERNAL data items;initialize;
379;run_initialize.at:277;INITIALIZE with reference modification;initialize;
380;run_misc.at:23;Comma separator without space;runmisc;
381;run_misc.at:41;LOCAL-STORAGE (1);runmisc;
382;run_misc.at:77;LOCAL-STORAGE (2);runmisc;
383;run_misc.at:125;EXTERNAL data item;runmisc;
384;run_misc.at:167;EXTERNAL AS data item;runmisc;
385;run_misc.at:218;MOVE to itself;runmisc;
386;run_misc.at:244;MOVE with refmod;runmisc;
387;run_misc.at:268;MOVE with refmod (variable);runmisc;
388;run_misc.at:294;MOVE with group refmod;runmisc;
389;run_misc.at:319;MOVE indexes;runmisc;
390;run_misc.at:345;MOVE X'00';runmisc;
391;run_misc.at:380;MOVE Z'literal';runmisc literal;
392;run_misc.at:422;Floating continuation indicator;runmisc;
393;run_misc.at:444;Fixed continuation indicator;;
394;run_misc.at:486;Concatenation operator;runmisc;
395;run_misc.at:510;SOURCE FIXED/FREE directives;runmisc sourceformat fixed free;
396;run_misc.at:547;Level 01 subscripts;runmisc;
397;run_misc.at:569;Class check with reference modification;runmisc;
398;run_misc.at:593;Index and parenthesized expression;runmisc;
399;run_misc.at:617;Alphanumeric and binary numeric;runmisc;
400;run_misc.at:644;Dynamic call with static linking;runmisc;
401;run_misc.at:671;CALL m1. CALL m2. CALL m1.;runmisc;
402;run_misc.at:726;Recursive CALL of RECURSIVE program;runmisc;
403;run_misc.at:778;Recursive CALL of INITIAL program;runmisc;
404;run_misc.at:828;Multiple calls of INITIAL program;runmisc call;
405;run_misc.at:885;CALL binary literal parameter/LENGTH OF;runmisc;
406;run_misc.at:939;INSPECT: REPLACING LEADING ZEROS BY SPACES;runmisc inspect;
407;run_misc.at:963;INSPECT: No repeat conversion check;runmisc inspect;
408;run_misc.at:987;INSPECT: CONVERTING TO figurative constant;runmisc inspect;
409;run_misc.at:1011;INSPECT: CONVERTING NULL;runmisc inspect;
410;run_misc.at:1035;INSPECT: CONVERTING TO NULL;runmisc inspect;
411;run_misc.at:1059;INSPECT: REPLACING figurative constant;runmisc inspect;
412;run_misc.at:1083;INSPECT: TALLYING BEFORE;runmisc inspect;
413;run_misc.at:1118;INSPECT: TALLYING AFTER;runmisc inspect;
414;run_misc.at:1153;INSPECT: REPLACING TRAILING ZEROS BY SPACES;runmisc inspect;
415;run_misc.at:1177;INSPECT: REPLACING complex;runmisc inspect;
416;run_misc.at:1203;SWITCHES (environment COB_SWITCH_n and SET);runmisc;
417;run_misc.at:1300;Nested PERFORM;runmisc;
418;run_misc.at:1325;EXIT PERFORM;runmisc;
419;run_misc.at:1350;EXIT PERFORM CYCLE;runmisc;
420;run_misc.at:1375;EXIT PARAGRAPH;runmisc;
421;run_misc.at:1407;EXIT SECTION;runmisc;
422;run_misc.at:1441;PERFORM UNTIL EXIT;runmisc;
423;run_misc.at:1472;PERFORM inline (1);runmisc;
424;run_misc.at:1499;PERFORM inline (2);runmisc;
425;run_misc.at:1524;88 with FILLER;runmisc;
426;run_misc.at:1553;Non-overflow after overflow;runmisc;
427;run_misc.at:1583;PERFORM ... CONTINUE;runmisc;
428;run_misc.at:1600;STRING with subscript reference;runmisc;
429;run_misc.at:1627;UNSTRING DELIMITED ALL LOW-VALUE;runmisc;
430;run_misc.at:1662;UNSTRING DELIMITED ALL SPACE-2;runmisc;
431;run_misc.at:1727;UNSTRING DELIMITED POINTER;runmisc;
432;run_misc.at:1781;UNSTRING DELIMITER IN;runmisc;
433;run_misc.at:1823;UNSTRING with FUNCTION / literal;runmisc;
434;run_misc.at:1893;SORT: table sort;runmisc;
435;run_misc.at:1935;SORT: table sort (2);runmisc;
436;run_misc.at:2060;SORT: table sort (3);runmisc;
437;run_misc.at:2101;SORT: EBCDIC table sort;runmisc;
438;run_misc.at:2139;PIC ZZZ-, ZZZ+;runmisc editing;
439;run_misc.at:2192;PERFORM type OSVS;runmisc;
440;run_misc.at:2229;Sticky LINKAGE;runmisc;
441;run_misc.at:2276;COB_PRE_LOAD test;runmisc;
442;run_misc.at:2302;COB_PRE_LOAD with entry points;runmisc;
443;run_misc.at:2376;Lookup ENTRY from main executable;runmisc;
444;run_misc.at:2418;COB_LOAD_CASE=UPPER test;runmisc;
445;run_misc.at:2444;88 level with FALSE IS clause;runmisc;
446;run_misc.at:2472;ALLOCATE / FREE with BASED item (1);runmisc;
447;run_misc.at:2499;ALLOCATE / FREE with BASED item (2);runmisc;
448;run_misc.at:2546;ALLOCATE CHARACTERS INITIALIZED TO;runmisc;
449;run_misc.at:2587;Initialized value with defaultbyte;runmisc;
450;run_misc.at:2612;CALL with OMITTED parameter;runmisc;
451;run_misc.at:2651;CALL in from C, cob_call_params explicitly set;runmisc;
452;run_misc.at:2700;CALL in from C, cob_call_params unknown;runmisc;
453;run_misc.at:2747;CALL C with callback, PROCEDURE DIVISION EXTERN;runmisc extensions call-convention;
454;run_misc.at:2813;CALL C with callback, ENTRY-CONVENTION EXTERN;runmisc;
455;run_misc.at:2879;CALL in from C with init missing / implicit;runmisc implicit-init;
456;run_misc.at:2929;CALL STATIC C from COBOL;runmisc;
457;run_misc.at:2985;ANY LENGTH (1);runmisc;
458;run_misc.at:3028;ANY LENGTH (2);runmisc;
459;run_misc.at:3072;access to BASED item without allocation;runmisc;
460;run_misc.at:3113;access to OPTIONAL LINKAGE item not passed;runmisc;
461;run_misc.at:3155;STOP RUN WITH NORMAL STATUS;runmisc;
462;run_misc.at:3173;STOP RUN WITH ERROR STATUS;runmisc;
463;run_misc.at:3191;DECLARATIVES procedure referencing;runmisc;
464;run_misc.at:3231;DECLARATIVES procedure referencing (multiple);runmisc;
465;run_misc.at:3275;SYMBOLIC clause;runmisc;
466;run_misc.at:3312;OCCURS clause with 1 entry;runmisc;
467;run_misc.at:3361;Computing of different USAGEs w/o decimal point;runmisc binary-c-long binary-char binary-double binary-long comp comp-1 comp-2 comp-3 comp-5 comp-6 float-decimal-16 float-decimal-34 float-long float-short;
468;run_misc.at:3869;Computing of different USAGEs w/- decimal point;runmisc binary-c-long binary-char binary-double binary-long comp comp-1 comp-2 comp-3 comp-5 comp-6 float-decimal-16 float-decimal-34 float-long float-short;
469;run_misc.at:4377;C/C++ reserved words/predefined identifiers;runmisc;
470;run_misc.at:4837;ON EXCEPTION clause of DISPLAY;runmisc exceptions screen;
471;run_misc.at:4862;EC-SCREEN-LINE-NUMBER and -STARTING-COLUMN;runmisc exceptions screen;
472;run_misc.at:4903;LINE/COLUMN 0 exceptions;line column runmisc exceptions extensions screen;
473;run_misc.at:4941;SET LAST EXCEPTION TO OFF;runmisc exceptions;
474;run_misc.at:4973;void PROCEDURE;runmisc;
475;run_misc.at:5003;void PROCEDURE, NOTHING return;runmisc;
476;run_misc.at:5034;READY TRACE / RESET TRACE;runmisc -ftrace -ftraceall -fsource-location cob_physical_cancel cob_pre_load physical_cancel pre_load;
477;run_misc.at:5162;CALL with program prototypes;runmisc;
478;run_misc.at:5218;REDEFINES values on FILLER and INITIALIZE;runmisc initialize;
479;run_misc.at:5271;PICTURE with constant-name;runmisc;
480;run_misc.at:5296;Quote marks in comment paragraphs;runmisc;
481;run_misc.at:5321;MOVE with -fbinary-truncate;runmisc;
482;run_misc.at:5377;PROGRAM-ID / CALL literal/variable with spaces;call;
483;run_misc.at:5444;C API Test;call;
484;run_misc.at:5657;DEFAULT ROUNDED MODE;runmisc;
485;run_misc.at:5687;OCCURS INDEXED ASCENDING;occurs extension;
486;run_misc.at:5785;ZERO unsigned and negative binary subscript;runmisc;
487;run_misc.at:5848;Default Arithmetic;runmisc;
488;run_misc.at:5952;OSVS Arithmetic;runmisc;
489;run_misc.at:6074;SET CONSTANT directive;misc directives extensions;
490;run_misc.at:6177;DEFINE OVERRIDE;cdf directive;
491;run_misc.at:6243;DEFINE Defaults;cdf directive;
492;run_misc.at:6309;78 VALUE;constant misc;
493;run_misc.at:6377;01 CONSTANT;misc;
494;run_file.at:22;READ INTO AT-END sequence;runfile;
495;run_file.at:59;First READ on empty SEQUENTIAL INDEXED file;runfile;
496;run_file.at:99;REWRITE a RELATIVE file with RANDOM access;runfile;
497;run_file.at:166;SORT with SD, I/O SEQUENTIAL;runfile using giving;
498;run_file.at:216;SORT with SD, I/O LINE SEQUENTIAL;runfile using giving;
499;run_file.at:275;SORT with SD, I/O LINE SEQUENTIAL same file;runfile using giving;
500;run_file.at:332;SORT nonexistent file;runfile;
501;run_file.at:367;ASSIGN with LOCAL-STORAGE item;runfile;
502;run_file.at:403;ASSIGN with LOCAL-STORAGE item and INITIAL prog;runfile;
503;run_file.at:443;WRITE+REWRITE FILE name;runfile;
504;run_file.at:595;START RELATIVE (1);fundamental runfile delete file;
505;run_file.at:644;START RELATIVE (2);fundamental runfile delete file;
506;run_file.at:721;Read on optional missing file;fileio;
507;run_file.at:781;System routines for directories;extensions runfile cbl_create_dir cbl_change_dir cbl_delete_dir;
508;run_file.at:823;System routines for files;extensions runfile cbl_create_file cbl_write_file cbl_flush_file cbl_open_file cbl_read_file cbl_close_file cbl_rename_file cbl_delete_file c\$delete;
509;run_file.at:993;System routine CBL_COPY_FILE;extensions runfile;
510;run_returncode.at:23;RETURN-CODE moving;returncode;
511;run_returncode.at:49;RETURN-CODE passing;returncode;
512;run_returncode.at:101;RETURN-CODE nested;returncode;
513;run_functions.at:24;FUNCTION ABS;functions;
514;run_functions.at:46;FUNCTION ACOS;functions;
515;run_functions.at:70;FUNCTION ANNUITY;functions;
516;run_functions.at:94;FUNCTION ASIN;functions;
517;run_functions.at:118;FUNCTION ATAN;functions;
518;run_functions.at:142;FUNCTION BYTE-LENGTH;functions;
519;run_functions.at:177;FUNCTION CHAR;functions;
520;run_functions.at:215;FUNCTION COMBINED-DATETIME;functions;
521;run_functions.at:240;FUNCTION CONCATENATE;functions;
522;run_functions.at:279;FUNCTION CONCATENATE with reference modding;functions;
523;run_functions.at:307;FUNCTION as CALL parameter BY CONTENT;functions;
524;run_functions.at:343;FUNCTION COS;functions;
525;run_functions.at:367;FUNCTION CURRENCY-SYMBOL;functions;
526;run_functions.at:390;FUNCTION CURRENT-DATE;functions;
527;run_functions.at:461;FUNCTION DATE-OF-INTEGER;functions;
528;run_functions.at:486;FUNCTION DATE-TO-YYYYMMDD;functions;
529;run_functions.at:511;FUNCTION DAY-OF-INTEGER;functions;
530;run_functions.at:536;FUNCTION DAY-TO-YYYYDDD;functions;
531;run_functions.at:561;FUNCTION E;functions;
532;run_functions.at:585;FUNCTION EXCEPTION-FILE;functions;
533;run_functions.at:617;FUNCTION EXCEPTION-LOCATION;functions;
534;run_functions.at:653;FUNCTION EXCEPTION-STATEMENT;functions;
535;run_functions.at:685;FUNCTION EXCEPTION-STATUS;functions;
536;run_functions.at:717;FUNCTION EXP;functions;
537;run_functions.at:741;FUNCTION EXP10;functions;
538;run_functions.at:766;FUNCTION FACTORIAL;functions;
539;run_functions.at:791;FUNCTION FORMATTED-CURRENT-DATE;functions;
540;run_functions.at:819;FUNCTION FORMATTED-DATE;functions;
541;run_functions.at:882;FUNCTION FORMATTED-DATE with ref modding;functions;
542;run_functions.at:907;FUNCTION FORMATTED-DATETIME;functions;
543;run_functions.at:964;FUNCTION FORMATTED-DATETIME with ref modding;functions;
544;run_functions.at:990;FUNCTION FORMATTED-TIME;functions;
545;run_functions.at:1077;FUNCTION FORMATTED-TIME DP.COMMA;functions;
546;run_functions.at:1108;FUNCTION FORMATTED-TIME with ref modding;functions;
547;run_functions.at:1133;FUNCTION FRACTION-PART;functions;
548;run_functions.at:1164;FUNCTION HIGHEST-ALGEBRAIC;functions;
549;run_functions.at:1232;FUNCTION INTEGER;functions;
550;run_functions.at:1265;FUNCTION INTEGER-OF-DATE;functions;
551;run_functions.at:1290;FUNCTION INTEGER-OF-DAY;functions;
552;run_functions.at:1315;FUNCTION INTEGER-OF-FORMATTED-DATE;functions;
553;run_functions.at:1365;FUNCTION INTEGER-PART;functions;
554;run_functions.at:1391;FUNCTION LENGTH;functions;
555;run_functions.at:1417;FUNCTION LOCALE-COMPARE;functions;
556;run_functions.at:1447;FUNCTION LOCALE-DATE;functions;
557;run_functions.at:1473;FUNCTION LOCALE-TIME;functions;
558;run_functions.at:1499;FUNCTION LOCALE-TIME-FROM-SECONDS;functions;
559;run_functions.at:1525;FUNCTION LOG;functions;
560;run_functions.at:1549;FUNCTION LOG10;functions;
561;run_functions.at:1573;FUNCTION LOWER-CASE;functions;
562;run_functions.at:1601;FUNCTION LOWER-CASE with reference modding;functions;
563;run_functions.at:1627;FUNCTION LOWEST-ALGEBRAIC;functions;
564;run_functions.at:1680;FUNCTION MAX;functions;
565;run_functions.at:1702;FUNCTION MEAN;functions;
566;run_functions.at:1724;FUNCTION MEDIAN;functions;
567;run_functions.at:1746;FUNCTION MIDRANGE;functions;
568;run_functions.at:1768;FUNCTION MIN;functions;
569;run_functions.at:1790;FUNCTION MOD;functions;
570;run_functions.at:1816;FUNCTION MODULE-CALLER-ID;functions;
571;run_functions.at:1850;FUNCTION MODULE-DATE;functions;
572;run_functions.at:1875;FUNCTION MODULE-FORMATTED-DATE;functions;
573;run_functions.at:1900;FUNCTION MODULE-ID;functions;
574;run_functions.at:1921;FUNCTION MODULE-PATH;functions;
575;run_functions.at:1946;FUNCTION MODULE-SOURCE;functions;
576;run_functions.at:1967;FUNCTION MODULE-TIME;functions;
577;run_functions.at:1992;FUNCTION MONETARY-DECIMAL-POINT;functions;
578;run_functions.at:2015;FUNCTION MONETARY-THOUSANDS-SEPARATOR;functions;
579;run_functions.at:2038;FUNCTION NUMERIC-DECIMAL-POINT;functions;
580;run_functions.at:2061;FUNCTION NUMERIC-THOUSANDS-SEPARATOR;functions;
581;run_functions.at:2084;FUNCTION NUMVAL;functions;
582;run_functions.at:2115;FUNCTION NUMVAL-C;functions;
583;run_functions.at:2146;FUNCTION NUMVAL-C DP.COMMA;functions;
584;run_functions.at:2176;FUNCTION NUMVAL-F;functions;
585;run_functions.at:2199;FUNCTION ORD;functions;
586;run_functions.at:2221;FUNCTION ORD-MAX;functions;
587;run_functions.at:2243;FUNCTION ORD-MIN;functions;
588;run_functions.at:2265;FUNCTION PI;functions;
589;run_functions.at:2289;FUNCTION PRESENT-VALUE;functions;
590;run_functions.at:2311;FUNCTION RANDOM;functions;
591;run_functions.at:2335;FUNCTION RANGE;functions;
592;run_functions.at:2359;FUNCTION REM;functions;
593;run_functions.at:2383;FUNCTION REVERSE;functions;
594;run_functions.at:2408;FUNCTION REVERSE with reference modding;functions;
595;run_functions.at:2433;FUNCTION SECONDS-FROM-FORMATTED-TIME;functions;
596;run_functions.at:2500;FUNCTION SECONDS-PAST-MIDNIGHT;functions;
597;run_functions.at:2524;FUNCTION SIGN;functions;
598;run_functions.at:2563;FUNCTION SIN;functions;
599;run_functions.at:2587;FUNCTION SQRT;functions;
600;run_functions.at:2611;FUNCTION STANDARD-DEVIATION;functions;
601;run_functions.at:2635;FUNCTION STORED-CHAR-LENGTH;functions;
602;run_functions.at:2661;FUNCTION SUBSTITUTE;functions;
603;run_functions.at:2690;FUNCTION SUBSTITUTE with reference modding;functions;
604;run_functions.at:2718;FUNCTION SUBSTITUTE-CASE;functions;
605;run_functions.at:2745;FUNCTION SUBSTITUTE-CASE with reference mod;functions;
606;run_functions.at:2773;FUNCTION SUM;functions;
607;run_functions.at:2797;FUNCTION TAN;functions;
608;run_functions.at:2821;FUNCTION TEST-DATE-YYYYMMDD;functions;
609;run_functions.at:2843;FUNCTION TEST-DAY-YYYYDDD;functions;
610;run_functions.at:2865;FUNCTION TEST-FORMATTED-DATETIME with dates;functions;
611;run_functions.at:2992;FUNCTION TEST-FORMATTED-DATETIME with times;functions;
612;run_functions.at:3073;FUNCTION TEST-FORMATTED-DATETIME with datetimes;functions;
613;run_functions.at:3126;FUNCTION TEST-FORMATTED-DATETIME DP.COMMA;functions;
614;run_functions.at:3167;FUNCTION TEST-NUMVAL;functions;
615;run_functions.at:3265;FUNCTION TEST-NUMVAL-C;functions;
616;run_functions.at:3363;FUNCTION TEST-NUMVAL-F;functions;
617;run_functions.at:3461;FUNCTION TRIM;functions;
618;run_functions.at:3487;FUNCTION TRIM with reference modding;functions;
619;run_functions.at:3513;FUNCTION TRIM zero length;functions;
620;run_functions.at:3540;FUNCTION UPPER-CASE;functions;
621;run_functions.at:3565;FUNCTION UPPER-CASE with reference modding;functions;
622;run_functions.at:3590;FUNCTION VARIANCE;functions;
623;run_functions.at:3614;FUNCTION WHEN-COMPILED;functions;
624;run_functions.at:3640;FUNCTION YEAR-TO-YYYY;functions;
625;run_functions.at:3664;Formatted funcs w/ invalid variable format;functions;
626;run_functions.at:3766;FORMATTED-(DATE)TIME with SYSTEM-OFFSET;functions formatted-time formatted-datetime extensions;
627;run_functions.at:3806;Intrinsics without FUNCTION keyword (1);functions;
628;run_functions.at:3827;Intrinsics without FUNCTION keyword (2);functions;
629;run_functions.at:3850;User-Defined FUNCTION with/without parameter;functions;
630;run_functions.at:3901;UDF in COMPUTE;functions;
631;run_functions.at:3944;UDF replacing intrinsic function;functions substitute;
632;run_extensions.at:24;CALL BY CONTENT binary and literal;extensions literals;
633;run_extensions.at:72;Numeric Boolean literal;extensions literals;
634;run_extensions.at:102;ACUCOBOL literal;extensions literals;
635;run_extensions.at:129;Hexadecimal numeric literal;extensions literals;
636;run_extensions.at:157;Semi-parenthesized condition;extensions;
637;run_extensions.at:177;ADDRESS OF;extensions;
638;run_extensions.at:227;LENGTH OF;extensions;
639;run_extensions.at:303;SET TO SIZE OF;extensions acu length;
640;run_extensions.at:340;WHEN-COMPILED;extensions;
641;run_extensions.at:369;Complex OCCURS DEPENDING ON (1);extensions;
642;run_extensions.at:398;Complex OCCURS DEPENDING ON (2);extensions;
643;run_extensions.at:461;Complex OCCURS DEPENDING ON (3);extensions;
644;run_extensions.at:524;Complex OCCURS DEPENDING ON (4);extensions;
645;run_extensions.at:590;Complex OCCURS DEPENDING ON (5);extensions;
646;run_extensions.at:657;Complex OCCURS DEPENDING ON (6);extensions runsubscripts nested subscripts;
647;run_extensions.at:701;Complex OCCURS DEPENDING ON (7);extensions runsubscripts nested subscripts;
648;run_extensions.at:745;OCCURS UNBOUNDED;extensions runsubscripts subscripts;
649;run_extensions.at:789;INITIALIZE level 01;initialize;
650;run_extensions.at:841;MOVE of non-integer to alphanumeric;extensions;
651;run_extensions.at:931;CALL USING file-name;extensions;
652;run_extensions.at:976;CALL unusual PROGRAM-ID.;extensions;
653;run_extensions.at:1041;CALL / GOBACK with LOCAL-STORAGE;extensions;
654;run_extensions.at:1091;CALL BY VALUE alphanumeric item;extensions;
655;run_extensions.at:1128;CALL BY VALUE numeric literal WITH SIZE;extensions;
656;run_extensions.at:1231;Case-sensitive PROGRAM-ID;extensions;
657;run_extensions.at:1254;PROGRAM-ID AS clause;extensions;
658;run_extensions.at:1277;Quoted PROGRAM-ID;extensions;
659;run_extensions.at:1301;ASSIGN clause;extensions;
660;run_extensions.at:1330;ASSIGN clause IBM;extensions;
661;run_extensions.at:1359;ASSIGN mapping;extensions;
662;run_extensions.at:1415;ASSIGN expansion;extensions;
663;run_extensions.at:1442;ASSIGN with COB_FILE_PATH;extensions;
664;run_extensions.at:1469;NUMBER-OF-CALL-PARAMETERS;extensions;
665;run_extensions.at:1524;TALLY;extensions register;
666;run_extensions.at:1558;Redefining TALLY;extensions register;
667;run_extensions.at:1593;PROCEDURE DIVISION USING BY ...;extensions;
668;run_extensions.at:1645;PROCEDURE DIVISION CHAINING;extensions call initialize;
669;run_extensions.at:1762;STOP RUN RETURNING/GIVING;extensions;
670;run_extensions.at:1818;GOBACK/EXIT PROGRAM RETURNING/GIVING;extensions;
671;run_extensions.at:1868;ENTRY;extensions;
672;run_extensions.at:1914;LINE SEQUENTIAL write;extensions;
673;run_extensions.at:1960;LINE SEQUENTIAL read;extensions;
674;run_extensions.at:2027;ASSIGN to KEYBOARD/DISPLAY;extensions;
675;run_extensions.at:2085;SORT ASSIGN KEYBOARD to ASSIGN DISPLAY;extensions;
676;run_extensions.at:2147;Environment/Argument variable;extensions;
677;run_extensions.at:2194;DECIMAL-POINT is COMMA (1);extensions;
678;run_extensions.at:2222;DECIMAL-POINT is COMMA (2);extensions;
679;run_extensions.at:2250;DECIMAL-POINT is COMMA (3);extensions;
680;run_extensions.at:2278;DECIMAL-POINT is COMMA (4);extensions;
681;run_extensions.at:2306;DECIMAL-POINT is COMMA (5);extensions;
682;run_extensions.at:2340;78 Level (1);extensions;
683;run_extensions.at:2363;78 Level (2);extensions;
684;run_extensions.at:2389;78 Level (3);extensions;
685;run_extensions.at:2413;DEBUG (not active);extensions;
686;run_extensions.at:2436;DEBUG (fdebugging-line);extensions;
687;run_extensions.at:2459;DEBUG (obsolete WITH DEBUGGING MODE);extensions;
688;run_extensions.at:2485;DEBUG free format (not active);extensions;
689;run_extensions.at:2508;DEBUG free format (fdebugging-line);extensions;
690;run_extensions.at:2531;SWITCHES with non-standard names;runmisc extensions;
691;run_extensions.at:2633;Larger REDEFINES lengths;extensions;
692;run_extensions.at:2718;Obsolete 2002 keywords with COBOL2014;extensions;
693;run_extensions.at:2748;System routine with wrong number of parameters;extensions narg;
694;run_extensions.at:2791;System routine C\$NARG;extensions narg;
695;run_extensions.at:2868;System routine C\$PARAMSIZE;extensions;
696;run_extensions.at:2910;System routine C\$CALLEDBY;extensions;
697;run_extensions.at:2956;System routine C\$JUSTIFY;extensions;
698;run_extensions.at:2981;System routine C\$PRINTABLE;extensions;
699;run_extensions.at:3010;System routine C\$MAKEDIR;extensions;
700;run_extensions.at:3031;System routine C\$GETPID;extensions;
701;run_extensions.at:3056;System routine C\$TOUPPER;extensions;
702;run_extensions.at:3081;System routine C\$TOLOWER;extensions;
703;run_extensions.at:3106;System routine CBL_OR;extensions;
704;run_extensions.at:3133;System routine CBL_NOR;extensions;
705;run_extensions.at:3160;System routine CBL_AND;extensions;
706;run_extensions.at:3187;System routine CBL_XOR;extensions;
707;run_extensions.at:3214;System routine CBL_IMP;extensions;
708;run_extensions.at:3241;System routine CBL_NIMP;extensions;
709;run_extensions.at:3268;System routine CBL_NOT;extensions;
710;run_extensions.at:3294;System routine CBL_EQ;extensions;
711;run_extensions.at:3321;System routine CBL_GC_GETOPT;extensions;
712;run_extensions.at:3758;System routine CBL_GC_FORK;extensions;
713;run_extensions.at:3801;System routine CBL_GC_WAITPID;extensions;
714;run_extensions.at:3853;System routine CBL_GC_HOSTED;extensions;
715;run_extensions.at:3972;DISPLAY DIRECTIVE and \$DISPLAY;extensions;
716;run_extensions.at:3997;Conditional/define directives (1);extensions directive;
717;run_extensions.at:4022;Conditional/define directives (2);extensions directive;
718;run_extensions.at:4047;Conditional/define directives (3);extensions directive;
719;run_extensions.at:4075;Conditional/define directives (4);extensions directive;
720;run_extensions.at:4101;Conditional/define directives (5);extensions directive;
721;run_extensions.at:4126;Conditional/define directives (6);extensions directive;
722;run_extensions.at:4152;Conditional/define directives (7);extensions directive;
723;run_extensions.at:4174;Variable format;extensions runmisc;
724;data_binary.at:23;BINARY: 2-4-8 big-endian;binary;
725;data_binary.at:205;BINARY: 2-4-8 native;binary;
726;data_binary.at:393;BINARY: 1-2-4-8 big-endian;binary;
727;data_binary.at:575;BINARY: 1-2-4-8 native;binary;
728;data_binary.at:763;BINARY: 1--8 big-endian;binary;
729;data_binary.at:945;BINARY: 1--8 native;binary;
730;data_binary.at:1133;BINARY: full-print;binary;
731;data_binary.at:1185;BINARY: 64bit unsigned compare;binary;
732;data_binary.at:1210;BINARY: 64bit unsigned arthimetic notrunc;binary;
733;data_binary.at:1239;BINARY: 64bit signed negative constant range;binary;
734;data_display.at:21;DISPLAY: Sign ASCII;display;
735;data_display.at:80;DISPLAY: Sign ASCII (2);display;
736;data_display.at:126;DISPLAY: Sign EBCDIC;display;
737;data_display.at:171;DISPLAY: unsigned;display;
738;data_packed.at:25;PACKED-DECIMAL dump;packed;
739;data_packed.at:162;PACKED-DECIMAL display;packed;
740;data_packed.at:218;PACKED-DECIMAL move;packed;
741;data_packed.at:276;PACKED-DECIMAL arithmetic (1);packed;
742;data_packed.at:316;PACKED-DECIMAL arithmetic (2);packed;
743;data_packed.at:353;PACKED-DECIMAL numeric test (1);packed;
744;data_packed.at:494;PACKED-DECIMAL numeric test (2);packed;
745;data_packed.at:608;COMP-6 display;packed;
746;data_packed.at:644;COMP-6 move;packed;
747;data_packed.at:690;COMP-6 arithmetic;packed;
748;data_packed.at:721;COMP-6 numeric test ;packed;
749;data_pointer.at:21;POINTER: display;pointer;
"
# List of the all the test groups.
at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`

# at_fn_validate_ranges NAME...
# -----------------------------
# Validate and normalize the test group number contained in each variable
# NAME. Leading zeroes are treated as decimal.
at_fn_validate_ranges ()
{
  for at_grp
  do
    eval at_value=\$$at_grp
    if test $at_value -lt 1 || test $at_value -gt 749; then
      $as_echo "invalid test group: $at_value" >&2
      exit 1
    fi
    case $at_value in
      0*) # We want to treat leading 0 as decimal, like expr and test, but
	  # AS_VAR_ARITH treats it as octal if it uses $(( )).
	  # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the
	  # expr fork, but it is not worth the effort to determine if the
	  # shell supports XSI when the user can just avoid leading 0.
	  eval $at_grp='`expr $at_value + 0`' ;;
    esac
  done
}

at_prev=
for at_option
do
  # If the previous option needs an argument, assign it.
  if test -n "$at_prev"; then
    at_option=$at_prev=$at_option
    at_prev=
  fi

  case $at_option in
  *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;;
  *)    at_optarg= ;;
  esac

  # Accept the important Cygnus configure options, so we can diagnose typos.

  case $at_option in
    --help | -h )
	at_help_p=:
	;;

    --list | -l )
	at_list_p=:
	;;

    --version | -V )
	at_version_p=:
	;;

    --clean | -c )
	at_clean=:
	;;

    --color )
	at_color=always
	;;
    --color=* )
	case $at_optarg in
	no | never | none) at_color=never ;;
	auto | tty | if-tty) at_color=auto ;;
	always | yes | force) at_color=always ;;
	*) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'`
	   as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;;
	esac
	;;

    --debug | -d )
	at_debug_p=:
	;;

    --errexit | -e )
	at_debug_p=:
	at_errexit_p=:
	;;

    --verbose | -v )
	at_verbose=; at_quiet=:
	;;

    --trace | -x )
	at_traceon='set -x'
	at_trace_echo=echo
	at_check_filter_trace=at_fn_filter_trace
	;;

    [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
	at_fn_validate_ranges at_option
	as_fn_append at_groups "$at_option$as_nl"
	;;

    # Ranges
    [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
	at_range_start=`echo $at_option |tr -d X-`
	at_fn_validate_ranges at_range_start
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '/^'$at_range_start'$/,$p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
	at_range_end=`echo $at_option |tr -d X-`
	at_fn_validate_ranges at_range_end
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '1,/^'$at_range_end'$/p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \
    [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
    [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
	at_range_start=`expr $at_option : '\(.*\)-'`
	at_range_end=`expr $at_option : '.*-\(.*\)'`
	if test $at_range_start -gt $at_range_end; then
	  at_tmp=$at_range_end
	  at_range_end=$at_range_start
	  at_range_start=$at_tmp
	fi
	at_fn_validate_ranges at_range_start at_range_end
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    # Directory selection.
    --directory | -C )
	at_prev=--directory
	;;
    --directory=* )
	at_change_dir=:
	at_dir=$at_optarg
	if test x- = "x$at_dir" ; then
	  at_dir=./-
	fi
	;;

    # Parallel execution.
    --jobs | -j )
	at_jobs=0
	;;
    --jobs=* | -j[0-9]* )
	if test -n "$at_optarg"; then
	  at_jobs=$at_optarg
	else
	  at_jobs=`expr X$at_option : 'X-j\(.*\)'`
	fi
	case $at_jobs in *[!0-9]*)
	  at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'`
	  as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;;
	esac
	;;

    # Keywords.
    --keywords | -k )
	at_prev=--keywords
	;;
    --keywords=* )
	at_groups_selected=$at_help_all
	at_save_IFS=$IFS
	IFS=,
	set X $at_optarg
	shift
	IFS=$at_save_IFS
	for at_keyword
	do
	  at_invert=
	  case $at_keyword in
	  '!'*)
	    at_invert="-v"
	    at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
	    ;;
	  esac
	  # It is on purpose that we match the test group titles too.
	  at_groups_selected=`$as_echo "$at_groups_selected" |
	      grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
	done
	# Smash the keywords.
	at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'`
	as_fn_append at_groups "$at_groups_selected$as_nl"
	;;
    --recheck)
	at_recheck=:
	;;

    *=*)
	at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
	# Reject names that are not valid shell variable names.
	case $at_envvar in
	  '' | [0-9]* | *[!_$as_cr_alnum]* )
	    as_fn_error $? "invalid variable name: \`$at_envvar'" ;;
	esac
	at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
	# Export now, but save eval for later and for debug scripts.
	export $at_envvar
	as_fn_append at_debug_args " $at_envvar='$at_value'"
	;;

     *) $as_echo "$as_me: invalid option: $at_option" >&2
	$as_echo "Try \`$0 --help' for more information." >&2
	exit 1
	;;
  esac
done

# Verify our last option didn't require an argument
if test -n "$at_prev"; then :
  as_fn_error $? "\`$at_prev' requires an argument"
fi

# The file containing the suite.
at_suite_log=$at_dir/$as_me.log

# Selected test groups.
if test -z "$at_groups$at_recheck"; then
  at_groups=$at_groups_all
else
  if test -n "$at_recheck" && test -r "$at_suite_log"; then
    at_oldfails=`sed -n '
      /^Failed tests:$/,/^Skipped tests:$/{
	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
      }
      /^Unexpected passes:$/,/^## Detailed failed tests/{
	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
      }
      /^## Detailed failed tests/q
      ' "$at_suite_log"`
    as_fn_append at_groups "$at_oldfails$as_nl"
  fi
  # Sort the tests, removing duplicates.
  at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'`
fi

if test x"$at_color" = xalways \
   || { test x"$at_color" = xauto && test -t 1; }; then
  at_red=`printf '\033[0;31m'`
  at_grn=`printf '\033[0;32m'`
  at_lgn=`printf '\033[1;32m'`
  at_blu=`printf '\033[1;34m'`
  at_std=`printf '\033[m'`
else
  at_red= at_grn= at_lgn= at_blu= at_std=
fi

# Help message.
if $at_help_p; then
  cat <<_ATEOF || at_write_fail=1
Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]

Run all the tests, or the selected TESTS, given by numeric ranges, and
save a detailed log file.  Upon failure, create debugging scripts.

Do not change environment variables directly.  Instead, set them via
command line arguments.  Set \`AUTOTEST_PATH' to select the executables
to exercise.  Each relative directory is expanded as build and source
directories relative to the top level of this distribution.
E.g., from within the build directory /tmp/foo-1.0, invoking this:

  $ $0 AUTOTEST_PATH=bin

is equivalent to the following, assuming the source directory is /src/foo-1.0:

  PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0
_ATEOF
cat <<_ATEOF || at_write_fail=1

Operation modes:
  -h, --help     print the help message, then exit
  -V, --version  print version number, then exit
  -c, --clean    remove all the files this test suite might create and exit
  -l, --list     describes all the tests, or the selected TESTS
_ATEOF
cat <<_ATEOF || at_write_fail=1

Execution tuning:
  -C, --directory=DIR
                 change to directory DIR before starting
      --color[=never|auto|always]
                 disable colored test results, or enable even without terminal
  -j, --jobs[=N]
                 Allow N jobs at once; infinite jobs with no arg (default 1)
  -k, --keywords=KEYWORDS
                 select the tests matching all the comma-separated KEYWORDS
                 multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
      --recheck  select all tests that failed or passed unexpectedly last time
  -e, --errexit  abort as soon as a test fails; implies --debug
  -v, --verbose  force more detailed output
                 default for debugging scripts
  -d, --debug    inhibit clean up and top-level logging
                 default for debugging scripts
  -x, --trace    enable tests shell tracing
_ATEOF
cat <<_ATEOF || at_write_fail=1

Report bugs to <bug-gnucobol@gnu.org>.
GnuCOBOL home page: <https://www.gnu.org/software/gnucobol/>.
_ATEOF
  exit $at_write_fail
fi

# List of tests.
if $at_list_p; then
  cat <<_ATEOF || at_write_fail=1
GnuCOBOL 2.2-rc test suite: GnuCOBOL Tests test groups:

 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
      KEYWORDS

_ATEOF
  # Pass an empty line as separator between selected groups and help.
  $as_echo "$at_groups$as_nl$as_nl$at_help_all" |
    awk 'NF == 1 && FS != ";" {
	   selected[$ 1] = 1
	   next
	 }
	 /^$/ { FS = ";" }
	 NF > 0 {
	   if (selected[$ 1]) {
	     printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
	     if ($ 4) {
	       lmax = 79
	       indent = "     "
	       line = indent
	       len = length (line)
	       n = split ($ 4, a, " ")
	       for (i = 1; i <= n; i++) {
		 l = length (a[i]) + 1
		 if (i > 1 && len + l > lmax) {
		   print line
		   line = indent " " a[i]
		   len = length (line)
		 } else {
		   line = line " " a[i]
		   len += l
		 }
	       }
	       if (n)
		 print line
	     }
	   }
	 }' || at_write_fail=1
  exit $at_write_fail
fi
if $at_version_p; then
  $as_echo "$as_me (GnuCOBOL 2.2-rc)" &&
  cat <<\_ATEOF || at_write_fail=1

Test cases Copyright (C) 2017 Free Software Foundation, Inc.
Written by Keisuke Nishida, Roger While, Simon Sobisch, Edward Hart,
Ron Norman, Brian Tiffin

Copyright (C) 2012 Free Software Foundation, Inc.
This test suite is free software; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
_ATEOF
  exit $at_write_fail
fi

# Should we print banners?  Yes if more than one test is run.
case $at_groups in #(
  *$as_nl* )
      at_print_banners=: ;; #(
  * ) at_print_banners=false ;;
esac
# Text for banner N, set to a single space once printed.
# Banner 1. testsuite.at:31
# Category starts at test group 1.
at_banner_text_1="General tests of used binaries"
# Banner 2. testsuite.at:36
# Category starts at test group 37.
at_banner_text_2="Syntax tests"
# Banner 3. testsuite.at:55
# Category starts at test group 272.
at_banner_text_3="Listing tests"
# Banner 4. testsuite.at:60
# Category starts at test group 297.
at_banner_text_4="Run tests"
# Banner 5. testsuite.at:77
# Category starts at test group 724.
at_banner_text_5="Data Representation"

# Take any -C into account.
if $at_change_dir ; then
  test x != "x$at_dir" && cd "$at_dir" \
    || as_fn_error $? "unable to change directory"
  at_dir=`pwd`
fi

# Load the config files for any default variable assignments.
for at_file in atconfig atlocal
do
  test -r $at_file || continue
  . ./$at_file || as_fn_error $? "invalid content: $at_file"
done

# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
: "${at_top_build_prefix=$at_top_builddir}"

# Perform any assignments requested during argument parsing.
eval "$at_debug_args"

# atconfig delivers names relative to the directory the test suite is
# in, but the groups themselves are run in testsuite-dir/group-dir.
if test -n "$at_top_srcdir"; then
  builddir=../..
  for at_dir_var in srcdir top_srcdir top_build_prefix
  do
    eval at_val=\$at_$at_dir_var
    case $at_val in
      [\\/$]* | ?:[\\/]* ) at_prefix= ;;
      *) at_prefix=../../ ;;
    esac
    eval "$at_dir_var=\$at_prefix\$at_val"
  done
fi

## -------------------- ##
## Directory structure. ##
## -------------------- ##

# This is the set of directories and files used by this script
# (non-literals are capitalized):
#
# TESTSUITE         - the testsuite
# TESTSUITE.log     - summarizes the complete testsuite run
# TESTSUITE.dir/    - created during a run, remains after -d or failed test
# + at-groups/      - during a run: status of all groups in run
# | + NNN/          - during a run: meta-data about test group NNN
# | | + check-line  - location (source file and line) of current AT_CHECK
# | | + status      - exit status of current AT_CHECK
# | | + stdout      - stdout of current AT_CHECK
# | | + stder1      - stderr, including trace
# | | + stderr      - stderr, with trace filtered out
# | | + test-source - portion of testsuite that defines group
# | | + times       - timestamps for computing duration
# | | + pass        - created if group passed
# | | + xpass       - created if group xpassed
# | | + fail        - created if group failed
# | | + xfail       - created if group xfailed
# | | + skip        - created if group skipped
# + at-stop         - during a run: end the run if this file exists
# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction
# + 0..NNN/         - created for each group NNN, remains after -d or failed test
# | + TESTSUITE.log - summarizes the group results
# | + ...           - files created during the group

# The directory the whole suite works in.
# Should be absolute to let the user `cd' at will.
at_suite_dir=$at_dir/$as_me.dir
# The file containing the suite ($at_dir might have changed since earlier).
at_suite_log=$at_dir/$as_me.log
# The directory containing helper files per test group.
at_helper_dir=$at_suite_dir/at-groups
# Stop file: if it exists, do not start new jobs.
at_stop_file=$at_suite_dir/at-stop
# The fifo used for the job dispatcher.
at_job_fifo=$at_suite_dir/at-job-fifo

if $at_clean; then
  test -d "$at_suite_dir" &&
    find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
  rm -f -r "$at_suite_dir" "$at_suite_log"
  exit $?
fi

# Don't take risks: use only absolute directories in PATH.
#
# For stand-alone test suites (ie. atconfig was not found),
# AUTOTEST_PATH is relative to `.'.
#
# For embedded test suites, AUTOTEST_PATH is relative to the top level
# of the package.  Then expand it into build/src parts, since users
# may create executables in both places.
AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"`
at_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $AUTOTEST_PATH $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR
case $as_dir in
  [\\/]* | ?:[\\/]* )
    as_fn_append at_path "$as_dir"
    ;;
  * )
    if test -z "$at_top_build_prefix"; then
      # Stand-alone test suite.
      as_fn_append at_path "$as_dir"
    else
      # Embedded test suite.
      as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR"
      as_fn_append at_path "$at_top_srcdir/$as_dir"
    fi
    ;;
esac
  done
IFS=$as_save_IFS


# Now build and simplify PATH.
#
# There might be directories that don't exist, but don't redirect
# builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
at_new_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $at_path
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -d "$as_dir" || continue
case $as_dir in
  [\\/]* | ?:[\\/]* ) ;;
  * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;;
esac
case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in
  *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;;
  $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;;
  *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;;
esac
  done
IFS=$as_save_IFS

PATH=$at_new_path
export PATH

# Setting up the FDs.



# 5 is the log file.  Not to be overwritten if `-d'.
if $at_debug_p; then
  at_suite_log=/dev/null
else
  : >"$at_suite_log"
fi
exec 5>>"$at_suite_log"

# Banners and logs.
$as_echo "## ------------------------------------------- ##
## GnuCOBOL 2.2-rc test suite: GnuCOBOL Tests. ##
## ------------------------------------------- ##"
{
  $as_echo "## ------------------------------------------- ##
## GnuCOBOL 2.2-rc test suite: GnuCOBOL Tests. ##
## ------------------------------------------- ##"
  echo

  $as_echo "$as_me: command line was:"
  $as_echo "  \$ $0 $at_cli_args"
  echo

  # If ChangeLog exists, list a few lines in case it might help determining
  # the exact version.
  if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then
    $as_echo "## ---------- ##
## ChangeLog. ##
## ---------- ##"
    echo
    sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog"
    echo
  fi

  {
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##

hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`

/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    $as_echo "PATH: $as_dir"
  done
IFS=$as_save_IFS

}
  echo

  # Contents of the config files.
  for at_file in atconfig atlocal
  do
    test -r $at_file || continue
    $as_echo "$as_me: $at_file:"
    sed 's/^/| /' $at_file
    echo
  done
} >&5


## ------------------------- ##
## Autotest shell functions. ##
## ------------------------- ##

# at_fn_banner NUMBER
# -------------------
# Output banner NUMBER, provided the testsuite is running multiple groups and
# this particular banner has not yet been printed.
at_fn_banner ()
{
  $at_print_banners || return 0
  eval at_banner_text=\$at_banner_text_$1
  test "x$at_banner_text" = "x " && return 0
  eval "at_banner_text_$1=\" \""
  if test -z "$at_banner_text"; then
    $at_first || echo
  else
    $as_echo "$as_nl$at_banner_text$as_nl"
  fi
} # at_fn_banner

# at_fn_check_prepare_notrace REASON LINE
# ---------------------------------------
# Perform AT_CHECK preparations for the command at LINE for an untraceable
# command; REASON is the reason for disabling tracing.
at_fn_check_prepare_notrace ()
{
  $at_trace_echo "Not enabling shell tracing (command contains $1)"
  $as_echo "$2" >"$at_check_line_file"
  at_check_trace=: at_check_filter=:
  : >"$at_stdout"; : >"$at_stderr"
}

# at_fn_check_prepare_trace LINE
# ------------------------------
# Perform AT_CHECK preparations for the command at LINE for a traceable
# command.
at_fn_check_prepare_trace ()
{
  $as_echo "$1" >"$at_check_line_file"
  at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace
  : >"$at_stdout"; : >"$at_stderr"
}

# at_fn_check_prepare_dynamic COMMAND LINE
# ----------------------------------------
# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate
# preparation function.
at_fn_check_prepare_dynamic ()
{
  case $1 in
    *$as_nl*)
      at_fn_check_prepare_notrace 'an embedded newline' "$2" ;;
    *)
      at_fn_check_prepare_trace "$2" ;;
  esac
}

# at_fn_filter_trace
# ------------------
# Remove the lines in the file "$at_stderr" generated by "set -x" and print
# them to stderr.
at_fn_filter_trace ()
{
  mv "$at_stderr" "$at_stder1"
  grep '^ *+' "$at_stder1" >&2
  grep -v '^ *+' "$at_stder1" >"$at_stderr"
}

# at_fn_log_failure FILE-LIST
# ---------------------------
# Copy the files in the list on stdout with a "> " prefix, and exit the shell
# with a failure exit code.
at_fn_log_failure ()
{
  for file
    do $as_echo "$file:"; sed 's/^/> /' "$file"; done
  echo 1 > "$at_status_file"
  exit 1
}

# at_fn_check_skip EXIT-CODE LINE
# -------------------------------
# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit
# the test group subshell with that same exit code. Use LINE in any report
# about test failure.
at_fn_check_skip ()
{
  case $1 in
    99) echo 99 > "$at_status_file"; at_failed=:
	$as_echo "$2: hard failure"; exit 99;;
    77) echo 77 > "$at_status_file"; exit 77;;
  esac
}

# at_fn_check_status EXPECTED EXIT-CODE LINE
# ------------------------------------------
# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing.
# Otherwise, if it is 77 or 99, exit the test group subshell with that same
# exit code; if it is anything else print an error message referring to LINE,
# and fail the test.
at_fn_check_status ()
{
  case $2 in
    $1 ) ;;
    77) echo 77 > "$at_status_file"; exit 77;;
    99) echo 99 > "$at_status_file"; at_failed=:
	$as_echo "$3: hard failure"; exit 99;;
    *) $as_echo "$3: exit code was $2, expected $1"
      at_failed=:;;
  esac
}

# at_fn_diff_devnull FILE
# -----------------------
# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff
# invocations.
at_fn_diff_devnull ()
{
  test -s "$1" || return 0
  $at_diff "$at_devnull" "$1"
}

# at_fn_test NUMBER
# -----------------
# Parse out test NUMBER from the tail of this file.
at_fn_test ()
{
  eval at_sed=\$at_sed$1
  sed "$at_sed" "$at_myself" > "$at_test_source"
}

# at_fn_create_debugging_script
# -----------------------------
# Create the debugging script $at_group_dir/run which will reproduce the
# current test group.
at_fn_create_debugging_script ()
{
  {
    echo "#! /bin/sh" &&
    echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' &&
    $as_echo "cd '$at_dir'" &&
    $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" &&
    echo 'exit 1'
  } >"$at_group_dir/run" &&
  chmod +x "$at_group_dir/run"
}

## -------------------------------- ##
## End of autotest shell functions. ##
## -------------------------------- ##
{
  $as_echo "## ---------------- ##
## Tested programs. ##
## ---------------- ##"
  echo
} >&5

# Report what programs are being tested.
for at_program in : $at_tested
do
  test "$at_program" = : && continue
  case $at_program in
    [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;;
    * )
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -f "$as_dir/$at_program" && break
  done
IFS=$as_save_IFS

    at_program_=$as_dir/$at_program ;;
  esac
  if test -f "$at_program_"; then
    {
      $as_echo "$at_srcdir/testsuite.at:25: $at_program_ --version"
      "$at_program_" --version </dev/null
      echo
    } >&5 2>&1
  else
    as_fn_error $? "cannot find $at_program" "$LINENO" 5
  fi
done

{
  $as_echo "## ------------------ ##
## Running the tests. ##
## ------------------ ##"
} >&5

at_start_date=`date`
at_start_time=`date +%s 2>/dev/null`
$as_echo "$as_me: starting at: $at_start_date" >&5

# Create the master directory if it doesn't already exist.
as_dir="$at_suite_dir"; as_fn_mkdir_p ||
  as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5

# Can we diff with `/dev/null'?  DU 5.0 refuses.
if diff /dev/null /dev/null >/dev/null 2>&1; then
  at_devnull=/dev/null
else
  at_devnull=$at_suite_dir/devnull
  >"$at_devnull"
fi

# Use `diff -u' when possible.
if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
then
  at_diff='diff -u'
else
  at_diff=diff
fi

# Get the last needed group.
for at_group in : $at_groups; do :; done

# Extract the start and end lines of each test group at the tail
# of this file
awk '
BEGIN { FS="" }
/^#AT_START_/ {
  start = NR
}
/^#AT_STOP_/ {
  test = substr ($ 0, 10)
  print "at_sed" test "=\"1," start "d;" (NR-1) "q\""
  if (test == "'"$at_group"'") exit
}' "$at_myself" > "$at_suite_dir/at-source-lines" &&
. "$at_suite_dir/at-source-lines" ||
  as_fn_error $? "cannot create test line number cache" "$LINENO" 5
rm -f "$at_suite_dir/at-source-lines"

# Set number of jobs for `-j'; avoid more jobs than test groups.
set X $at_groups; shift; at_max_jobs=$#
if test $at_max_jobs -eq 0; then
  at_jobs=1
fi
if test $at_jobs -ne 1 &&
   { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then
  at_jobs=$at_max_jobs
fi

# If parallel mode, don't output banners, don't split summary lines.
if test $at_jobs -ne 1; then
  at_print_banners=false
  at_quiet=:
fi

# Set up helper dirs.
rm -rf "$at_helper_dir" &&
mkdir "$at_helper_dir" &&
cd "$at_helper_dir" &&
{ test -z "$at_groups" || mkdir $at_groups; } ||
as_fn_error $? "testsuite directory setup failed" "$LINENO" 5

# Functions for running a test group.  We leave the actual
# test group execution outside of a shell function in order
# to avoid hitting zsh 4.x exit status bugs.

# at_fn_group_prepare
# -------------------
# Prepare for running a test group.
at_fn_group_prepare ()
{
  # The directory for additional per-group helper files.
  at_job_dir=$at_helper_dir/$at_group
  # The file containing the location of the last AT_CHECK.
  at_check_line_file=$at_job_dir/check-line
  # The file containing the exit status of the last command.
  at_status_file=$at_job_dir/status
  # The files containing the output of the tested commands.
  at_stdout=$at_job_dir/stdout
  at_stder1=$at_job_dir/stder1
  at_stderr=$at_job_dir/stderr
  # The file containing the code for a test group.
  at_test_source=$at_job_dir/test-source
  # The file containing dates.
  at_times_file=$at_job_dir/times

  # Be sure to come back to the top test directory.
  cd "$at_suite_dir"

  # Clearly separate the test groups when verbose.
  $at_first || $at_verbose echo

  at_group_normalized=$at_group

  eval 'while :; do
    case $at_group_normalized in #(
    '"$at_format"'*) break;;
    esac
    at_group_normalized=0$at_group_normalized
  done'


  # Create a fresh directory for the next test group, and enter.
  # If one already exists, the user may have invoked ./run from
  # within that directory; we remove the contents, but not the
  # directory itself, so that we aren't pulling the rug out from
  # under the shell's notion of the current directory.
  at_group_dir=$at_suite_dir/$at_group_normalized
  at_group_log=$at_group_dir/$as_me.log
  if test -d "$at_group_dir"; then
  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \;
  rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??*
fi ||
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5
$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;}
  # Be tolerant if the above `rm' was not able to remove the directory.
  as_dir="$at_group_dir"; as_fn_mkdir_p

  echo 0 > "$at_status_file"

  # In verbose mode, append to the log file *and* show on
  # the standard output; in quiet mode only write to the log.
  if test -z "$at_verbose"; then
    at_tee_pipe='tee -a "$at_group_log"'
  else
    at_tee_pipe='cat >> "$at_group_log"'
  fi
}

# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER]
# -------------------------------------------------
# Declare the test group ORDINAL, located at LINE with group description DESC,
# and residing under BANNER. Use PAD to align the status column.
at_fn_group_banner ()
{
  at_setup_line="$2"
  test -n "$5" && at_fn_banner $5
  at_desc="$3"
  case $1 in
    [0-9])      at_desc_line="  $1: ";;
    [0-9][0-9]) at_desc_line=" $1: " ;;
    *)          at_desc_line="$1: "  ;;
  esac
  as_fn_append at_desc_line "$3$4"
  $at_quiet $as_echo_n "$at_desc_line"
  echo "#                             -*- compilation -*-" >> "$at_group_log"
}

# at_fn_group_postprocess
# -----------------------
# Perform cleanup after running a test group.
at_fn_group_postprocess ()
{
  # Be sure to come back to the suite directory, in particular
  # since below we might `rm' the group directory we are in currently.
  cd "$at_suite_dir"

  if test ! -f "$at_check_line_file"; then
    sed "s/^ */$as_me: WARNING: /" <<_ATEOF
      A failure happened in a test group before any test could be
      run. This means that test suite is improperly designed.  Please
      report this failure to <bug-gnucobol@gnu.org>.
_ATEOF
    $as_echo "$at_setup_line" >"$at_check_line_file"
    at_status=99
  fi
  $at_verbose $as_echo_n "$at_group. $at_setup_line: "
  $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log"
  case $at_xfail:$at_status in
    yes:0)
	at_msg="UNEXPECTED PASS"
	at_res=xpass
	at_errexit=$at_errexit_p
	at_color=$at_red
	;;
    no:0)
	at_msg="ok"
	at_res=pass
	at_errexit=false
	at_color=$at_grn
	;;
    *:77)
	at_msg='skipped ('`cat "$at_check_line_file"`')'
	at_res=skip
	at_errexit=false
	at_color=$at_blu
	;;
    no:* | *:99)
	at_msg='FAILED ('`cat "$at_check_line_file"`')'
	at_res=fail
	at_errexit=$at_errexit_p
	at_color=$at_red
	;;
    yes:*)
	at_msg='expected failure ('`cat "$at_check_line_file"`')'
	at_res=xfail
	at_errexit=false
	at_color=$at_lgn
	;;
  esac
  echo "$at_res" > "$at_job_dir/$at_res"
  # In parallel mode, output the summary line only afterwards.
  if test $at_jobs -ne 1 && test -n "$at_verbose"; then
    $as_echo "$at_desc_line $at_color$at_msg$at_std"
  else
    # Make sure there is a separator even with long titles.
    $as_echo " $at_color$at_msg$at_std"
  fi
  at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
  case $at_status in
    0|77)
      # $at_times_file is only available if the group succeeded.
      # We're not including the group log, so the success message
      # is written in the global log separately.  But we also
      # write to the group log in case they're using -d.
      if test -f "$at_times_file"; then
	at_log_msg="$at_log_msg     ("`sed 1d "$at_times_file"`')'
	rm -f "$at_times_file"
      fi
      $as_echo "$at_log_msg" >> "$at_group_log"
      $as_echo "$at_log_msg" >&5

      # Cleanup the group directory, unless the user wants the files
      # or the success was unexpected.
      if $at_debug_p || test $at_res = xpass; then
	at_fn_create_debugging_script
	if test $at_res = xpass && $at_errexit; then
	  echo stop > "$at_stop_file"
	fi
      else
	if test -d "$at_group_dir"; then
	  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
	  rm -fr "$at_group_dir"
	fi
	rm -f "$at_test_source"
      fi
      ;;
    *)
      # Upon failure, include the log into the testsuite's global
      # log.  The failure message is written in the group log.  It
      # is later included in the global log.
      $as_echo "$at_log_msg" >> "$at_group_log"

      # Upon failure, keep the group directory for autopsy, and create
      # the debugging script.  With -e, do not start any further tests.
      at_fn_create_debugging_script
      if $at_errexit; then
	echo stop > "$at_stop_file"
      fi
      ;;
  esac
}


## ------------ ##
## Driver loop. ##
## ------------ ##


if (set -m && set +m && set +b) >/dev/null 2>&1; then
  set +b
  at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=-
else
  at_job_control_on=: at_job_control_off=: at_job_group=
fi

for at_signal in 1 2 15; do
  trap 'set +x; set +e
	$at_job_control_off
	at_signal='"$at_signal"'
	echo stop > "$at_stop_file"
	trap "" $at_signal
	at_pgids=
	for at_pgid in `jobs -p 2>/dev/null`; do
	  at_pgids="$at_pgids $at_job_group$at_pgid"
	done
	test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null
	wait
	if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then
	  echo >&2
	fi
	at_signame=`kill -l $at_signal 2>&1 || echo $at_signal`
	set x $at_signame
	test 1 -gt 2 && at_signame=$at_signal
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5
$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;}
	as_fn_arith 128 + $at_signal && exit_status=$as_val
	as_fn_exit $exit_status' $at_signal
done

rm -f "$at_stop_file"
at_first=:

if test $at_jobs -ne 1 &&
     rm -f "$at_job_fifo" &&
     test -n "$at_job_group" &&
     ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null
then
  # FIFO job dispatcher.

  trap 'at_pids=
	for at_pid in `jobs -p`; do
	  at_pids="$at_pids $at_job_group$at_pid"
	done
	if test -n "$at_pids"; then
	  at_sig=TSTP
	  test "${TMOUT+set}" = set && at_sig=STOP
	  kill -$at_sig $at_pids 2>/dev/null
	fi
	kill -STOP $$
	test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP

  echo
  # Turn jobs into a list of numbers, starting from 1.
  at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p`

  set X $at_joblist
  shift
  for at_group in $at_groups; do
    $at_job_control_on 2>/dev/null
    (
      # Start one test group.
      $at_job_control_off
      if $at_first; then
	exec 7>"$at_job_fifo"
      else
	exec 6<&-
      fi
      trap 'set +x; set +e
	    trap "" PIPE
	    echo stop > "$at_stop_file"
	    echo >&7
	    as_fn_exit 141' PIPE
      at_fn_group_prepare
      if cd "$at_group_dir" &&
	 at_fn_test $at_group &&
	 . "$at_test_source"
      then :; else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
	at_failed=:
      fi
      at_fn_group_postprocess
      echo >&7
    ) &
    $at_job_control_off
    if $at_first; then
      at_first=false
      exec 6<"$at_job_fifo" 7>"$at_job_fifo"
    fi
    shift # Consume one token.
    if test $# -gt 0; then :; else
      read at_token <&6 || break
      set x $*
    fi
    test -f "$at_stop_file" && break
  done
  exec 7>&-
  # Read back the remaining ($at_jobs - 1) tokens.
  set X $at_joblist
  shift
  if test $# -gt 0; then
    shift
    for at_job
    do
      read at_token
    done <&6
  fi
  exec 6<&-
  wait
else
  # Run serially, avoid forks and other potential surprises.
  for at_group in $at_groups; do
    at_fn_group_prepare
    if cd "$at_group_dir" &&
       at_fn_test $at_group &&
       . "$at_test_source"; then :; else
      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
      at_failed=:
    fi
    at_fn_group_postprocess
    test -f "$at_stop_file" && break
    at_first=false
  done
fi

# Wrap up the test suite with summary statistics.
cd "$at_helper_dir"

# Use ?..???? when the list must remain sorted, the faster * otherwise.
at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'`
at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'`
at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'`
at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do
		 echo $f; done | sed '/?/d; s,/xpass,,'`
at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do
		echo $f; done | sed '/?/d; s,/fail,,'`

set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list
shift; at_group_count=$#
set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$*
set X $at_xfail_list; shift; at_xfail_count=$#
set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$*
set X $at_skip_list; shift; at_skip_count=$#

as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val
as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val
as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val

# Back to the top directory.
cd "$at_dir"
rm -rf "$at_helper_dir"

# Compute the duration of the suite.
at_stop_date=`date`
at_stop_time=`date +%s 2>/dev/null`
$as_echo "$as_me: ending at: $at_stop_date" >&5
case $at_start_time,$at_stop_time in
  [0-9]*,[0-9]*)
    as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val
    as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val
    as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val
    as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val
    as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val
    at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
    $as_echo "$as_me: test suite duration: $at_duration" >&5
    ;;
esac

echo
$as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
echo
{
  echo
  $as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
  echo
} >&5

if test $at_run_count = 1; then
  at_result="1 test"
  at_were=was
else
  at_result="$at_run_count tests"
  at_were=were
fi
if $at_errexit_p && test $at_unexpected_count != 0; then
  if test $at_xpass_count = 1; then
    at_result="$at_result $at_were run, one passed"
  else
    at_result="$at_result $at_were run, one failed"
  fi
  at_result="$at_result unexpectedly and inhibited subsequent tests."
  at_color=$at_red
else
  # Don't you just love exponential explosion of the number of cases?
  at_color=$at_red
  case $at_xpass_count:$at_fail_count:$at_xfail_count in
    # So far, so good.
    0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;;
    0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;;

    # Some unexpected failures
    0:*:0) at_result="$at_result $at_were run,
$at_fail_count failed unexpectedly." ;;

    # Some failures, both expected and unexpected
    0:*:1) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
    0:*:*) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;

    # No unexpected failures, but some xpasses
    *:0:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly." ;;

    # No expected failures, but failures and xpasses
    *:1:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
    *:*:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;

    # All of them.
    *:*:1) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
    *:*:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
  esac

  if test $at_skip_count = 0 && test $at_run_count -gt 1; then
    at_result="All $at_result"
  fi
fi

# Now put skips in the mix.
case $at_skip_count in
  0) ;;
  1) at_result="$at_result
1 test was skipped." ;;
  *) at_result="$at_result
$at_skip_count tests were skipped." ;;
esac

if test $at_unexpected_count = 0; then
  echo "$at_color$at_result$at_std"
  echo "$at_result" >&5
else
  echo "${at_color}ERROR: $at_result$at_std" >&2
  echo "ERROR: $at_result" >&5
  {
    echo
    $as_echo "## ------------------------ ##
## Summary of the failures. ##
## ------------------------ ##"

    # Summary of failed and skipped tests.
    if test $at_fail_count != 0; then
      echo "Failed tests:"
      $SHELL "$at_myself" $at_fail_list --list
      echo
    fi
    if test $at_skip_count != 0; then
      echo "Skipped tests:"
      $SHELL "$at_myself" $at_skip_list --list
      echo
    fi
    if test $at_xpass_count != 0; then
      echo "Unexpected passes:"
      $SHELL "$at_myself" $at_xpass_list --list
      echo
    fi
    if test $at_fail_count != 0; then
      $as_echo "## ---------------------- ##
## Detailed failed tests. ##
## ---------------------- ##"
      echo
      for at_group in $at_fail_list
      do
	at_group_normalized=$at_group

  eval 'while :; do
    case $at_group_normalized in #(
    '"$at_format"'*) break;;
    esac
    at_group_normalized=0$at_group_normalized
  done'

	cat "$at_suite_dir/$at_group_normalized/$as_me.log"
	echo
      done
      echo
    fi
    if test -n "$at_top_srcdir"; then
      sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## ${at_top_build_prefix}config.log ##
_ASBOX
      sed 's/^/| /' ${at_top_build_prefix}config.log
      echo
    fi
  } >&5

  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## $as_me.log was created. ##
_ASBOX

  echo
  if $at_debug_p; then
    at_msg='per-test log files'
  else
    at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'"
  fi
  $as_echo "Please send $at_msg and all information you think might help:

   To: <bug-gnucobol@gnu.org>
   Subject: [GnuCOBOL 2.2-rc] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}

You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point.  Its output may
be found below \`${at_testdir+${at_testdir}/}$as_me.dir'.
"
  exit 1
fi

exit 0

## ------------- ##
## Actual tests. ##
## ------------- ##
#AT_START_1
at_fn_group_banner 1 'used_binaries.at:21' \
  "Compiler outputs (general)" "                     " 1
at_xfail=no
(
  $as_echo "1. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01 BLA PIC X(5) VALUE 'bluBb'.
        PROCEDURE DIVISION.
        DISPLAY BLA NO ADVANCING END-DISPLAY
        STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:35: \$COBC -C prog.cob"
at_fn_check_prepare_dynamic "$COBC -C prog.cob" "used_binaries.at:35"
( $at_check_trace; $COBC -C prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:35"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:36: \$COBC -c prog.c"
at_fn_check_prepare_dynamic "$COBC -c prog.c" "used_binaries.at:36"
( $at_check_trace; $COBC -c prog.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:36"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:37: \$COBC prog.\$COB_OBJECT_EXT"
at_fn_check_prepare_dynamic "$COBC prog.$COB_OBJECT_EXT" "used_binaries.at:37"
( $at_check_trace; $COBC prog.$COB_OBJECT_EXT
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:38: \$COBCRUN prog"
at_fn_check_prepare_dynamic "$COBCRUN prog" "used_binaries.at:38"
( $at_check_trace; $COBCRUN prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bluBb" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:39: \$COBC -x -C prog.cob"
at_fn_check_prepare_dynamic "$COBC -x -C prog.cob" "used_binaries.at:39"
( $at_check_trace; $COBC -x -C prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:40: \$COBC -x -c prog.c"
at_fn_check_prepare_dynamic "$COBC -x -c prog.c" "used_binaries.at:40"
( $at_check_trace; $COBC -x -c prog.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:41: \$COBC -x prog.\$COB_OBJECT_EXT"
at_fn_check_prepare_dynamic "$COBC -x prog.$COB_OBJECT_EXT" "used_binaries.at:41"
( $at_check_trace; $COBC -x prog.$COB_OBJECT_EXT
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:41"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:42: \$COBC -E prog.cob"
at_fn_check_prepare_dynamic "$COBC -E prog.cob" "used_binaries.at:42"
( $at_check_trace; $COBC -E prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:43: \$COBC -x prog.i"
at_fn_check_prepare_dynamic "$COBC -x prog.i" "used_binaries.at:43"
( $at_check_trace; $COBC -x prog.i
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:43"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:44: ./prog"
at_fn_check_prepare_trace "used_binaries.at:44"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bluBb" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:44"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1
#AT_START_2
at_fn_group_banner 2 'used_binaries.at:48' \
  "Compiler outputs (assembler)" "                   " 1
at_xfail=no
(
  $as_echo "2. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01 BLA PIC X(5) VALUE 'bluBb'.
        PROCEDURE DIVISION.
        DISPLAY BLA NO ADVANCING END-DISPLAY
        STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:62: \$COBC -S prog.cob"
at_fn_check_prepare_dynamic "$COBC -S prog.cob" "used_binaries.at:62"
( $at_check_trace; $COBC -S prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:62"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:63: test -f prog.s"
at_fn_check_prepare_trace "used_binaries.at:63"
( $at_check_trace; test -f prog.s
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:63"
if $at_failed; then :
  # Previous test "failed" --> prog.s not available --> likely a VS build
{ set +x
$as_echo "$at_srcdir/used_binaries.at:63: test -f prog.asm"
at_fn_check_prepare_trace "used_binaries.at:63"
( $at_check_trace; test -f prog.asm
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:63"
$at_failed && at_fn_log_failure
$at_traceon; }

else
  # Previous test "passed" --> prog.s is available, test compilation and run
{ set +x
$as_echo "$at_srcdir/used_binaries.at:63: \$COBC prog.s"
at_fn_check_prepare_dynamic "$COBC prog.s" "used_binaries.at:63"
( $at_check_trace; $COBC prog.s
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:63"
$at_failed && at_fn_log_failure
$at_traceon; }

 { set +x
$as_echo "$at_srcdir/used_binaries.at:63: \$COBCRUN prog"
at_fn_check_prepare_dynamic "$COBCRUN prog" "used_binaries.at:63"
( $at_check_trace; $COBCRUN prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bluBb" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:63"
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:69: \$COBC -x -S prog.cob"
at_fn_check_prepare_dynamic "$COBC -x -S prog.cob" "used_binaries.at:69"
( $at_check_trace; $COBC -x -S prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:69"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:70: test -f prog.s"
at_fn_check_prepare_trace "used_binaries.at:70"
( $at_check_trace; test -f prog.s
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:70"
if $at_failed; then :
  # Previous test "failed" --> prog.s not available --> likely a VS build
{ set +x
$as_echo "$at_srcdir/used_binaries.at:70: test -f prog.asm"
at_fn_check_prepare_trace "used_binaries.at:70"
( $at_check_trace; test -f prog.asm
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:70"
$at_failed && at_fn_log_failure
$at_traceon; }

else
  # Previous test "passed" --> prog.s is available, test compilation and run
{ set +x
$as_echo "$at_srcdir/used_binaries.at:70: \$COBC -x prog.s"
at_fn_check_prepare_dynamic "$COBC -x prog.s" "used_binaries.at:70"
( $at_check_trace; $COBC -x prog.s
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:70"
$at_failed && at_fn_log_failure
$at_traceon; }

 { set +x
$as_echo "$at_srcdir/used_binaries.at:70: ./prog"
at_fn_check_prepare_trace "used_binaries.at:70"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bluBb" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:70"
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_2
#AT_START_3
at_fn_group_banner 3 'used_binaries.at:79' \
  "Source file not found" "                          " 1
at_xfail=no
(
  $as_echo "3. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/used_binaries.at:82: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "used_binaries.at:82"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "cobc: prog.cob: No such file or directory
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/used_binaries.at:82"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_3
#AT_START_4
at_fn_group_banner 4 'used_binaries.at:89' \
  "Compiler help and information" "                  " 1
at_xfail=no
(
  $as_echo "4. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/used_binaries.at:92: \$COBC --version"
at_fn_check_prepare_dynamic "$COBC --version" "used_binaries.at:92"
( $at_check_trace; $COBC --version
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:93: \$COBC --help"
at_fn_check_prepare_dynamic "$COBC --help" "used_binaries.at:93"
( $at_check_trace; $COBC --help
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:94: \$COBC --info"
at_fn_check_prepare_dynamic "$COBC --info" "used_binaries.at:94"
( $at_check_trace; $COBC --info
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:95: \$COBC --list-reserved"
at_fn_check_prepare_dynamic "$COBC --list-reserved" "used_binaries.at:95"
( $at_check_trace; $COBC --list-reserved
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:95"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:96: \$COBC --list-registers"
at_fn_check_prepare_dynamic "$COBC --list-registers" "used_binaries.at:96"
( $at_check_trace; $COBC --list-registers
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:96"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:97: \$COBC --list-intrinsics"
at_fn_check_prepare_dynamic "$COBC --list-intrinsics" "used_binaries.at:97"
( $at_check_trace; $COBC --list-intrinsics
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:97"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:98: \$COBC --list-mnemonics"
at_fn_check_prepare_dynamic "$COBC --list-mnemonics" "used_binaries.at:98"
( $at_check_trace; $COBC --list-mnemonics
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:98"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:99: \$COBC -std=mf --list-reserved"
at_fn_check_prepare_dynamic "$COBC -std=mf --list-reserved" "used_binaries.at:99"
( $at_check_trace; $COBC -std=mf --list-reserved
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:99"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:100: \$COBC -std=acu --list-registers"
at_fn_check_prepare_dynamic "$COBC -std=acu --list-registers" "used_binaries.at:100"
( $at_check_trace; $COBC -std=acu --list-registers
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:100"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:101: \$COBC -std=cobol2002 --list-intrinsics"
at_fn_check_prepare_dynamic "$COBC -std=cobol2002 --list-intrinsics" "used_binaries.at:101"
( $at_check_trace; $COBC -std=cobol2002 --list-intrinsics
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:101"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:102: \$COBC -std=ibm --list-mnemonics"
at_fn_check_prepare_dynamic "$COBC -std=ibm --list-mnemonics" "used_binaries.at:102"
( $at_check_trace; $COBC -std=ibm --list-mnemonics
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:102"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:103: \$COBC --list-system"
at_fn_check_prepare_dynamic "$COBC --list-system" "used_binaries.at:103"
( $at_check_trace; $COBC --list-system
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:103"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_4
#AT_START_5
at_fn_group_banner 5 'used_binaries.at:107' \
  "Using full path for cobc" "                       " 1
at_xfail=no
(
  $as_echo "5. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:121: \$COMPILE \"\$(_return_path \"\$(pwd)/prog.cob\")\""
at_fn_check_prepare_notrace 'a $(...) command substitution' "used_binaries.at:121"
( $at_check_trace; $COMPILE "$(_return_path "$(pwd)/prog.cob")"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:121"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:122: ./prog"
at_fn_check_prepare_trace "used_binaries.at:122"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:122"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_5
#AT_START_6
at_fn_group_banner 6 'used_binaries.at:127' \
  "C Compiler optimizations" "                       " 1
at_xfail=no
(
  $as_echo "6. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:141: \$COMPILE -O  -o prog  prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -O  -o prog  prog.cob" "used_binaries.at:141"
( $at_check_trace; $COMPILE -O  -o prog  prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:141"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:142: ./prog"
at_fn_check_prepare_trace "used_binaries.at:142"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:142"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/used_binaries.at:144: \$COMPILE -O2 -o prog2 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -O2 -o prog2 prog.cob" "used_binaries.at:144"
( $at_check_trace; $COMPILE -O2 -o prog2 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:144"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:145: ./prog2"
at_fn_check_prepare_trace "used_binaries.at:145"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:145"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/used_binaries.at:147: \$COMPILE -Os -o progs prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -Os -o progs prog.cob" "used_binaries.at:147"
( $at_check_trace; $COMPILE -Os -o progs prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:147"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:148: ./progs"
at_fn_check_prepare_trace "used_binaries.at:148"
( $at_check_trace; ./progs
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/used_binaries.at:150: \$COMPILE -O3 -o prog3 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -O3 -o prog3 prog.cob" "used_binaries.at:150"
( $at_check_trace; $COMPILE -O3 -o prog3 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:150"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:151: ./prog3"
at_fn_check_prepare_trace "used_binaries.at:151"
( $at_check_trace; ./prog3
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:151"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_6
#AT_START_7
at_fn_group_banner 7 'used_binaries.at:156' \
  "Invalid cobc option" "                            " 1
at_xfail=no
(
  $as_echo "7. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
_ATEOF


# normal option
{ set +x
$as_echo "$at_srcdir/used_binaries.at:165: \$COMPILE -q --thisoptiondoesntexist prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -q --thisoptiondoesntexist prog.cob" "used_binaries.at:165"
( $at_check_trace; $COMPILE -q --thisoptiondoesntexist prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "cobc: unrecognized option '--thisoptiondoesntexist'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/used_binaries.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

# flag
{ set +x
$as_echo "$at_srcdir/used_binaries.at:169: \$COMPILE -q -flagdoesntexist prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -q -flagdoesntexist prog.cob" "used_binaries.at:169"
( $at_check_trace; $COMPILE -q -flagdoesntexist prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "cobc: unrecognized option '-flagdoesntexist'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/used_binaries.at:169"
$at_failed && at_fn_log_failure
$at_traceon; }

# warning
{ set +x
$as_echo "$at_srcdir/used_binaries.at:173: \$COMPILE -q -Wdoesntexist prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -q -Wdoesntexist prog.cob" "used_binaries.at:173"
( $at_check_trace; $COMPILE -q -Wdoesntexist prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "cobc: unrecognized option '-Wdoesntexist'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/used_binaries.at:173"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_7
#AT_START_8
at_fn_group_banner 8 'used_binaries.at:180' \
  "cobcrun validation" "                             " 1
at_xfail=no
(
  $as_echo "8. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 WRK-VAR       PIC X(5).
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           DISPLAY EXT-VAR NO ADVANCING
           END-DISPLAY.
           MOVE "World" TO EXT-VAR.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       01 WRK-VAR       PIC X(5).
       PROCEDURE        DIVISION.
           MOVE "Hello" TO EXT-VAR.
           CALL "callee"
           END-CALL.
           DISPLAY EXT-VAR NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:213: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "used_binaries.at:213"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:213"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:214: \$COMPILE_MODULE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE caller.cob" "used_binaries.at:214"
( $at_check_trace; $COMPILE_MODULE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:214"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:215: \$COBCRUN caller"
at_fn_check_prepare_dynamic "$COBCRUN caller" "used_binaries.at:215"
( $at_check_trace; $COBCRUN caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "HelloWorld" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:215"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_8
#AT_START_9
at_fn_group_banner 9 'used_binaries.at:220' \
  "cobcrun -M DSO entry argument" "                  " 1
at_xfail=no
(
  $as_echo "9. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           DISPLAY EXT-VAR END-DISPLAY.
           MOVE "World" TO EXT-VAR.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           MOVE "Hello" TO EXT-VAR.
           CALL "callee" END-CALL.
           DISPLAY EXT-VAR END-DISPLAY.
           STOP RUN.
       END PROGRAM caller.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      inside.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       01 CLA-VAR       PIC X(5).
       PROCEDURE        DIVISION.
           MOVE "Aloha" TO EXT-VAR.
           CALL "callee" END-CALL.
           DISPLAY EXT-VAR END-DISPLAY.
           ACCEPT CLA-VAR FROM COMMAND-LINE END-ACCEPT.
           DISPLAY CLA-VAR END-DISPLAY.
           STOP RUN.
       END PROGRAM inside.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:264: \${COMPILE_MODULE} callee.cob"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:264"
( $at_check_trace; ${COMPILE_MODULE} callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:264"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:265: \${COMPILE_MODULE} caller.cob"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:265"
( $at_check_trace; ${COMPILE_MODULE} caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:265"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:266: \${COBCRUN} -M ./caller inside again"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:266"
( $at_check_trace; ${COBCRUN} -M ./caller inside again
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Aloha
World
again
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:266"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_9
#AT_START_10
at_fn_group_banner 10 'used_binaries.at:275' \
  "cobcrun -M directory/ default" "                  " 1
at_xfail=no
(
  $as_echo "10. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           DISPLAY EXT-VAR END-DISPLAY.
           MOVE "World" TO EXT-VAR.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           MOVE "Hello" TO EXT-VAR.
           CALL "callee" END-CALL.
           DISPLAY EXT-VAR END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:303: \${COMPILE_MODULE} callee.cob"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:303"
( $at_check_trace; ${COMPILE_MODULE} callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:303"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:304: \${COMPILE_MODULE} caller.cob"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:304"
( $at_check_trace; ${COMPILE_MODULE} caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:304"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:305: \${COBCRUN} -M ./ caller"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:305"
( $at_check_trace; ${COBCRUN} -M ./ caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Hello
World
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:305"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_10
#AT_START_11
at_fn_group_banner 11 'used_binaries.at:313' \
  "cobcrun -M directory/dso alternate" "             " 1
at_xfail=no
(
  $as_echo "11. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           DISPLAY EXT-VAR END-DISPLAY.
           MOVE "World" TO EXT-VAR.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           MOVE "Hello" TO EXT-VAR.
           CALL "callee" END-CALL.
           DISPLAY EXT-VAR END-DISPLAY.
           STOP RUN.
       END PROGRAM caller.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      inside.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           MOVE "Aloha" TO EXT-VAR.
           CALL "callee" END-CALL.
           DISPLAY EXT-VAR END-DISPLAY.
           STOP RUN.
       END PROGRAM inside.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:354: \${COMPILE_MODULE} callee.cob"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:354"
( $at_check_trace; ${COMPILE_MODULE} callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:354"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:355: \${COMPILE_MODULE} caller.cob"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:355"
( $at_check_trace; ${COMPILE_MODULE} caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:355"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:356: \${COBCRUN} -M ./caller inside"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:356"
( $at_check_trace; ${COBCRUN} -M ./caller inside
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Aloha
World
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_11
#AT_START_12
at_fn_group_banner 12 'used_binaries.at:364' \
  "cobcrun -M DSO entry multiple arguments" "        " 1
at_xfail=no
(
  $as_echo "12. $at_setup_line: testing $at_desc ..."
  $at_traceon



# Test that modules can be called with ARGUMENT-VALUES
cat >called.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      called.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 CLI-ARGS      PIC X(27).
       01 ARG-TWO       PIC X(6).
       PROCEDURE        DIVISION.
           ACCEPT CLI-ARGS FROM COMMAND-LINE END-ACCEPT.
           DISPLAY 2 UPON ARGUMENT-NUMBER END-DISPLAY.
           ACCEPT ARG-TWO FROM ARGUMENT-VALUE END-ACCEPT.
           DISPLAY CLI-ARGS ":" ARG-TWO END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


cat >mainer.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      mainer.
       PROCEDURE        DIVISION.
           STOP RUN.
       END PROGRAM mainer.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:391: \${COBC} -b \${FLAGS} mainer.cob called.cob"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:391"
( $at_check_trace; ${COBC} -b ${FLAGS} mainer.cob called.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:391"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:392: \${COBCRUN} -M ./mainer called \"first argument\" \"second\" \"third\""
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "used_binaries.at:392"
( $at_check_trace; ${COBCRUN} -M ./mainer called "first argument" "second" "third"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "first argument second third:second
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:392"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_12
#AT_START_13
at_fn_group_banner 13 'used_binaries.at:399' \
  "Compile from stdin" "                             " 1
at_xfail=no
(
  $as_echo "13. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      a.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN WITH NORMAL STATUS.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:411: cat prog.cob | \$COMPILE -"
at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:411"
( $at_check_trace; cat prog.cob | $COMPILE -
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:412: ./a.out"
at_fn_check_prepare_trace "used_binaries.at:412"
( $at_check_trace; ./a.out
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:412"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/used_binaries.at:414: cat prog.cob | \$COMPILE_MODULE -"
at_fn_check_prepare_notrace 'a shell pipeline' "used_binaries.at:414"
( $at_check_trace; cat prog.cob | $COMPILE_MODULE -
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:414"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:415: \$COBCRUN a"
at_fn_check_prepare_dynamic "$COBCRUN a" "used_binaries.at:415"
( $at_check_trace; $COBCRUN a
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:415"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_13
#AT_START_14
at_fn_group_banner 14 'used_binaries.at:420' \
  "Run job after compilation" "                      " 1
at_xfail=no
(
  $as_echo "14. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY "job" WITH NO ADVANCING END-DISPLAY
           STOP RUN WITH NORMAL STATUS.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:433: \$COMPILE -jd prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -jd prog.cob" "used_binaries.at:433"
( $at_check_trace; $COMPILE -jd prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "job" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:433"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:434: \$COMPILE_MODULE -jd prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE -jd prog.cob" "used_binaries.at:434"
( $at_check_trace; $COMPILE_MODULE -jd prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "job" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:434"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_14
#AT_START_15
at_fn_group_banner 15 'used_binaries.at:439' \
  "Run job with optional arguments" "                " 1
at_xfail=no
(
  $as_echo "15. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 CLI           PIC X(8).
       PROCEDURE        DIVISION.
           ACCEPT CLI FROM COMMAND-LINE
           DISPLAY CLI WITH NO ADVANCING END-DISPLAY
           STOP RUN WITH NORMAL STATUS.
_ATEOF


{ set +x
$as_echo "$at_srcdir/used_binaries.at:454: \$COMPILE -j=\"job 123\" prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -j=\"job 123\" prog.cob" "used_binaries.at:454"
( $at_check_trace; $COMPILE -j="job 123" prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "job 123 " | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:454"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:455: \$COMPILE -jdg prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -jdg prog.cob" "used_binaries.at:455"
( $at_check_trace; $COMPILE -jdg prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "        " | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:455"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/used_binaries.at:456: \$COMPILE_MODULE --job=job123 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE --job=job123 prog.cob" "used_binaries.at:456"
( $at_check_trace; $COMPILE_MODULE --job=job123 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "job123  " | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/used_binaries.at:456"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_15
#AT_START_16
at_fn_group_banner 16 'configuration.at:22' \
  "cobc with standard configuration file" "          " 1
at_xfail=no
(
  $as_echo "16. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


# default configuration permits this extension
{ set +x
$as_echo "$at_srcdir/configuration.at:36: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "configuration.at:36"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:36"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_16
#AT_START_17
at_fn_group_banner 17 'configuration.at:43' \
  "cobc dialect features for all -std" "             " 1
at_xfail=no
(
  $as_echo "17. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:56: \$COMPILE_ONLY -std=default prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=default prog.cob" "configuration.at:56"
( $at_check_trace; $COMPILE_ONLY -std=default prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:56"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:59: \$COMPILE_ONLY -std=cobol85 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "configuration.at:59"
( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in COBOL 85
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:59"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:62: \$COMPILE_ONLY -std=cobol2002 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2002 prog.cob" "configuration.at:62"
( $at_check_trace; $COMPILE_ONLY -std=cobol2002 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: error: AUTHOR does not conform to COBOL 2002
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:62"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:65: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "configuration.at:65"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: error: AUTHOR does not conform to COBOL 2014
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:68: \$COMPILE_ONLY -std=xopen prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=xopen prog.cob" "configuration.at:68"
( $at_check_trace; $COMPILE_ONLY -std=xopen prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR used
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:68"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:71: \$COMPILE_ONLY -std=acu-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "configuration.at:71"
( $at_check_trace; $COMPILE_ONLY -std=acu-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in ACUCOBOL-GT
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:74: \$COMPILE_ONLY -std=bs2000-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=bs2000-strict prog.cob" "configuration.at:74"
( $at_check_trace; $COMPILE_ONLY -std=bs2000-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in BS2000 COBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:74"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:77: \$COMPILE_ONLY -std=ibm-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict prog.cob" "configuration.at:77"
( $at_check_trace; $COMPILE_ONLY -std=ibm-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in IBM COBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:77"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:80: \$COMPILE_ONLY -std=mf-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf-strict prog.cob" "configuration.at:80"
( $at_check_trace; $COMPILE_ONLY -std=mf-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in Micro Focus COBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:83: \$COMPILE_ONLY -std=rm-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=rm-strict prog.cob" "configuration.at:83"
( $at_check_trace; $COMPILE_ONLY -std=rm-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in RM-COBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:83"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:86: \$COMPILE_ONLY -std=mvs-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mvs-strict prog.cob" "configuration.at:86"
( $at_check_trace; $COMPILE_ONLY -std=mvs-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in MVS/VM COBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:86"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:89: \$COMPILE_ONLY -std=acu prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "configuration.at:89"
( $at_check_trace; $COMPILE_ONLY -std=acu prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:89"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:90: \$COMPILE_ONLY -std=bs2000 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=bs2000 prog.cob" "configuration.at:90"
( $at_check_trace; $COMPILE_ONLY -std=bs2000 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:90"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:91: \$COMPILE_ONLY -std=ibm prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "configuration.at:91"
( $at_check_trace; $COMPILE_ONLY -std=ibm prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:91"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:92: \$COMPILE_ONLY -std=mf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog.cob" "configuration.at:92"
( $at_check_trace; $COMPILE_ONLY -std=mf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:93: \$COMPILE_ONLY -std=rm prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=rm prog.cob" "configuration.at:93"
( $at_check_trace; $COMPILE_ONLY -std=rm prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:94: \$COMPILE_ONLY -std=mvs prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mvs prog.cob" "configuration.at:94"
( $at_check_trace; $COMPILE_ONLY -std=mvs prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_17
#AT_START_18
at_fn_group_banner 18 'configuration.at:99' \
  "cobc with configuration file via -std" "          " 1
at_xfail=no
(
  $as_echo "18. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


# check if -std loads configuration file and if override works
{ set +x
$as_echo "$at_srcdir/configuration.at:113: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "configuration.at:113"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: error: AUTHOR does not conform to COBOL 2014
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:113"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_18
#AT_START_19
at_fn_group_banner 19 'configuration.at:120' \
  "cobc with standard configuration file via -conf" "" 1
at_xfail=no
(
  $as_echo "19. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


# check if override via -conf works
{ set +x
$as_echo "$at_srcdir/configuration.at:134: \$COMPILE_ONLY -conf=cobol2014.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=cobol2014.conf prog.cob" "configuration.at:134"
( $at_check_trace; $COMPILE_ONLY -conf=cobol2014.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: error: AUTHOR does not conform to COBOL 2014
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:134"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_19
#AT_START_20
at_fn_group_banner 20 'configuration.at:141' \
  "cobc with own configuration file via -conf" "     " 1
at_xfail=no
(
  $as_echo "20. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.conf <<'_ATEOF'

include "default.conf"
name: "Sample Conf"
comment-paragraphs:                       ok
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


# check if override via -conf works and if include works
{ set +x
$as_echo "$at_srcdir/configuration.at:161: \$COMPILE_ONLY -conf=test.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=test.conf prog.cob" "configuration.at:161"
( $at_check_trace; $COMPILE_ONLY -conf=test.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }


# check if configuration file loading with full path works
{ set +x
$as_echo "$at_srcdir/configuration.at:164: \$COMPILE_ONLY \\
-conf=\"\$(_return_path \"\$(pwd)/test.conf\")\" prog.cob"
at_fn_check_prepare_notrace 'a $(...) command substitution' "configuration.at:164"
( $at_check_trace; $COMPILE_ONLY \
-conf="$(_return_path "$(pwd)/test.conf")" prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:164"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_20
#AT_START_21
at_fn_group_banner 21 'configuration.at:170' \
  "cobc configuration: recursive include" "          " 1
at_xfail=no
(
  $as_echo "21. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.conf <<'_ATEOF'

# different line for "include" to check the line number
include "test2.conf"
_ATEOF


cat >test2.conf <<'_ATEOF'

# include in
# line 4
include "test3.conf"
_ATEOF


cat >test3.conf <<'_ATEOF'

include "test.conf"
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:197: \$COMPILE_ONLY -conf=test.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=test.conf prog.cob" "configuration.at:197"
( $at_check_trace; $COMPILE_ONLY -conf=test.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
test.conf: recursive inclusion
test3.conf: 2: configuration file was included here
test2.conf: 4: configuration file was included here
test.conf: 3: configuration file was included here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:197"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_21
#AT_START_22
at_fn_group_banner 22 'configuration.at:208' \
  "cobc with -std and -conf" "                       " 1
at_xfail=no
(
  $as_echo "22. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.conf <<'_ATEOF'

include "mf.conf"
name: "Sample Conf"
comment-paragraphs:                       ok
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


# check if override via -conf works and if include works
{ set +x
$as_echo "$at_srcdir/configuration.at:228: \$COMPILE_ONLY -std=default -conf=test.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=default -conf=test.conf prog.cob" "configuration.at:228"
( $at_check_trace; $COMPILE_ONLY -std=default -conf=test.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration warning: test.conf: The previous loaded configuration 'GnuCOBOL' will be discarded.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:228"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_22
#AT_START_23
at_fn_group_banner 23 'configuration.at:235' \
  "cobc compiler flag on command line" "             " 1
at_xfail=no
(
  $as_echo "23. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:248: \$COMPILE_ONLY -fcomment-paragraphs=ok prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomment-paragraphs=ok prog.cob" "configuration.at:248"
( $at_check_trace; $COMPILE_ONLY -fcomment-paragraphs=ok prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:248"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_23
#AT_START_24
at_fn_group_banner 24 'configuration.at:254' \
  "cobc compiler flag on command line (priority)" "  " 1
at_xfail=no
(
  $as_echo "24. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.conf <<'_ATEOF'

include "default.conf"
name: "Sample Conf"
comment-paragraphs:   unconformable
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


# configuration flags must work
{ set +x
$as_echo "$at_srcdir/configuration.at:274: \$COMPILE_ONLY \\
-fcomment-paragraphs=ok prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:274"
( $at_check_trace; $COMPILE_ONLY \
-fcomment-paragraphs=ok prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:274"
$at_failed && at_fn_log_failure
$at_traceon; }


# configuration flag on command line must override all (no matter where it's used)
{ set +x
$as_echo "$at_srcdir/configuration.at:278: \$COMPILE_ONLY \\
-fcomment-paragraphs=ok -conf=test.conf prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:278"
( $at_check_trace; $COMPILE_ONLY \
-fcomment-paragraphs=ok -conf=test.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:278"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:280: \$COMPILE_ONLY \\
-conf=test.conf -fcomment-paragraphs=ok prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:280"
( $at_check_trace; $COMPILE_ONLY \
-conf=test.conf -fcomment-paragraphs=ok prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:280"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_24
#AT_START_25
at_fn_group_banner 25 'configuration.at:287' \
  "cobc configuration: entries" "                    " 1
at_xfail=no
(
  $as_echo "25. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


# conf entries must be clean
{ set +x
$as_echo "$at_srcdir/configuration.at:301: \$COMPILE_ONLY -q \\
-fcomment-paragraphsok prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:301"
( $at_check_trace; $COMPILE_ONLY -q \
-fcomment-paragraphsok prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "cobc: unrecognized option '-fcomment-paragraphsok'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:301"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:305: \$COMPILE_ONLY \\
-fassign-clause=cobol2002 prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:305"
( $at_check_trace; $COMPILE_ONLY \
-fassign-clause=cobol2002 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
-fassign-clause=cobol2002: unsupported value 'cobol2002' for configuration tag 'assign-clause'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:305"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:310: \$COMPILE_ONLY \\
-fassign-clause=cobol-2002 prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:310"
( $at_check_trace; $COMPILE_ONLY \
-fassign-clause=cobol-2002 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
-fassign-clause=cobol-2002: invalid value 'cobol-2002' for configuration tag 'assign-clause';
	should be one of the following values: cobol2002, mf, ibm
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:310"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_25
#AT_START_26
at_fn_group_banner 26 'configuration.at:320' \
  "cobc configuration: conf missing" "               " 1
at_xfail=no
(
  $as_echo "26. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >defunc.conf <<'_ATEOF'

include "notthere.conf"
_ATEOF


cat >defunc2.conf <<'_ATEOF'

include
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:331: \$COMPILE_ONLY -conf=notthere.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=notthere.conf prog.cob" "configuration.at:331"
( $at_check_trace; $COMPILE_ONLY -conf=notthere.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
notthere.conf: No such file or directory
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:331"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:335: \$COMPILE_ONLY -conf=defunc.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=defunc.conf prog.cob" "configuration.at:335"
( $at_check_trace; $COMPILE_ONLY -conf=defunc.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
notthere.conf: No such file or directory
defunc.conf: 2: configuration file was included here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:335"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:340: \$COMPILE_ONLY -conf=defunc2.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=defunc2.conf prog.cob" "configuration.at:340"
( $at_check_trace; $COMPILE_ONLY -conf=defunc2.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
defunc2.conf: 2: invalid configuration tag 'include'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:340"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_26
#AT_START_27
at_fn_group_banner 27 'configuration.at:348' \
  "cobc configuration: conf optional" "              " 1
at_xfail=no
(
  $as_echo "27. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >defunc.conf <<'_ATEOF'

include "default.conf"
includeif "notthere.conf"
_ATEOF


cat >test.conf <<'_ATEOF'

include "default.conf"
include "test2.conf"
_ATEOF


cat >test2.conf <<'_ATEOF'

name: "Sample Conf"
comment-paragraphs:                       ok
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       AUTHOR. tester.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:376: \$COMPILE_ONLY -conf=defunc.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=defunc.conf prog.cob" "configuration.at:376"
( $at_check_trace; $COMPILE_ONLY -conf=defunc.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: AUTHOR is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:376"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:379: \$COMPILE_ONLY -conf=test.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=test.conf prog.cob" "configuration.at:379"
( $at_check_trace; $COMPILE_ONLY -conf=test.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:379"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_27
#AT_START_28
at_fn_group_banner 28 'configuration.at:384' \
  "cobc configuration: incomplete" "                 " 1
at_xfail=no
(
  $as_echo "28. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.conf <<'_ATEOF'

name: "Empty Conf"
_ATEOF


# check if incomplete configuration result in error
{ set +x
$as_echo "$at_srcdir/configuration.at:392: \$COMPILE_ONLY -conf=test.conf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -conf=test.conf prog.cob" "configuration.at:392"
( $at_check_trace; $COMPILE_ONLY -conf=test.conf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
test.conf: missing definitions:
	no definition of 'reserved-words'
	no definition of 'tab-width'
	no definition of 'text-column'
	no definition of 'pic-length'
	no definition of 'word-length'
	no definition of 'literal-length'
	no definition of 'numeric-literal-length'
	no definition of 'assign-clause'
	no definition of 'binary-size'
	no definition of 'binary-byteorder'
	no definition of 'standard-define'
	no definition of 'filename-mapping'
	no definition of 'pretty-display'
	no definition of 'binary-truncate'
	no definition of 'complex-odo'
	no definition of 'indirect-redefines'
	no definition of 'larger-redefines-ok'
	no definition of 'relax-syntax-checks'
	no definition of 'relax-level-hierarchy'
	no definition of 'sticky-linkage'
	no definition of 'move-ibm'
	no definition of 'perform-osvs'
	no definition of 'arithmetic-osvs'
	no definition of 'constant-folding'
	no definition of 'hostsign'
	no definition of 'program-name-redefinition'
	no definition of 'accept-update'
	no definition of 'accept-auto'
	no definition of 'console-is-crt'
	no definition of 'no-echo-means-secure'
	no definition of 'comment-paragraphs'
	no definition of 'memory-size-clause'
	no definition of 'multiple-file-tape-clause'
	no definition of 'label-records-clause'
	no definition of 'value-of-clause'
	no definition of 'data-records-clause'
	no definition of 'top-level-occurs-clause'
	no definition of 'synchronized-clause'
	no definition of 'goto-statement-without-name'
	no definition of 'stop-literal-statement'
	no definition of 'stop-identifier-statement'
	no definition of 'debugging-mode'
	no definition of 'use-for-debugging'
	no definition of 'padding-character-clause'
	no definition of 'next-sentence-phrase'
	no definition of 'listing-statements'
	no definition of 'title-statement'
	no definition of 'entry-statement'
	no definition of 'move-noninteger-to-alphanumeric'
	no definition of 'move-figurative-constant-to-numeric'
	no definition of 'move-figurative-quote-to-numeric'
	no definition of 'odo-without-to'
	no definition of 'section-segments'
	no definition of 'alter-statement'
	no definition of 'call-overflow'
	no definition of 'numeric-boolean'
	no definition of 'hexadecimal-boolean'
	no definition of 'national-literals'
	no definition of 'hexadecimal-national-literals'
	no definition of 'acu-literals'
	no definition of 'word-continuation'
	no definition of 'not-exception-before-exception'
	no definition of 'accept-display-extensions'
	no definition of 'renames-uncommon-levels'
	no definition of 'constant-78'
	no definition of 'constant-01'
	no definition of 'program-prototypes'
	no definition of 'reference-out-of-declaratives'
	no definition of 'numeric-value-for-edited-item'
	no definition of 'incorrect-conf-sec-order'
	no definition of 'define-constant-directive'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:392"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_28
#AT_START_29
at_fn_group_banner 29 'configuration.at:471' \
  "runtime configuration" "                          " 1
at_xfail=no
(
  $as_echo "29. $at_setup_line: testing $at_desc ..."
  $at_traceon



# check if --runtime-conf exits without error
# don't compare stdout
{ set +x
$as_echo "$at_srcdir/configuration.at:476: \$COBCRUN --runtime-conf"
at_fn_check_prepare_dynamic "$COBCRUN --runtime-conf" "configuration.at:476"
( $at_check_trace; $COBCRUN --runtime-conf
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:476"
$at_failed && at_fn_log_failure
$at_traceon; }


# check if --runtime-conf points to a file called "runtime_empty.cfg"
# use tr to remove newlines and spaces as the path likely is splitted
# into two lines
{ set +x
$as_echo "$at_srcdir/configuration.at:481: \$COBCRUN --runtime-conf | tr -d '\\n ' | \\
grep \"runtime_empty.cfg\""
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:481"
( $at_check_trace; $COBCRUN --runtime-conf | tr -d '\n ' | \
grep "runtime_empty.cfg"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:481"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:483: export COB_RUNTIME_CONFIG=\"\"; \$COBCRUN --runtime-conf | tr -d '\\n ' \\
| grep \"runtime.cfg\""
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:483"
( $at_check_trace; export COB_RUNTIME_CONFIG=""; $COBCRUN --runtime-conf | tr -d '\n ' \
| grep "runtime.cfg"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:483"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_29
#AT_START_30
at_fn_group_banner 30 'configuration.at:490' \
  "runtime configuration file" "                     " 1
at_xfail=no
(
  $as_echo "30. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.cfg <<'_ATEOF'

include "test2.cfg"
_ATEOF


cat >test2.cfg <<'_ATEOF'

physical_cancel true
_ATEOF


cat >test3.cfg <<'_ATEOF'

setenv COB_PHYSICAL_CANCEL=true
_ATEOF



# check if default for physical cancel is still false
{ set +x
$as_echo "$at_srcdir/configuration.at:507: \$COBCRUN --runtime-conf | \\
grep \"COB_PHYSICAL_CANCEL\" | grep \"false\" | grep \"default\""
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:507"
( $at_check_trace; $COBCRUN --runtime-conf | \
grep "COB_PHYSICAL_CANCEL" | grep "false" | grep "default"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:507"
$at_failed && at_fn_log_failure
$at_traceon; }


# check if override via -c works and if include works
{ set +x
$as_echo "$at_srcdir/configuration.at:511: \$COBCRUN -c test2.cfg --runtime-conf | \\
grep \"physical_cancel\" | grep \"true\""
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:511"
( $at_check_trace; $COBCRUN -c test2.cfg --runtime-conf | \
grep "physical_cancel" | grep "true"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:511"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:513: \$COBCRUN -c test.cfg --runtime-conf | \\
grep \"physical_cancel\" | grep \"true\""
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:513"
( $at_check_trace; $COBCRUN -c test.cfg --runtime-conf | \
grep "physical_cancel" | grep "true"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:513"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:515: \$COBCRUN -c test3.cfg --runtime-conf | \\
grep \"COB_PHYSICAL_CANCEL\" | grep \"true\""
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:515"
( $at_check_trace; $COBCRUN -c test3.cfg --runtime-conf | \
grep "COB_PHYSICAL_CANCEL" | grep "true"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }


# check if configuration file loading with full path works
{ set +x
$as_echo "$at_srcdir/configuration.at:519: \$COBCRUN -c \"\$(_return_path \"\$(pwd)/test.cfg\")\" --runtime-conf"
at_fn_check_prepare_notrace 'a $(...) command substitution' "configuration.at:519"
( $at_check_trace; $COBCRUN -c "$(_return_path "$(pwd)/test.cfg")" --runtime-conf
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:519"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_30
#AT_START_31
at_fn_group_banner 31 'configuration.at:525' \
  "runtime configuration: recursive include" "       " 1
at_xfail=no
(
  $as_echo "31. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.cfg <<'_ATEOF'

# different line for "include" to check the line number
include "test2.cfg"
_ATEOF


cat >test2.cfg <<'_ATEOF'

# include in
# line 4
include "test3.cfg"
_ATEOF


cat >test3.cfg <<'_ATEOF'

include "test.cfg"
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:543: \$COBCRUN -c test.cfg -r"
at_fn_check_prepare_dynamic "$COBCRUN -c test.cfg -r" "configuration.at:543"
( $at_check_trace; $COBCRUN -c test.cfg -r
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
test.cfg: recursive inclusion
test3.cfg: 2: configuration file was included here
test2.cfg: 4: configuration file was included here
test.cfg: 3: configuration file was included here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:543"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_31
#AT_START_32
at_fn_group_banner 32 'configuration.at:554' \
  "runtime configuration: environment priority" "    " 1
at_xfail=no
(
  $as_echo "32. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.cfg <<'_ATEOF'

physical_cancel true
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:561: export COB_PHYSICAL_CANCEL=false; \$COBCRUN -c test.cfg --runtime-conf | \\
grep \"COB_PHYSICAL_CANCEL\" | grep \"false\""
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:561"
( $at_check_trace; export COB_PHYSICAL_CANCEL=false; $COBCRUN -c test.cfg --runtime-conf | \
grep "COB_PHYSICAL_CANCEL" | grep "false"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_32
#AT_START_33
at_fn_group_banner 33 'configuration.at:567' \
  "runtime configuration: entries" "                 " 1
at_xfail=no
(
  $as_echo "33. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/configuration.at:570: echo \"\$PATHSEP\""
at_fn_check_prepare_dynamic "echo \"$PATHSEP\"" "configuration.at:570"
( $at_check_trace; echo "$PATHSEP"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ";
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:570"
if $at_failed; then :
  # Previous test "failed" --> PATHSEP isn't ;

cat >defunc.cfg <<'_ATEOF'

novar
physical_cancel notwithme
load_case  insensitive
varseq_format big
sort_chunk 4K
sort_memory 4G # too big by some byte
setenv nothing
sort_chunk
trace_file /tmp:/temp
_ATEOF


# conf entries must be clean
{ set +x
$as_echo "$at_srcdir/configuration.at:588: \$COBCRUN -c defunc.cfg --runtime-conf"
at_fn_check_prepare_dynamic "$COBCRUN -c defunc.cfg --runtime-conf" "configuration.at:588"
( $at_check_trace; $COBCRUN -c defunc.cfg --runtime-conf
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
defunc.cfg: 2: unknown configuration tag 'novar'
defunc.cfg: 3: invalid value 'notwithme' for configuration tag 'physical_cancel';
	should be one of the following values: true, false
defunc.cfg: 4: invalid value 'insensitive' for configuration tag 'load_case';
	should be one of the following values: LOWER(1), UPPER(2), not set(0)
defunc.cfg: 5: invalid value 'big' for configuration tag 'varseq_format';
	should be one of the following values: 0, 1, 2, 3
defunc.cfg: 6: invalid value '4K' for configuration tag 'sort_chunk';
	minimum value: 131072
defunc.cfg: 7: invalid value '4G' for configuration tag 'sort_memory';
	maximum value: 4294967294
defunc.cfg: 8: WARNING - 'setenv nothing' without a value - ignored!
defunc.cfg: 9: WARNING - 'sort_chunk' without a value - ignored!
defunc.cfg: 10: invalid value '/tmp:/temp' for configuration tag 'trace_file';
	should not contain ':'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:588"
$at_failed && at_fn_log_failure
$at_traceon; }



else
  # Previous test "passed" --> PATHSEP is ;

cat >defunc.cfg <<'_ATEOF'

novar
physical_cancel notwithme
load_case  insensitive
varseq_format big
sort_chunk 4K
sort_memory 4G # too big by some byte
setenv nothing
sort_chunk
trace_file C:\tmp;C:\temp
_ATEOF


# conf entries must be clean
{ set +x
$as_echo "$at_srcdir/configuration.at:624: \$COBCRUN -c defunc.cfg --runtime-conf"
at_fn_check_prepare_dynamic "$COBCRUN -c defunc.cfg --runtime-conf" "configuration.at:624"
( $at_check_trace; $COBCRUN -c defunc.cfg --runtime-conf
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
defunc.cfg: 2: unknown configuration tag 'novar'
defunc.cfg: 3: invalid value 'notwithme' for configuration tag 'physical_cancel';
	should be one of the following values: true, false
defunc.cfg: 4: invalid value 'insensitive' for configuration tag 'load_case';
	should be one of the following values: LOWER(1), UPPER(2), not set(0)
defunc.cfg: 5: invalid value 'big' for configuration tag 'varseq_format';
	should be one of the following values: 0, 1, 2, 3
defunc.cfg: 6: invalid value '4K' for configuration tag 'sort_chunk';
	minimum value: 131072
defunc.cfg: 7: invalid value '4G' for configuration tag 'sort_memory';
	maximum value: 4294967294
defunc.cfg: 8: WARNING - 'setenv nothing' without a value - ignored!
defunc.cfg: 9: WARNING - 'sort_chunk' without a value - ignored!
defunc.cfg: 10: invalid value 'C:\\tmp;C:\\temp' for configuration tag 'trace_file';
	should not contain ';'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:624"
$at_failed && at_fn_log_failure
$at_traceon; }



fi
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_33
#AT_START_34
at_fn_group_banner 34 'configuration.at:648' \
  "runtime configuration: conf missing" "            " 1
at_xfail=no
(
  $as_echo "34. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >defunc.cfg <<'_ATEOF'

include "notthere.cfg"
_ATEOF


cat >defunc2.cfg <<'_ATEOF'

include
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:659: \$COBCRUN -c notthere.cfg --runtime-conf"
at_fn_check_prepare_dynamic "$COBCRUN -c notthere.cfg --runtime-conf" "configuration.at:659"
( $at_check_trace; $COBCRUN -c notthere.cfg --runtime-conf
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
notthere.cfg: No such file or directory
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:659"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/configuration.at:663: \$COBCRUN -c defunc.cfg --runtime-conf"
at_fn_check_prepare_dynamic "$COBCRUN -c defunc.cfg --runtime-conf" "configuration.at:663"
( $at_check_trace; $COBCRUN -c defunc.cfg --runtime-conf
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
notthere.cfg: No such file or directory
defunc.cfg: 2: configuration file was included here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:663"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/configuration.at:669: \$COBCRUN -c defunc2.cfg --runtime-conf"
at_fn_check_prepare_dynamic "$COBCRUN -c defunc2.cfg --runtime-conf" "configuration.at:669"
( $at_check_trace; $COBCRUN -c defunc2.cfg --runtime-conf
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration error:
defunc2.cfg: 2: 'include' without a value!
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/configuration.at:669"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_34
#AT_START_35
at_fn_group_banner 35 'configuration.at:677' \
  "runtime configuration: conf optional" "           " 1
at_xfail=no
(
  $as_echo "35. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >defunc.cfg <<'_ATEOF'

include "runtime_empty.cfg"
includeif "notthere.cfg"
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:685: \$COBCRUN -c defunc.cfg --runtime-conf"
at_fn_check_prepare_dynamic "$COBCRUN -c defunc.cfg --runtime-conf" "configuration.at:685"
( $at_check_trace; $COBCRUN -c defunc.cfg --runtime-conf
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:685"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_35
#AT_START_36
at_fn_group_banner 36 'configuration.at:690' \
  "COB_CONFIG_DIR test" "                            " 1
at_xfail=no
(
  $as_echo "36. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/configuration.at:700: echo \"\$PATHSEP\""
at_fn_check_prepare_dynamic "echo \"$PATHSEP\"" "configuration.at:700"
( $at_check_trace; echo "$PATHSEP"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ";
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/configuration.at:700"
if $at_failed; then :
  # Previous test "failed" --> PATHSEP isn't ;

{ set +x
$as_echo "$at_srcdir/configuration.at:705: export COB_CONFIG_DIR=\"/temp:/tmp\"; \\
\$COMPILE prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:705"
( $at_check_trace; export COB_CONFIG_DIR="/temp:/tmp"; \
$COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "cobc: environment variable 'COB_CONFIG_DIR' is '/temp:/tmp'; should not contain ':'
cobc: aborting
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 97 $at_status "$at_srcdir/configuration.at:705"
$at_failed && at_fn_log_failure
$at_traceon; }



else
  # Previous test "passed" --> PATHSEP is ;

{ set +x
$as_echo "$at_srcdir/configuration.at:715: export COB_CONFIG_DIR=\"C:\\temp;C:\\tmp\"; \\
\$COMPILE prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "configuration.at:715"
( $at_check_trace; export COB_CONFIG_DIR="C:\temp;C:\tmp"; \
$COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "cobc: environment variable 'COB_CONFIG_DIR' is 'C:\\temp;C:\\tmp'; should not contain ';'
cobc: aborting
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 97 $at_status "$at_srcdir/configuration.at:715"
$at_failed && at_fn_log_failure
$at_traceon; }



fi
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_36
#AT_START_37
at_fn_group_banner 37 'syn_copy.at:21' \
  "COPY: within comment" "                           " 2
at_xfail=no
(
  $as_echo "37. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
      *COPY "copy.inc".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

  IDENTIFICATION   DIVISION.
  PROGRAM-ID.      prog2.
  DATA             DIVISION.
  WORKING-STORAGE  SECTION.
  *> COPY "copy.inc".
  PROCEDURE        DIVISION.
  STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_copy.at:44: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:44"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:44"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_copy.at:45: \$COMPILE_ONLY -free prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free prog2.cob" "syn_copy.at:45"
( $at_check_trace; $COMPILE_ONLY -free prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_37
#AT_START_38
at_fn_group_banner 38 'syn_copy.at:49' \
  "COPY: file not found" "                           " 2
at_xfail=no
(
  $as_echo "38. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_copy.at:62: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_copy.at:62"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: copy.inc: No such file or directory
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_copy.at:62"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_38
#AT_START_39
at_fn_group_banner 39 'syn_copy.at:69' \
  "COPY: replacement order" "                        " 2
at_xfail=no
(
  $as_echo "39. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >copy.inc <<'_ATEOF'

       01 TEST-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc"
          REPLACING ==TEST-VAR== BY ==FIRST-MATCH==
                    ==TEST-VAR== BY ==SECOND-MATCH==.
       PROCEDURE        DIVISION.
           DISPLAY FIRST-MATCH NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_copy.at:90: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:90"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:90"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_copy.at:91: ./prog"
at_fn_check_prepare_trace "syn_copy.at:91"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:91"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_39
#AT_START_40
at_fn_group_banner 40 'syn_copy.at:96' \
  "COPY: separators" "                               " 2
at_xfail=no
(
  $as_echo "40. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >copy.inc <<'_ATEOF'

       01 TEST-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc"
          REPLACING ==TEST-VAR==, BY ==FIRST-MATCH==,
                 ,  ==TEST-VAR==; BY ==SECOND-MATCH==;
                 ;  ==TEST-VAR== , BY ==THIRD-MATCH==
                    ==TEST-VAR== ; BY ==FOURTH-MATCH==.
       PROCEDURE        DIVISION.
           DISPLAY FIRST-MATCH NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_copy.at:119: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:119"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:119"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_copy.at:120: ./prog"
at_fn_check_prepare_trace "syn_copy.at:120"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:120"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_40
#AT_START_41
at_fn_group_banner 41 'syn_copy.at:125' \
  "COPY: partial replacement" "                      " 2
at_xfail=no
(
  $as_echo "41. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >copy.inc <<'_ATEOF'

       01 :TEST:-VAR PIC X(2) VALUE "OK".
       01 (TEST)-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc"
          REPLACING ==:TEST:== BY ==COLON==
                    ==(TEST)== BY ==PAREN==.
       PROCEDURE        DIVISION.
           DISPLAY COLON-VAR NO ADVANCING
           END-DISPLAY.
           DISPLAY PAREN-VAR NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_copy.at:149: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:149"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:149"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_copy.at:150: ./prog"
at_fn_check_prepare_trace "syn_copy.at:150"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:150"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_41
#AT_START_42
at_fn_group_banner 42 'syn_copy.at:154' \
  "COPY: LEADING replacement" "                      " 2
at_xfail=no
(
  $as_echo "42. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >copy.inc <<'_ATEOF'

       01  TEST-VAR PIC X(2) VALUE "OK".
       01  NORM-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc"
            REPLACING LEADING ==TEST== BY ==FIRST==
                      LEADING ==NORM== BY ==SECOND==.
       PROCEDURE        DIVISION.
           DISPLAY FIRST-VAR NO ADVANCING
           END-DISPLAY.
           DISPLAY SECOND-VAR NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_copy.at:178: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:178"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:178"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_copy.at:179: ./prog"
at_fn_check_prepare_trace "syn_copy.at:179"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:179"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_42
#AT_START_43
at_fn_group_banner 43 'syn_copy.at:183' \
  "COPY: TRAILING replacement" "                     " 2
at_xfail=no
(
  $as_echo "43. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >copy.inc <<'_ATEOF'

       01  TEST-FIRST  PIC X(2) VALUE "OK".
       01  TEST-SECOND PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc"
            REPLACING TRAILING ==FIRST== BY ==VAR1==
                      TRAILING ==SECOND== BY ==VAR2==.
       PROCEDURE        DIVISION.
           DISPLAY TEST-VAR1 NO ADVANCING
           END-DISPLAY.
           DISPLAY TEST-VAR2 NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_copy.at:207: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:207"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:207"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_copy.at:208: ./prog"
at_fn_check_prepare_trace "syn_copy.at:208"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_43
#AT_START_44
at_fn_group_banner 44 'syn_copy.at:212' \
  "COPY: recursive replacement" "                    " 2
at_xfail=no
(
  $as_echo "44. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >copy-2.inc <<'_ATEOF'

       01 TEST-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >copy-1.inc <<'_ATEOF'

       COPY "copy-2.inc".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy-1.inc"
           REPLACING ==TEST-VAR== BY ==COPY-VAR==.
       PROCEDURE        DIVISION.
           DISPLAY COPY-VAR NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_copy.at:236: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_copy.at:236"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:236"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_copy.at:237: ./prog"
at_fn_check_prepare_trace "syn_copy.at:237"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:237"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_44
#AT_START_45
at_fn_group_banner 45 'syn_copy.at:241' \
  "COPY: fixed/free format" "                        " 2
at_xfail=no
(
  $as_echo "45. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >copy.inc <<'_ATEOF'

       >>SOURCE FIXED
       01 TEST-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

  IDENTIFICATION   DIVISION.
  PROGRAM-ID.      prog.
  DATA             DIVISION.
  WORKING-STORAGE  SECTION.
  COPY "copy.inc".
  PROCEDURE        DIVISION.
   DISPLAY TEST-VAR NO ADVANCING
   END-DISPLAY.
   STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_copy.at:261: \$COMPILE -free prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -free prog.cob" "syn_copy.at:261"
( $at_check_trace; $COMPILE -free prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:261"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_copy.at:262: ./prog"
at_fn_check_prepare_trace "syn_copy.at:262"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_copy.at:262"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_45
#AT_START_46
at_fn_group_banner 46 'syn_definition.at:25' \
  "Invalid PROGRAM-ID" "                             " 2
at_xfail=no
(
  $as_echo "46. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      short.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:35: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:35"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 3: error: invalid PROGRAM-ID 'short' - name duplicates a 'C' keyword
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:35"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_46
#AT_START_47
at_fn_group_banner 47 'syn_definition.at:42' \
  "Invalid PROGRAM-ID type clause (1)" "             " 2
at_xfail=no
(
  $as_echo "47. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog IS COMMON.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:52: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:52"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 3: error: COMMON may only be used in a contained program
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:52"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_47
#AT_START_48
at_fn_group_banner 48 'syn_definition.at:59' \
  "invalid PROGRAM-ID type clause (2)" "             " 2
at_xfail=no
(
  $as_echo "48. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog IS INITIAL RECURSIVE.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:69: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:69"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 3: error: syntax error, unexpected RECURSIVE, expecting .
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:69"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_48
#AT_START_49
at_fn_group_banner 49 'syn_definition.at:76' \
  "INITIAL/RECURSIVE before COMMON" "                " 2
at_xfail=no
(
  $as_echo "49. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      containing-prog.

       PROCEDURE        DIVISION.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog-1 IS INITIAL COMMON.
       PROCEDURE        DIVISION.
           STOP RUN.
       END PROGRAM      prog-1.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog-2 IS RECURSIVE COMMON.
       PROCEDURE        DIVISION.
           STOP RUN.
       END PROGRAM      prog-2.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:98: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:98"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:98"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_49
#AT_START_50
at_fn_group_banner 50 'syn_definition.at:108' \
  "Undefined data name" "                            " 2
at_xfail=no
(
  $as_echo "50. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:120: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:120"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: error: 'X' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:120"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_50
#AT_START_51
at_fn_group_banner 51 'syn_definition.at:127' \
  "Undefined group name" "                           " 2
at_xfail=no
(
  $as_echo "51. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       PROCEDURE        DIVISION.
           DISPLAY X IN G
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:142: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:142"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: 'X IN G' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:142"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_51
#AT_START_52
at_fn_group_banner 52 'syn_definition.at:149' \
  "Undefined data name in group" "                   " 2
at_xfail=no
(
  $as_echo "52. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X.
       01 Y             PIC X.
       PROCEDURE        DIVISION.
           DISPLAY Y IN G
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:166: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:166"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: 'Y IN G' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_52
#AT_START_53
at_fn_group_banner 53 'syn_definition.at:173' \
  "Reference not a group name" "                     " 2
at_xfail=no
(
  $as_echo "53. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       PROCEDURE        DIVISION.
           DISPLAY X IN X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:188: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:188"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: 'X IN X' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:188"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_53
#AT_START_54
at_fn_group_banner 54 'syn_definition.at:197' \
  "Incomplete 01 definition" "                       " 2
at_xfail=no
(
  $as_echo "54. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:208: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:208"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: PICTURE clause required for 'X'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_54
#AT_START_55
at_fn_group_banner 55 'syn_definition.at:217' \
  "Same labels in different sections" "              " 2
at_xfail=no
(
  $as_echo "55. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
       S-1 SECTION.
       L.

       S-2 SECTION.
       L.

       S-3 SECTION.
            GO TO L.
       L.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:235: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:235"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:235"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_55
#AT_START_56
at_fn_group_banner 56 'syn_definition.at:242' \
  "Redefinition of 01 items" "                       " 2
at_xfail=no
(
  $as_echo "56. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       01 X             PIC X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:254: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:254"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: redefinition of 'X'
prog.cob: 6: warning: 'X' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:254"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_56
#AT_START_57
at_fn_group_banner 57 'syn_definition.at:262' \
  "Redefinition of 01 and 02 items" "                " 2
at_xfail=no
(
  $as_echo "57. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X.
         02 X           PIC X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:274: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:274"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: redefinition of 'X'
prog.cob: 6: warning: 'X' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:274"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_57
#AT_START_58
at_fn_group_banner 58 'syn_definition.at:282' \
  "Redefinition of 02 items" "                       " 2
at_xfail=no
(
  $as_echo "58. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X.
         02 X           PIC X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:295: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:295"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: redefinition of 'X'
prog.cob: 7: warning: 'X' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:295"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_58
#AT_START_59
at_fn_group_banner 59 'syn_definition.at:303' \
  "Redefinition of 77 items" "                       " 2
at_xfail=no
(
  $as_echo "59. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77 X             PIC X.
       77 X             PIC X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:315: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:315"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: redefinition of 'X'
prog.cob: 6: warning: 'X' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:315"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_59
#AT_START_60
at_fn_group_banner 60 'syn_definition.at:323' \
  "Redefinition of 01 and 77 items" "                " 2
at_xfail=no
(
  $as_echo "60. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       77 X             PIC X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:335: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:335"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: redefinition of 'X'
prog.cob: 6: warning: 'X' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:335"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_60
#AT_START_61
at_fn_group_banner 61 'syn_definition.at:343' \
  "Redefinition of 88 items" "                       " 2
at_xfail=no
(
  $as_echo "61. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
         88 A           VALUE "A".
         88 A           VALUE "B".
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:356: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:356"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: redefinition of 'A'
prog.cob: 7: warning: 'A' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_61
#AT_START_62
at_fn_group_banner 62 'syn_definition.at:364' \
  "Redefinition of program-name by other programs" " " 2
at_xfail=no
(
  $as_echo "62. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  PROG         PIC X.

       PROCEDURE        DIVISION.
           CONTINUE
           .
       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      foo COMMON.
       END PROGRAM      foo.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      barr.
       PROCEDURE        DIVISION.
           CONTINUE
           .
       *> This should cause an error.
       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      foo.
       END PROGRAM      foo.
       END PROGRAM      barr.
       END PROGRAM      prog.


       *> This should cause an error.
       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  foo          PIC X.

       PROCEDURE        DIVISION.
           CONTINUE
           .
       *> This should clash with the data definition.
       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      foo.
       END PROGRAM      foo.
       END PROGRAM      prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:413: \$COMPILE_ONLY --ffold-call=upper prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY --ffold-call=upper prog.cob" "syn_definition.at:413"
( $at_check_trace; $COMPILE_ONLY --ffold-call=upper prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: redefinition of 'prog'
prog.cob: 3: warning: 'prog' previously defined here
prog.cob: 23: error: redefinition of program name 'foo'
prog.cob: 31: error: redefinition of program name 'prog'
prog.cob: 42: error: redefinition of 'foo'
prog.cob: 35: error: 'foo' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:413"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_definition.at:422: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:422"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 23: error: redefinition of program ID 'foo'
prog.cob: 31: error: redefinition of program ID 'prog'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:422"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_62
#AT_START_63
at_fn_group_banner 63 'syn_definition.at:430' \
  "Redefinition of program-name within program" "    " 2
at_xfail=no
(
  $as_echo "63. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  prog        PIC 99 VALUE 0.

       PROCEDURE       DIVISION.
       prog.
           CONTINUE
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:447: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:447"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: redefinition of 'prog'
prog.cob: 7: error: 'prog' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:447"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_definition.at:451: \$COMPILE_ONLY -fno-program-name-redefinition prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fno-program-name-redefinition prog.cob" "syn_definition.at:451"
( $at_check_trace; $COMPILE_ONLY -fno-program-name-redefinition prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: redefinition of 'prog'
prog.cob: 3: warning: 'prog' previously defined here
prog.cob: 10: error: redefinition of 'prog'
prog.cob: 3: error: 'prog' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:451"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_63
#AT_START_64
at_fn_group_banner 64 'syn_definition.at:460' \
  "Redefinition of function-prototype name" "        " 2
at_xfail=no
(
  $as_echo "64. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       REPOSITORY.
           FUNCTION func
           .
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  func         PIC X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:477: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:477"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: no definition/prototype seen for function 'func'
prog.cob: 12: error: syntax error, unexpected user function name
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:477"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_64
#AT_START_65
at_fn_group_banner 65 'syn_definition.at:485' \
  "PROCEDURE DIVISION RETURNING OMITTED: main" "     " 2
at_xfail=no
(
  $as_echo "65. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION RETURNING OMITTED.
           MOVE 42 TO RETURN-CODE
           GOBACK.
_ATEOF



{ set +x
$as_echo "$at_srcdir/syn_definition.at:497: \$COMPILE_MODULE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog.cob" "syn_definition.at:497"
( $at_check_trace; $COMPILE_MODULE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:497"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_definition.at:498: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_definition.at:498"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: error: RETURNING clause cannot be OMITTED for main program
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:498"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_65
#AT_START_66
at_fn_group_banner 66 'syn_definition.at:505' \
  "PROCEDURE DIVISION RETURNING OMITTED: FUNCTION" " " 2
at_xfail=no
(
  $as_echo "66. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     func.
       PROCEDURE        DIVISION RETURNING OMITTED.
           MOVE 42 TO RETURN-CODE
           GOBACK.
       END FUNCTION     func.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:517: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:517"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: error: RETURNING clause cannot be OMITTED for a FUNCTION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:517"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_66
#AT_START_67
at_fn_group_banner 67 'syn_definition.at:524' \
  "PROCEDURE DIVISION RETURNING item" "              " 2
at_xfail=no
(
  $as_echo "67. $at_setup_line: testing $at_desc ..."
  $at_traceon




cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     func.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 PAR-OUT       PIC 9.
       PROCEDURE        DIVISION RETURNING PAR-OUT.
           MOVE 4 TO PAR-OUT
           GOBACK.
       END FUNCTION     func.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     func.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 PAR-OUT       PIC 9.
       PROCEDURE        DIVISION RETURNING PAR-OUT.
           MOVE 4 TO PAR-OUT
           GOBACK.
       END FUNCTION     func.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     func.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 PAR-OUT       PIC 9 OCCURS 10.
       PROCEDURE        DIVISION RETURNING PAR-OUT.
           MOVE 4 TO PAR-OUT (1)
           GOBACK.
       END FUNCTION     func.
_ATEOF


cat >prog4.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     func.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 PAR.
          02 PAR-OUT    PIC 9.
       PROCEDURE        DIVISION RETURNING PAR-OUT.
           MOVE 4 TO PAR-OUT
           GOBACK.
       END FUNCTION     func.
_ATEOF


cat >prog5.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     func.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 PAR           PIC 9.
       PROCEDURE        DIVISION USING PAR RETURNING PAR.
           MOVE 4 TO PAR
           GOBACK.
       END FUNCTION     func.

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     func2.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 PAR-IN        PIC 9.
       01 PAR-OUT       REDEFINES PAR-IN PIC 9.
       PROCEDURE        DIVISION USING PAR-IN RETURNING PAR-OUT.
           MOVE 4 TO PAR-OUT
           GOBACK.
       END FUNCTION     func2.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:600: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:600"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:600"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_definition.at:601: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_definition.at:601"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 7: error: RETURNING item is not defined in LINKAGE SECTION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:601"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_definition.at:604: \$COMPILE_ONLY prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_definition.at:604"
( $at_check_trace; $COMPILE_ONLY prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 7: error: RETURNING item should not have OCCURS
prog3.cob: 9: error: 'PAR-OUT' requires one subscript
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:604"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_definition.at:608: \$COMPILE_ONLY prog4.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog4.cob" "syn_definition.at:608"
( $at_check_trace; $COMPILE_ONLY prog4.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog4.cob: 8: error: RETURNING item must have level 01
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:608"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_definition.at:611: \$COMPILE_ONLY prog5.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog5.cob" "syn_definition.at:611"
( $at_check_trace; $COMPILE_ONLY prog5.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog5.cob: 7: error: 'PAR' USING item duplicates RETURNING item
prog5.cob: 18: error: 'PAR-OUT' REDEFINES field not allowed here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:611"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_67
#AT_START_68
at_fn_group_banner 68 'syn_definition.at:619' \
  "Data item with same name as program-name" "       " 2
at_xfail=no
(
  $as_echo "68. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       FUNCTION-ID.    x.
       DATA            DIVISION.
       LINKAGE         SECTION.
       01  ret         PIC 99.
       PROCEDURE       DIVISION RETURNING ret.
           CONTINUE
           .
       END FUNCTION x.


       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  x            PIC 999 VALUE 134.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:641: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:641"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:641"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_68
#AT_START_69
at_fn_group_banner 69 'syn_definition.at:646' \
  "Ambiguous reference to 02 items" "                " 2
at_xfail=no
(
  $as_echo "69. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           PIC X.
       01 G2.
         02 X           PIC X.
       PROCEDURE        DIVISION.
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:664: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:664"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: error: 'X' is ambiguous; needs qualification
prog.cob: 7: error: 'X IN G1' defined here
prog.cob: 9: error: 'X IN G2' defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:664"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_69
#AT_START_70
at_fn_group_banner 70 'syn_definition.at:673' \
  "Ambiguous reference to 02 and 03 items" "         " 2
at_xfail=no
(
  $as_echo "70. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X.
           03 X         PIC X.
       PROCEDURE        DIVISION.
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:690: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:690"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: 'X' is ambiguous; needs qualification
prog.cob: 7: error: 'X IN G' defined here
prog.cob: 8: error: 'X IN X IN G' defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:690"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_70
#AT_START_71
at_fn_group_banner 71 'syn_definition.at:699' \
  "Ambiguous reference with qualification" "         " 2
at_xfail=no
(
  $as_echo "71. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X.
           03 Y         PIC X.
       01 G2.
         02 X.
           03 Y         PIC X.
       PROCEDURE        DIVISION.
           DISPLAY Y IN X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:719: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:719"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: error: 'Y IN X' is ambiguous; needs qualification
prog.cob: 8: error: 'Y IN X IN G1' defined here
prog.cob: 11: error: 'Y IN X IN G2' defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:719"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_71
#AT_START_72
at_fn_group_banner 72 'syn_definition.at:728' \
  "Unique reference with ambiguous qualifiers" "     " 2
at_xfail=no
(
  $as_echo "72. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X.
           03 Y         PIC X VALUE "Y".
       01 G2.
         02 X.
           03 Z         PIC X VALUE "Z".
       PROCEDURE        DIVISION.
           DISPLAY Z IN X NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:748: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:748"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:748"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_72
#AT_START_73
at_fn_group_banner 73 'syn_definition.at:764' \
  "Undefined procedure name" "                       " 2
at_xfail=no
(
  $as_echo "73. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           GO TO END-OF-PROGRAM.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:775: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:775"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: error: 'END-OF-PROGRAM' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:775"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_73
#AT_START_74
at_fn_group_banner 74 'syn_definition.at:784' \
  "Redefinition of section names" "                  " 2
at_xfail=no
(
  $as_echo "74. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
       L SECTION.
       L SECTION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:796: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:796"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in section 'L':
prog.cob: 6: error: redefinition of 'L'
prog.cob: 5: error: 'L' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:796"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_74
#AT_START_75
at_fn_group_banner 75 'syn_definition.at:805' \
  "Redefinition of section and paragraph names" "    " 2
at_xfail=no
(
  $as_echo "75. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
       L SECTION.
       L.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:817: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:817"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in section 'L':
prog.cob: 6: error: redefinition of 'L'
prog.cob: 5: error: 'L' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:817"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_75
#AT_START_76
at_fn_group_banner 76 'syn_definition.at:826' \
  "Redefinition of paragraph names" "                " 2
at_xfail=no
(
  $as_echo "76. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
       L.
       L.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:838: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:838"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:838"
$at_failed && at_fn_log_failure
$at_traceon; }


## Change when we DON'T allow this (likely as a warning,
## depending on compiler configuration)
## AT_CHECK([$COMPILE_ONLY prog.cob], [1], ,
## [prog.cob: in paragraph 'L':
## prog.cob: 6: error: redefinition of 'L'
## prog.cob: 5: error: 'L' previously defined here
## ])

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_76
#AT_START_77
at_fn_group_banner 77 'syn_definition.at:852' \
  "Ambiguous reference to paragraph name" "          " 2
at_xfail=no
(
  $as_echo "77. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
       S-1 SECTION.
       L.
       S-2 SECTION.
       L.
       S-3 SECTION.
           GO TO L.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:868: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:868"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in section 'S-3':
prog.cob: 10: error: 'L' is ambiguous; needs qualification
prog.cob: 6: error: 'L IN S-1' defined here
prog.cob: 8: error: 'L IN S-2' defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:868"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_77
#AT_START_78
at_fn_group_banner 78 'syn_definition.at:878' \
  "Non-matching level numbers (extension)" "         " 2
at_xfail=no
(
  $as_echo "78. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  A.
            05 B.
                10 C PIC X.
           04 D.
            05 E PIC X.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:895: \$COMPILE_ONLY -frelax-level-hierarchy prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-level-hierarchy prog.cob" "syn_definition.at:895"
( $at_check_trace; $COMPILE_ONLY -frelax-level-hierarchy prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: warning: no previous data item of level 04
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:895"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_78
#AT_START_79
at_fn_group_banner 79 'syn_definition.at:902' \
  "CALL BY VALUE alphanumeric item (extension)" "    " 2
at_xfail=no
(
  $as_echo "79. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4).
       PROCEDURE        DIVISION.
           CALL "PROG2" USING BY VALUE X
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:917: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:917"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: BY CONTENT assumed for alphanumeric item
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:917"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_79
#AT_START_80
at_fn_group_banner 80 'syn_definition.at:924' \
  "Duplicate identification division header" "       " 2
at_xfail=no
(
  $as_echo "80. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:933: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:933"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 3: error: syntax error, unexpected IDENTIFICATION, expecting FUNCTION-ID or PROGRAM-ID
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:933"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_80
#AT_START_81
at_fn_group_banner 81 'syn_definition.at:939' \
  "RETURNING in STOP RUN / GOBACK / EXIT PROGRAM" "  " 2
at_xfail=no
(
  $as_echo "81. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog1.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog1.
       PROCEDURE        DIVISION.
           EXIT PROGRAM RETURNING -1.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       PROCEDURE        DIVISION.
           GOBACK GIVING 2.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       PROCEDURE        DIVISION.
           STOP RUN GIVING 0.
_ATEOF


cat >prog4.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog4.
       PROCEDURE        DIVISION.
           MOVE 42 TO RETURN-CODE
           GOBACK.
_ATEOF


cat >prog5.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog5.
       PROCEDURE        DIVISION.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:978: \$COMPILE prog1.cob prog2.cob prog3.cob prog4.cob prog5.cob"
at_fn_check_prepare_dynamic "$COMPILE prog1.cob prog2.cob prog3.cob prog4.cob prog5.cob" "syn_definition.at:978"
( $at_check_trace; $COMPILE prog1.cob prog2.cob prog3.cob prog4.cob prog5.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:978"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_definition.at:980: \$COMPILE -fnot-register=return-code \\
prog1.cob prog2.cob prog3.cob prog4.cob prog5.cob"
at_fn_check_prepare_notrace 'an embedded newline' "syn_definition.at:980"
( $at_check_trace; $COMPILE -fnot-register=return-code \
prog1.cob prog2.cob prog3.cob prog4.cob prog5.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog1.cob: 5: error: RETURNING/GIVING not allowed for non-returning sources
prog2.cob: 5: error: RETURNING/GIVING not allowed for non-returning sources
prog4.cob: 5: error: 'RETURN-CODE' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:980"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_81
#AT_START_82
at_fn_group_banner 82 'syn_definition.at:990' \
  "Invalid ENVIRONMENT DIVISION order" "             " 2
at_xfail=no
(
  $as_echo "82. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CONSOLE IS CRT
           .
       SPECIAL-NAMES.
           DECIMAL-POINT IS COMMA
           .
       SOURCE-COMPUTER. a-computer.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1008: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1008"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: PROCEDURE DIVISION header missing
prog.cob: 10: error: syntax error, unexpected SPECIAL-NAMES
prog.cob: 11: error: syntax error, unexpected DECIMAL-POINT
prog.cob: 13: error: syntax error, unexpected SOURCE-COMPUTER
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1008"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_82
#AT_START_83
at_fn_group_banner 83 'syn_definition.at:1017' \
  "Function without END FUNCTION" "                  " 2
at_xfail=no
(
  $as_echo "83. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       FUNCTION-ID. func.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1025: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1025"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: error: syntax error, unexpected end of file, expecting END FUNCTION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1025"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_83
#AT_START_84
at_fn_group_banner 84 'syn_definition.at:1031' \
  "Nested programs without END PROGRAM" "            " 2
at_xfail=no
(
  $as_echo "84. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-1.
       PROCEDURE DIVISION.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-2.
       PROCEDURE DIVISION.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-3.

       END PROGRAM prog-1.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1049: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1049"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:1049"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_84
#AT_START_85
at_fn_group_banner 85 'syn_definition.at:1053' \
  "Nested programs not in procedure division" "      " 2
at_xfail=no
(
  $as_echo "85. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-1.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-2.

       END PROGRAM prog-1.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1066: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1066"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: error: PROCEDURE DIVISION header missing
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1066"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_85
#AT_START_86
at_fn_group_banner 86 'syn_definition.at:1072' \
  "Screen section starts with 78-level" "            " 2
at_xfail=no
(
  $as_echo "86. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       SCREEN SECTION.
       78 const VALUE "x".
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1084: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1084"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:1084"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_86
#AT_START_87
at_fn_group_banner 87 'syn_definition.at:1088' \
  "Invalid PICTURE strings" "                        " 2
at_xfail=no
(
  $as_echo "87. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  empty-pic PIC.
       01  too-long-pic PIC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
       01  too-long-pic2 PIC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
       01  mutiple-symbols.
           03  PIC 9CRCR.
           03  PIC 9DBDB.
           03  PIC SS99S.
           03  PIC 99..9.
           03  PIC 99VV9.
           03  PIC +$99+.
           03  PIC $+99$-.
       01  non-symbols.
           03  PIC 9K.
           03  PIC 999C.
           03  PIC 999D.
       01  too-many-digits PIC 9(50).
       01  too-long-number-in-parens PIC 9(11111111111111).
       01  nested-parens PIC 9((100)).
       01  unbalanced-parens PIC 9(.
       01  multiple-pairs-of-parens PIC 9(5)(3).
       01  no-digit-in-parens PIC 9().
       01  mutually-exclusive-symbols.
           03  PIC P(3)9.9.
           03  PIC 9V.9.
           03  PIC Z*.
           03  PIC +(5)--.
           03  PIC $(4)Z(9).
           03  PIC $$B*(4).
           03  PIC NX.
           03  PIC AN.
           03  PIC AZ(3).
           03  PIC 99.99XXXXX.
           03  PIC SA.
           03  PIC $$$B+++B---.
           03  PIC +++9+.
           03  PIC +9(5)CR.
           03  PIC -9(5)DB.
       01 non-rightmost-leftmost-symbols.
           03  PIC BBB+BB99.
           03  PIC 99-B.
           03  PIC 9CRB.
           03  PIC DB9(5).
           03  PIC 99$$$.
           03  PIC 99$B.
           03  PIC 0$99.
           03  PIC PPPVP9.
       01  missing-symbols.
           03  PIC B(5).
           03  PIC +.
           03  PIC $.

       01  str-constant CONSTANT "hello".
       01  float-constant CONSTANT 1.0.
       01  signed-constant CONSTANT -1.
       01  invalid-constant.
           03  PIC X(str-constant).
           03  PIC X(float-constant).
           03  PIC X(signed-constant).
           03  PIC X(unseen-constant).

       01  integer-constant CONSTANT 5.
       01  valid-pics.
           03  PIC VP9B.
           03  PIC B9P(3).
           03  PIC B$$$.
           03  PIC 0000+B0+++0B,+.
           03  PIC +(5)P(3).
           03  PIC ++.++.
           03  PIC $(integer-constant).
           03  PIC $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      -(integer-constant).
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1175: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_definition.at:1175"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: warning: continuation of COBOL words is archaic in COBOL 2014
prog.cob: 11: warning: continuation of COBOL words is archaic in COBOL 2014
prog.cob: 12: warning: continuation of COBOL words is archaic in COBOL 2014
prog.cob: 13: warning: continuation of COBOL words is archaic in COBOL 2014
prog.cob: 14: warning: continuation of COBOL words is archaic in COBOL 2014
prog.cob: 82: warning: continuation of COBOL words is archaic in COBOL 2014
prog.cob: 7: error: missing PICTURE string
prog.cob: 8: error: PICTURE string may not contain more than 63 characters; contains 76 characters
prog.cob: 10: error: PICTURE string may not contain more than 63 characters; contains 301 characters
prog.cob: 16: error: CR or DB may only occur once in a PICTURE string
prog.cob: 17: error: CR or DB may only occur once in a PICTURE string
prog.cob: 18: error: S may only occur once in a PICTURE string
prog.cob: 18: error: S must be at start of PICTURE string
prog.cob: 19: error: . may only occur once in a PICTURE string
prog.cob: 20: error: V may only occur once in a PICTURE string
prog.cob: 21: error: a trailing +/- sign cannot follow a leading +/- sign
prog.cob: 22: error: a leading +/- sign cannot follow a leading currency symbol
prog.cob: 22: error: a trailing currency symbol cannot follow a leading currency symbol
prog.cob: 22: error: a trailing +/- sign cannot follow a leading +/- sign
prog.cob: 24: error: invalid PICTURE character 'K'
prog.cob: 25: error: C must be followed by R
prog.cob: 26: error: D must be followed by B
prog.cob: 27: error: numeric field cannot be larger than 38 digits
prog.cob: 28: error: only up to 9 significant digits are permitted within parentheses
prog.cob: 29: error: '(100' is not defined
prog.cob: 29: error: invalid PICTURE character ')'
prog.cob: 30: error: unbalanced parentheses
prog.cob: 31: error: only one set of parentheses is permitted
prog.cob: 32: error: parentheses must contain (a constant-name defined as) a positive integer
prog.cob: 34: error: . cannot follow a P which is after the decimal point
prog.cob: 35: error: . cannot follow V
prog.cob: 36: error: cannot have both Z and * in PICTURE string
prog.cob: 37: error: a trailing +/- sign cannot follow a floating +/- string which is before the decimal point
prog.cob: 37: error: a trailing +/- sign may only occur once in a PICTURE string
prog.cob: 38: error: a Z or * which is before the decimal point cannot follow a floating currency symbol string which is before the decimal point
prog.cob: 39: error: a Z or * which is before the decimal point cannot follow a floating currency symbol string which is before the decimal point
prog.cob: 40: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed
prog.cob: 40: error: A or X cannot follow N
prog.cob: 41: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed
prog.cob: 41: error: N cannot follow A or X
prog.cob: 42: error: a Z or * which is before the decimal point cannot follow A or X
prog.cob: 43: error: A or X cannot follow .
prog.cob: 44: error: A or X cannot follow S
prog.cob: 45: error: a leading +/- sign cannot follow B, 0 or /
prog.cob: 45: error: a leading +/- sign cannot follow a floating currency symbol string which is before the decimal point
prog.cob: 45: error: a leading +/- sign may only occur once in a PICTURE string
prog.cob: 45: error: a trailing +/- sign cannot follow a leading +/- sign
prog.cob: 45: error: a trailing +/- sign may only occur once in a PICTURE string
prog.cob: 46: error: a trailing +/- sign cannot follow a floating +/- string which is before the decimal point
prog.cob: 47: error: CR or DB cannot follow a leading +/- sign
prog.cob: 48: error: CR or DB cannot follow a leading +/- sign
prog.cob: 50: error: a leading +/- sign cannot follow B, 0 or /
prog.cob: 51: error: a leading +/- sign cannot follow 9
prog.cob: 52: error: B, 0 or / cannot follow CR or DB
prog.cob: 53: error: 9 cannot follow CR or DB
prog.cob: 54: error: a floating currency symbol string which is before the decimal point cannot follow 9
prog.cob: 55: error: a leading currency symbol cannot follow 9
prog.cob: 56: error: a leading currency symbol cannot follow B, 0 or /
prog.cob: 57: error: P must be at start or end of PICTURE string
prog.cob: 57: error: V cannot follow a P which is after the decimal point
prog.cob: 59: error: PICTURE string must contain at least one of the set A, N, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol
prog.cob: 60: error: PICTURE string must contain at least one of the set A, N, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol
prog.cob: 61: error: PICTURE string must contain at least one of the set A, N, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol
prog.cob: 67: error: 'STR-CONSTANT' is not a numeric literal
prog.cob: 68: error: 'FLOAT-CONSTANT' is not an integer
prog.cob: 69: error: 'SIGNED-CONSTANT' is not unsigned
prog.cob: 70: error: 'UNSEEN-CONSTANT' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1175"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1245: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1245"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: warning: continuation of COBOL words used
prog.cob: 11: warning: continuation of COBOL words used
prog.cob: 12: warning: continuation of COBOL words used
prog.cob: 13: warning: continuation of COBOL words used
prog.cob: 14: warning: continuation of COBOL words used
prog.cob: 82: warning: continuation of COBOL words used
prog.cob: 7: error: missing PICTURE string
prog.cob: 10: error: PICTURE string may not contain more than 255 characters; contains 301 characters
prog.cob: 16: error: CR or DB may only occur once in a PICTURE string
prog.cob: 17: error: CR or DB may only occur once in a PICTURE string
prog.cob: 18: error: S may only occur once in a PICTURE string
prog.cob: 18: error: S must be at start of PICTURE string
prog.cob: 19: error: . may only occur once in a PICTURE string
prog.cob: 20: error: V may only occur once in a PICTURE string
prog.cob: 21: error: a trailing +/- sign cannot follow a leading +/- sign
prog.cob: 22: error: a leading +/- sign cannot follow a leading currency symbol
prog.cob: 22: error: a trailing currency symbol cannot follow a leading currency symbol
prog.cob: 22: error: a trailing +/- sign cannot follow a leading +/- sign
prog.cob: 24: error: invalid PICTURE character 'K'
prog.cob: 25: error: C must be followed by R
prog.cob: 26: error: D must be followed by B
prog.cob: 27: error: numeric field cannot be larger than 38 digits
prog.cob: 28: error: only up to 9 significant digits are permitted within parentheses
prog.cob: 29: error: '(100' is not defined
prog.cob: 29: error: invalid PICTURE character ')'
prog.cob: 30: error: unbalanced parentheses
prog.cob: 31: error: only one set of parentheses is permitted
prog.cob: 32: error: parentheses must contain (a constant-name defined as) a positive integer
prog.cob: 34: error: . cannot follow a P which is after the decimal point
prog.cob: 35: error: . cannot follow V
prog.cob: 36: error: cannot have both Z and * in PICTURE string
prog.cob: 37: error: a trailing +/- sign cannot follow a floating +/- string which is before the decimal point
prog.cob: 37: error: a trailing +/- sign may only occur once in a PICTURE string
prog.cob: 38: error: a Z or * which is before the decimal point cannot follow a floating currency symbol string which is before the decimal point
prog.cob: 39: error: a Z or * which is before the decimal point cannot follow a floating currency symbol string which is before the decimal point
prog.cob: 40: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed
prog.cob: 40: error: A or X cannot follow N
prog.cob: 41: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed
prog.cob: 41: error: N cannot follow A or X
prog.cob: 42: error: a Z or * which is before the decimal point cannot follow A or X
prog.cob: 43: error: A or X cannot follow .
prog.cob: 44: error: A or X cannot follow S
prog.cob: 45: error: a leading +/- sign cannot follow B, 0 or /
prog.cob: 45: error: a leading +/- sign cannot follow a floating currency symbol string which is before the decimal point
prog.cob: 45: error: a leading +/- sign may only occur once in a PICTURE string
prog.cob: 45: error: a trailing +/- sign cannot follow a leading +/- sign
prog.cob: 45: error: a trailing +/- sign may only occur once in a PICTURE string
prog.cob: 46: error: a trailing +/- sign cannot follow a floating +/- string which is before the decimal point
prog.cob: 47: error: CR or DB cannot follow a leading +/- sign
prog.cob: 48: error: CR or DB cannot follow a leading +/- sign
prog.cob: 50: error: a leading +/- sign cannot follow B, 0 or /
prog.cob: 51: error: a leading +/- sign cannot follow 9
prog.cob: 52: error: B, 0 or / cannot follow CR or DB
prog.cob: 53: error: 9 cannot follow CR or DB
prog.cob: 54: error: a floating currency symbol string which is before the decimal point cannot follow 9
prog.cob: 55: error: a leading currency symbol cannot follow 9
prog.cob: 56: error: a leading currency symbol cannot follow B, 0 or /
prog.cob: 57: error: P must be at start or end of PICTURE string
prog.cob: 57: error: V cannot follow a P which is after the decimal point
prog.cob: 59: error: PICTURE string must contain at least one of the set A, N, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol
prog.cob: 60: error: PICTURE string must contain at least one of the set A, N, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol
prog.cob: 61: error: PICTURE string must contain at least one of the set A, N, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol
prog.cob: 67: error: 'STR-CONSTANT' is not a numeric literal
prog.cob: 68: error: 'FLOAT-CONSTANT' is not an integer
prog.cob: 69: error: 'SIGNED-CONSTANT' is not unsigned
prog.cob: 70: error: 'UNSEEN-CONSTANT' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1245"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_87
#AT_START_88
at_fn_group_banner 88 'syn_definition.at:1316' \
  "PICTURE strings invalid with BLANK WHEN ZERO" "   " 2
at_xfail=no
(
  $as_echo "88. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC S9(5) BLANK ZERO.
       01  y PIC *(5) BLANK ZERO.

       *> Actually valid
       01  z PIC -9(5) BLANK ZERO.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1332: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1332"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: 'x' cannot have S in PICTURE string and BLANK WHEN ZERO
prog.cob: 8: error: 'y' cannot have * in PICTURE string and BLANK WHEN ZERO
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1332"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_88
#AT_START_89
at_fn_group_banner 89 'syn_definition.at:1339' \
  "PICTURE strings invalid with USAGE" "             " 2
at_xfail=no
(
  $as_echo "89. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC XXX, COMP-6.
       01  y PIC +999, PACKED-DECIMAL.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1352: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1352"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: PICTURE clause not compatible with USAGE COMP-6
prog.cob: 8: error: PICTURE clause not compatible with USAGE COMP-3
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1352"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_89
#AT_START_90
at_fn_group_banner 90 'syn_definition.at:1359' \
  "Alphabet definition" "                            " 2
at_xfail=no
(
  $as_echo "90. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER. GNU-LINUX.
       OBJECT-COMPUTER. GC-MACHINE,
                        PROGRAM COLLATING SEQUENCE IS TESTME.
       SPECIAL-NAMES.
           ALPHABET TESTME IS
                    'A' THROUGH 'Z', x'00' thru x'05';
                    x'41' ALSO x'42', ALSO x'00'.
           ALPHABET FINE IS
                    'A' also 'B' also 'C' also 'd' also 'e' ALSO 'f',
                    'g' also 'G', '1' thru '9'.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog2.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER. GNU-LINUX.
       OBJECT-COMPUTER. GC-MACHINE,
                        PROGRAM COLLATING SEQUENCE IS TESTNO.
       SPECIAL-NAMES.
           ALPHABET FINE IS
                    'A' also 'B' also 'C' also 'd' also 'e' ALSO 'f',
                    'g' also 'G', '1' thru '9'.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1393: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_definition.at:1393"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: duplicate character values in alphabet 'TESTME': x'00', A, B
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1393"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_definition.at:1396: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_definition.at:1396"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 8: error: 'TESTNO' is not defined
prog2.cob: 8: error: 'TESTNO' is not an alphabet name
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1396"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_90
#AT_START_91
at_fn_group_banner 91 'syn_definition.at:1403' \
  "RENAMES item" "                                   " 2
at_xfail=no
(
  $as_echo "91. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.
       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  a.
           03  b       PIC 9.
           03  c.
               05 d    PIC 9.
               05 e    PIC 9.

       66  valid-1     RENAMES b.
       66  valid-2     RENAMES d THRU e.

       66  invalid-1   RENAMES a.
       66  invalid-2   RENAMES c THRU d.
       66  invalid-3   RENAMES e THRU d.
       66  invalid-4   RENAMES valid-2.

       01  f.
           03  g       PIC X.
               88  h   VALUE "a".
           03  i       PIC X.
           03  j       OCCURS 5 TIMES.
               05  k   PIC X.
               05  l   PIC X.
           03  m       PIC 9.
           03  n       POINTER, SYNC.
           03  o.
               05  p   PIC X OCCURS 1 TO 10 DEPENDING ON l.

       66  valid-3     RENAMES g THRU i.
       66  invalid-5   RENAMES h.
       66  invalid-6   RENAMES k THRU l.
       66  invalid-7   RENAMES j.
       66  invalid-8   RENAMES k THRU o.
       66  invalid-9   RENAMES b THRU m.

       PROCEDURE       DIVISION.
           DISPLAY valid-2 OF a
           IF valid-1 = 1
              CONTINUE
           END-IF
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1452: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_definition.at:1452"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 15: error: RENAMES of 01-, 66- and 77-level items does not conform to COBOL 2014
prog.cob: 16: error: THRU item 'd' may not be subordinate to 'c'
prog.cob: 17: error: THRU item 'd' may not come before 'e'
prog.cob: 18: error: RENAMES of 01-, 66- and 77-level items does not conform to COBOL 2014
prog.cob: 33: error: RENAMES may not reference a level 88
prog.cob: 34: error: cannot use RENAMES on part of the table 'j'
prog.cob: 34: error: cannot use RENAMES on part of the table 'j'
prog.cob: 35: error: RENAMES cannot start/end at the OCCURS item 'j'
prog.cob: 36: error: RENAMES may not contain 'n' as it is a pointer or object reference
prog.cob: 36: error: RENAMES may not contain 'p' as it is an OCCURS DEPENDING table
prog.cob: 36: error: cannot use RENAMES on part of the table 'j'
prog.cob: 37: error: 'invalid-9' must immediately follow the record 'a'
prog.cob: 37: error: 'b' and 'm' must be in the same record
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1452"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_91
#AT_START_92
at_fn_group_banner 92 'syn_definition.at:1470' \
  "RENAMES of 01-, 66- and 77-level items" "         " 2
at_xfail=no
(
  $as_echo "92. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  a PIC X.
       66  renames-a RENAMES a.
       66  renames-a2 RENAMES renames-a.

       77  b PIC X.
       66  renames-b RENAMES b.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_definition.at:1486: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_definition.at:1486"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: RENAMES of 01-, 66- and 77-level items does not conform to COBOL 2014
prog.cob: 8: error: RENAMES of 01-, 66- and 77-level items does not conform to COBOL 2014
prog.cob: 11: error: RENAMES of 01-, 66- and 77-level items does not conform to COBOL 2014
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_definition.at:1486"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_definition.at:1491: \$COMPILE_ONLY -frenames-uncommon-levels=ok prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frenames-uncommon-levels=ok prog.cob" "syn_definition.at:1491"
( $at_check_trace; $COMPILE_ONLY -frenames-uncommon-levels=ok prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_definition.at:1491"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_92
#AT_START_93
at_fn_group_banner 93 'syn_subscripts.at:23' \
  "Non-numeric subscript" "                          " 2
at_xfail=no
(
  $as_echo "93. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           PIC X OCCURS 10.
       01 I             PIC X.
       PROCEDURE        DIVISION.
           DISPLAY X(I)
           END-DISPLAY.
           DISPLAY X(I + 1)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_subscripts.at:42: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:42"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: 'I' is not an integer value
prog.cob: 12: error: 'I' is not a numeric value
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_subscripts.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_93
#AT_START_94
at_fn_group_banner 94 'syn_subscripts.at:49' \
  "Subscript range check" "                          " 2
at_xfail=no
(
  $as_echo "94. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           OCCURS 2.
           03 Y         PIC X OCCURS 3.
       PROCEDURE        DIVISION.
           DISPLAY X(0)
           END-DISPLAY.
           DISPLAY X(1)
           END-DISPLAY.
           DISPLAY X(2)
           END-DISPLAY.
           DISPLAY X(3)
           END-DISPLAY.
           DISPLAY Y(1, 0)
           END-DISPLAY.
           DISPLAY Y(1, 1)
           END-DISPLAY.
           DISPLAY Y(1, 3)
           END-DISPLAY.
           DISPLAY Y(1, 4)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_subscripts.at:80: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:80"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: subscript of 'X' out of bounds: 0
prog.cob: 16: error: subscript of 'X' out of bounds: 3
prog.cob: 18: error: subscript of 'Y' out of bounds: 0
prog.cob: 24: error: subscript of 'Y' out of bounds: 4
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_subscripts.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_94
#AT_START_95
at_fn_group_banner 95 'syn_subscripts.at:89' \
  "Subscript bounds with ODO (lower)" "              " 2
at_xfail=no
(
  $as_echo "95. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 4 TO 6 DEPENDING ON N.
       01 N             PIC 9 VALUE 4.
       PROCEDURE        DIVISION.
           DISPLAY X(0)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_subscripts.at:106: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:106"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: subscript of 'X' out of bounds: 0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_subscripts.at:106"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_95
#AT_START_96
at_fn_group_banner 96 'syn_subscripts.at:112' \
  "Subscript bounds with ODO (upper)" "              " 2
at_xfail=no
(
  $as_echo "96. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 4 TO 6 DEPENDING ON N.
       01 N             PIC 9 VALUE 4.
       PROCEDURE        DIVISION.
           DISPLAY X(7)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_subscripts.at:129: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:129"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: subscript of 'X' out of bounds: 7
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_subscripts.at:129"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_96
#AT_START_97
at_fn_group_banner 97 'syn_subscripts.at:138' \
  "Subscripted item requires OCCURS clause" "        " 2
at_xfail=no
(
  $as_echo "97. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X.
       PROCEDURE        DIVISION.
           DISPLAY G(1)
           END-DISPLAY.
           DISPLAY X(1)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_subscripts.at:156: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:156"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: 'G' cannot be subscripted
prog.cob: 11: error: 'X' cannot be subscripted
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_subscripts.at:156"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_97
#AT_START_98
at_fn_group_banner 98 'syn_subscripts.at:163' \
  "Number of subscripts" "                           " 2
at_xfail=no
(
  $as_echo "98. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           OCCURS 2.
           03 Y         PIC X OCCURS 3.
       PROCEDURE        DIVISION.
           DISPLAY X
           END-DISPLAY.
           DISPLAY X(1)
           END-DISPLAY.
           DISPLAY X(1, 2)
           END-DISPLAY.
           DISPLAY Y(1)
           END-DISPLAY.
           DISPLAY Y(1, 2)
           END-DISPLAY.
           DISPLAY Y(1, 2, 3)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_subscripts.at:190: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_subscripts.at:190"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: 'X' requires one subscript
prog.cob: 14: error: 'X' requires one subscript
prog.cob: 16: error: 'Y' requires 2 subscripts
prog.cob: 20: error: 'Y' requires 2 subscripts
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_subscripts.at:190"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_subscripts.at:197: \$COMPILE_ONLY -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_subscripts.at:197"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: warning: subscript missing for 'X' - defaulting to 1
prog.cob: 14: error: 'X' requires one subscript
prog.cob: 16: warning: subscript missing for 'Y' - defaulting to 1
prog.cob: 20: error: 'Y' requires 2 subscripts
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_subscripts.at:197"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_98
#AT_START_99
at_fn_group_banner 99 'syn_occurs.at:28' \
  "OCCURS with level 01 and 77" "                    " 2
at_xfail=no
(
  $as_echo "99. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-01          PIC X OCCURS 10.
       01 G             OCCURS 10.
         02 X-02        PIC X OCCURS 10.
       77 X-77          PIC X OCCURS 10.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:42: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_occurs.at:42"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: level 01 item 'X-01' cannot have a OCCURS clause
prog.cob: 7: error: level 01 item 'G' cannot have a OCCURS clause
prog.cob: 9: error: level 77 item 'X-77' cannot have a OCCURS clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:48: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:48"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_occurs.at:48"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_99
#AT_START_100
at_fn_group_banner 100 'syn_occurs.at:53' \
  "OCCURS with level 66" "                           " 2
at_xfail=no
(
  $as_echo "100. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  x PIC X.
       66  y RENAMES x OCCURS 10.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:65: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:65"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: syntax error, unexpected OCCURS, expecting .
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_100
#AT_START_101
at_fn_group_banner 101 'syn_occurs.at:72' \
  "OCCURS with level 88" "                           " 2
at_xfail=no
(
  $as_echo "101. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  x PIC X.
           88  y VALUE "a" OCCURS 10.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:84: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:84"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: syntax error, unexpected OCCURS, expecting .
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:84"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_101
#AT_START_102
at_fn_group_banner 102 'syn_occurs.at:91' \
  "OCCURS with variable-occurrence data item" "      " 2
at_xfail=no
(
  $as_echo "102. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G-1.
         02 G-2         OCCURS 10.
           03 X         PIC X(10) OCCURS 1 TO 4 DEPENDING ON I.
       77 I             PIC 9.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G-1.
         02 G-2         OCCURS 1 TO 10 DEPENDING ON I.
           03 X         PIC X(10) OCCURS 1 TO 4 DEPENDING ON I.
       77 I             PIC 9.
       PROCEDURE        DIVISION.
           DISPLAY  X(I, I) END-DISPLAY
           DISPLAY  G-2 (I) END-DISPLAY
           DISPLAY  G-1     END-DISPLAY
           .

_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:122: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:122"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: 'G-2' cannot have the OCCURS clause due to 'X'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:122"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:126: \$COMPILE_ONLY -fcomplex-odo prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomplex-odo prog.cob" "syn_occurs.at:126"
( $at_check_trace; $COMPILE_ONLY -fcomplex-odo prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_occurs.at:126"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:128: \$COMPILE_ONLY -fcomplex-odo prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomplex-odo prog2.cob" "syn_occurs.at:128"
( $at_check_trace; $COMPILE_ONLY -fcomplex-odo prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 8: error: 'X' cannot have OCCURS DEPENDING
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:128"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_102
#AT_START_103
at_fn_group_banner 103 'syn_occurs.at:152' \
  "Nested OCCURS clause" "                           " 2
at_xfail=no
(
  $as_echo "103. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G-1.
        02 G-2          OCCURS 2.
         03 G-3         OCCURS 2.
          04 G-4        OCCURS 2.
           05 G-5       OCCURS 2.
            06 G-6      OCCURS 2.
             07 G-7     OCCURS 2.
              08 G-8    OCCURS 2.
               09 X     PIC X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:171: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:171"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_occurs.at:171"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_103
#AT_START_104
at_fn_group_banner 104 'syn_occurs.at:189' \
  "OCCURS DEPENDING with wrong size" "               " 2
at_xfail=no
(
  $as_echo "104. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 FILLER.
         02 G-1         PIC X OCCURS  1 TO 1 DEPENDING ON I.
       01 FILLER.
         02 G-2         PIC X OCCURS -1 TO 1 DEPENDING ON I.
       01 FILLER.
         02 G-3         PIC X OCCURS  0 TO 1 DEPENDING ON I.
       01 I             PIC 9.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:206: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:206"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: OCCURS TO must be greater than OCCURS FROM
prog.cob: 9: error: non-negative integer value expected
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:206"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_104
#AT_START_105
at_fn_group_banner 105 'syn_occurs.at:225' \
  "OCCURS DEPENDING followed by another field" "     " 2
at_xfail=no
(
  $as_echo "105. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G-1.
         02 X           PIC X OCCURS 1 TO 3 DEPENDING ON I.
         02 Y           PIC X.
       01 G-2.
         02 G-3         OCCURS 1 TO 3 DEPENDING ON I.
           03 X         PIC X.
         02 Y           PIC X.
       01 G-4.
         02 G-5.
           03 X         PIC X OCCURS 1 TO 3 DEPENDING ON I.
         02 Y           PIC X.
       01 I             PIC 9.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:247: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:247"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: 'X' cannot have OCCURS DEPENDING
prog.cob: 10: error: 'G-3' cannot have OCCURS DEPENDING
prog.cob: 15: error: 'X' cannot have OCCURS DEPENDING
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:247"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:253: \$COMPILE_ONLY -fcomplex-odo prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomplex-odo prog.cob" "syn_occurs.at:253"
( $at_check_trace; $COMPILE_ONLY -fcomplex-odo prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_occurs.at:253"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_105
#AT_START_106
at_fn_group_banner 106 'syn_occurs.at:266' \
  "OCCURS with unmatched DEPENDING / TO phrases" "   " 2
at_xfail=no
(
  $as_echo "106. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 Y             PIC 9.
       01 XTAB.
          03 X  PIC X OCCURS 10 DEPENDING ON Y.
       01 XTAB2.
          03 X2 PIC X OCCURS 1 TO 10.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:281: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_occurs.at:281"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: ODO without TO phrase does not conform to COBOL 2014
prog.cob: 10: error: TO phrase without DEPENDING phrase
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:281"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_occurs.at:285: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:285"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: ODO without TO phrase used
prog.cob: 10: error: TO phrase without DEPENDING phrase
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:285"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_occurs.at:289: \$COMPILE_ONLY -frelax-syntax prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax prog.cob" "syn_occurs.at:289"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: ODO without TO phrase used
prog.cob: 10: warning: TO phrase without DEPENDING phrase
prog.cob: 10: warning: maximum number of occurences assumed to be exact number
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_occurs.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_106
#AT_START_107
at_fn_group_banner 107 'syn_occurs.at:301' \
  "OCCURS INDEXED before KEY" "                      " 2
at_xfail=no
(
  $as_echo "107. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       01  TAB.
           05  TAB-ENTRY1
                  OCCURS 5 TIMES
                  INDEXED BY IDX1
                  ASCENDING KEY IS X1
                  DESCENDING Y1.
             10  X1 PIC 9(4).
             10  Y1 PIC X.
           05  TAB-ENTRY
                  OCCURS 2 TIMES
                  INDEXED BY IDX2
                  DESCENDING KEY IS X2
                  ASCENDING  Y2.
             10  X2 PIC 9(4).
             10  Y2 PIC X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:326: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:326"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: INDEXED should follow ASCENDING/DESCENDING
prog.cob: 17: error: INDEXED should follow ASCENDING/DESCENDING
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:326"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_occurs.at:331: \$COMPILE_ONLY -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_occurs.at:331"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: warning: INDEXED should follow ASCENDING/DESCENDING
prog.cob: 17: warning: INDEXED should follow ASCENDING/DESCENDING
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_occurs.at:331"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_107
#AT_START_108
at_fn_group_banner 108 'syn_occurs.at:339' \
  "OCCURS size check" "                              " 2
at_xfail=no
(
  $as_echo "108. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X1.
          03 X  PIC X OCCURS 1530001234 TIMES.
       01 X2.
          03 X  PIC X OCCURS 2147483648 TIMES.
       01 X3.
          03 X  PIC X OCCURS 9223372036854775808 TIMES.
_ATEOF


# Don't check actual output here as the actual limit depends on INT_MAX, therefore
# all entries may raise this error but only the last error message is guaranteed.
{ set +x
$as_echo "$at_srcdir/syn_occurs.at:357: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_occurs.at:357"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_occurs.at:357"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_occurs.at:358: \$COMPILE_ONLY prog.cob 2>&1 | \\
grep \"prog.cob: 11: error: numeric literal '9223372036854775808' exceeds limit\""
at_fn_check_prepare_notrace 'an embedded newline' "syn_occurs.at:358"
( $at_check_trace; $COMPILE_ONLY prog.cob 2>&1 | \
grep "prog.cob: 11: error: numeric literal '9223372036854775808' exceeds limit"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/syn_occurs.at:358"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_108
#AT_START_109
at_fn_group_banner 109 'syn_redefines.at:28' \
  "REDEFINES: not following entry-name" "            " 2
at_xfail=no
(
  $as_echo "109. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       01 Y             PIC 9 REDEFINES X.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:40: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:40"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: REDEFINES clause must follow entry-name
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:44: \$COMPILE_ONLY -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_redefines.at:44"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: REDEFINES clause should follow entry-name
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_redefines.at:44"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_109
#AT_START_110
at_fn_group_banner 110 'syn_redefines.at:53' \
  "REDEFINES: level 02 by 01" "                      " 2
at_xfail=no
(
  $as_echo "110. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X.
       01 Y             REDEFINES X PIC 9.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:68: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:68"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: level number of REDEFINES entries must be identical
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:68"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_110
#AT_START_111
at_fn_group_banner 111 'syn_redefines.at:74' \
  "REDEFINES: level 03 by 02" "                      " 2
at_xfail=no
(
  $as_echo "111. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 G2.
           03 X         PIC X.
         02 Y           REDEFINES X PIC 9.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:90: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:90"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: 'X' is not defined in 'G1'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:90"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_111
#AT_START_112
at_fn_group_banner 112 'syn_redefines.at:96' \
  "REDEFINES: level 66" "                            " 2
at_xfail=no
(
  $as_echo "112. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X.
         66 A           RENAMES X.
         66 B           REDEFINES A PIC 9.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:112: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:112"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: syntax error, unexpected REDEFINES, expecting RENAMES
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_112
#AT_START_113
at_fn_group_banner 113 'syn_redefines.at:118' \
  "REDEFINES: level 88" "                            " 2
at_xfail=no
(
  $as_echo "113. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
         88 A           VALUE "A".
         88 B           REDEFINES A VALUE "B".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:133: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:133"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: syntax error, unexpected REDEFINES, expecting VALUE
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:133"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_113
#AT_START_114
at_fn_group_banner 114 'syn_redefines.at:147' \
  "REDEFINES: lower level number" "                  " 2
at_xfail=no
(
  $as_echo "114. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 G2.
           03 X         PIC X.
         02 G3.
           03 A         REDEFINES X PIC 9.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:164: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:164"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: 'X' is not defined in 'G3'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:164"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_114
#AT_START_115
at_fn_group_banner 115 'syn_redefines.at:173' \
  "REDEFINES: with OCCURS" "                         " 2
at_xfail=no
(
  $as_echo "115. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 2.
         02 Y           REDEFINES X PIC XX.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:188: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:188"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: the original definition 'X' should not have OCCURS clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_redefines.at:188"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_115
#AT_START_116
at_fn_group_banner 116 'syn_redefines.at:194' \
  "REDEFINES: with subscript" "                      " 2
at_xfail=no
(
  $as_echo "116. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 G2          OCCURS 2.
           03 X         PIC X.
           03 Y         REDEFINES X(1) PIC X.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:210: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:210"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: 'X' cannot be subscripted here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:210"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_116
#AT_START_117
at_fn_group_banner 117 'syn_redefines.at:216' \
  "REDEFINES: with variable occurrence" "            " 2
at_xfail=no
(
  $as_echo "117. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           PIC XX.
         02 Y           REDEFINES X PIC X OCCURS 1 TO 2 DEPENDING ON I.
       01 G2.
         02 X           PIC XX.
         02 Y           REDEFINES X.
           03 A         PIC X OCCURS 1 TO 2 DEPENDING ON I.
       01 G3.
         02 X.
           03 A         PIC X OCCURS 1 TO 2 DEPENDING ON I.
         02 Y           REDEFINES X PIC X.
       01 I             PIC 9.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:240: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:240"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: 'Y' cannot be variable length
prog.cob: 11: error: 'Y' cannot be variable length
prog.cob: 16: error: the original definition 'X' cannot be variable length
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:240"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_117
#AT_START_118
at_fn_group_banner 118 'syn_redefines.at:251' \
  "REDEFINES: with qualification" "                  " 2
at_xfail=no
(
  $as_echo "118. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           PIC X.
       01 G2.
         02 X           PIC X.
         02 A           REDEFINES X IN G1.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:268: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:268"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: 'X' cannot be qualified here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:268"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_118
#AT_START_119
at_fn_group_banner 119 'syn_redefines.at:277' \
  "REDEFINES: multiple redefinition" "               " 2
at_xfail=no
(
  $as_echo "119. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           PIC X.
         02 A           REDEFINES X PIC 9.
         02 B           REDEFINES X PIC 9.
         02 C           REDEFINES B PIC 9.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:294: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:294"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: 'B' is not the original definition
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:294"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:298: \$COMPILE_ONLY -std=mvs prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mvs prog.cob" "syn_redefines.at:298"
( $at_check_trace; $COMPILE_ONLY -std=mvs prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_redefines.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_119
#AT_START_120
at_fn_group_banner 120 'syn_redefines.at:305' \
  "REDEFINES: size exceeds" "                        " 2
at_xfail=no
(
  $as_echo "120. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           PIC X.
         02 A           REDEFINES X PIC 99.
       01 G2.
         02 X           PIC X.
         02 A           REDEFINES X PIC 9 OCCURS 2.
       01 WRK-X         PIC X.
       01 WRK-X-REDEF   REDEFINES WRK-X PIC 99.
       01 EXT-X         PIC X EXTERNAL.
       01 EXT-X-REDEF   REDEFINES EXT-X PIC 99.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:327: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:327"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: size of 'A' larger than size of 'X'
prog.cob: 11: error: size of 'A' larger than size of 'X'
prog.cob: 15: error: size of 'EXT-X-REDEF' larger than size of 'EXT-X'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:327"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_120
#AT_START_121
at_fn_group_banner 121 'syn_redefines.at:338' \
  "REDEFINES: with VALUE" "                          " 2
at_xfail=no
(
  $as_echo "121. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       01 A             REDEFINES X PIC X VALUE "A".
       01 G             REDEFINES X.
         02 B           PIC X VALUE "A".
       01 Y             REDEFINES X PIC X.
         88 C           VALUE "A".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


# FIXME: add a compiler configuration as the COBOL standard forbids this
#        default.conf will allow it (with a warning)

{ set +x
$as_echo "$at_srcdir/syn_redefines.at:359: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:359"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: initial VALUE clause ignored for REDEFINES item
prog.cob: 9: warning: initial VALUE clause ignored for REDEFINES item
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_redefines.at:359"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_redefines.at:363: \$COMPILE -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -frelax-syntax-checks prog.cob" "syn_redefines.at:363"
( $at_check_trace; $COMPILE -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_redefines.at:363"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_121
#AT_START_122
at_fn_group_banner 122 'syn_redefines.at:370' \
  "REDEFINES: with intervention" "                   " 2
at_xfail=no
(
  $as_echo "122. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       01 Y             PIC X.
       01 A             REDEFINES X PIC X.
       01 G.
         02 G-X         PIC X.
         02 G-Y         PIC X.
         02 G-A         REDEFINES G-X PIC X.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:389: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:389"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: REDEFINES must follow the original definition
prog.cob: 12: error: REDEFINES must follow the original definition
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_redefines.at:389"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_122
#AT_START_123
at_fn_group_banner 123 'syn_redefines.at:399' \
  "REDEFINES: within REDEFINES" "                    " 2
at_xfail=no
(
  $as_echo "123. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       01 G             REDEFINES X.
         02 A           PIC X.
         02 B           REDEFINES A PIC 9.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:415: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:415"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_redefines.at:415"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_123
#AT_START_124
at_fn_group_banner 124 'syn_redefines.at:419' \
  "REDEFINES: non-referenced ambiguous item" "       " 2
at_xfail=no
(
  $as_echo "124. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       01 X             PIC X.
       01 G             REDEFINES X PIC 9.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_redefines.at:434: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_redefines.at:434"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: redefinition of 'X'
prog.cob: 6: warning: 'X' previously defined here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_redefines.at:434"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_124
#AT_START_125
at_fn_group_banner 125 'syn_value.at:43' \
  "Numeric item (integer)" "                         " 2
at_xfail=no
(
  $as_echo "125. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-SPACE       PIC 999 VALUE SPACE.
       01 X-ABC         PIC 999 VALUE "abc".
       01 X-12-3        PIC 999 VALUE 12.3.
       01 X-123         PIC 999 VALUE 123.
       01 X-1234        PIC 999 VALUE 1234.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_value.at:60: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:60"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: invalid VALUE clause
prog.cob: 7: warning: numeric value is expected
prog.cob: 8: warning: value size exceeds data size
prog.cob: 10: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_value.at:60"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_125
#AT_START_126
at_fn_group_banner 126 'syn_value.at:69' \
  "Numeric item (non-integer)" "                     " 2
at_xfail=no
(
  $as_echo "126. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-12          PIC 99V9 VALUE 12.
       01 X-123         PIC 99V9 VALUE 123.
       01 X-12-3        PIC 99V9 VALUE 12.3.
       01 X-12-34       PIC 99V9 VALUE 12.34.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_value.at:85: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:85"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: value size exceeds data size
prog.cob: 9: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_value.at:85"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_126
#AT_START_127
at_fn_group_banner 127 'syn_value.at:92' \
  "Numeric item with picture P" "                    " 2
at_xfail=no
(
  $as_echo "127. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-99PP-0      PIC 99PP VALUE 0.
       01 X-99PP-1200   PIC 99PP VALUE 1200.
       01 X-99PP-1230   PIC 99PP VALUE 1230.
       01 X-99PP-10000  PIC 99PP VALUE 10000.
       01 X-PP99--0     PIC PP99 VALUE .0.
       01 X-PP99--0012  PIC PP99 VALUE .0012.
       01 X-PP99--0123  PIC PP99 VALUE .0123.
       01 X-PP99--00001 PIC PP99 VALUE .00001.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_value.at:112: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:112"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: value does not fit the picture string
prog.cob: 9: warning: value size exceeds data size
prog.cob: 12: warning: value does not fit the picture string
prog.cob: 13: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_value.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_127
#AT_START_128
at_fn_group_banner 128 'syn_value.at:124' \
  "Signed numeric literal" "                         " 2
at_xfail=no
(
  $as_echo "128. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-9P          PIC 9  VALUE +1.
       01 X-9N          PIC 9  VALUE -1.
       01 X-S9P         PIC S9 VALUE +1.
       01 X-S9N         PIC S9 VALUE -1.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_value.at:140: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:140"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: data item not signed
prog.cob: 7: error: data item not signed
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_value.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_128
#AT_START_129
at_fn_group_banner 129 'syn_value.at:150' \
  "Alphabetic item" "                                " 2
at_xfail=no
(
  $as_echo "129. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-123         PIC AAA VALUE 123.
       01 X-ZERO        PIC AAA VALUE ZERO.
       01 X-AB1         PIC AAA VALUE "ab1".
       01 X-ABC         PIC AAA VALUE "abc".
       01 X-ABCD        PIC AAA VALUE "abcd".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_value.at:167: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:167"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: warning: alphanumeric value is expected
prog.cob: 7: error: invalid VALUE clause
prog.cob: 8: warning: value does not fit the picture string
prog.cob: 10: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_value.at:167"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_129
#AT_START_130
at_fn_group_banner 130 'syn_value.at:176' \
  "Alphanumeric item" "                              " 2
at_xfail=no
(
  $as_echo "130. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-123         PIC XXX VALUE 123.
       01 X-ABC         PIC XXX VALUE "abc".
       01 X-ABCD        PIC XXX VALUE "abcd".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_value.at:191: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:191"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: warning: alphanumeric value is expected
prog.cob: 8: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_value.at:191"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_130
#AT_START_131
at_fn_group_banner 131 'syn_value.at:198' \
  "Alphanumeric group item" "                        " 2
at_xfail=no
(
  $as_echo "131. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G-1           VALUE 123.
         02 X           PIC XXX.
       01 G-2           VALUE "abc".
         02 X           PIC XXX.
       01 G-3           VALUE "abcd".
         02 X           PIC XXX.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_value.at:216: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:216"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: warning: alphanumeric value is expected
prog.cob: 10: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_value.at:216"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_131
#AT_START_132
at_fn_group_banner 132 'syn_value.at:233' \
  "Numeric-edited item" "                            " 2
at_xfail=no
(
  $as_echo "132. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-SPACE       PIC **99.00  VALUE SPACE.
       01 X-123         PIC **999.00 VALUE 123.
       01 X-ABC         PIC **99.00  VALUE "abc".
       01 X-MATCH       PIC **99.00  VALUE "*123.00".
       01 X-OVERFLOW    PIC **99.00  VALUE "*123.000".
       PROCEDURE        DIVISION.
           MOVE     320.00 TO X-123
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_value.at:251: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:251"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_value.at:251"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_value.at:254: \$COMPILE_ONLY -std=ibm-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict prog.cob" "syn_value.at:254"
( $at_check_trace; $COMPILE_ONLY -std=ibm-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: numeric literal in VALUE clause of numeric-edited item used
prog.cob: 10: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_value.at:254"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_value.at:258: \$COMPILE_ONLY -std=ibm prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "syn_value.at:258"
( $at_check_trace; $COMPILE_ONLY -std=ibm prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: numeric literal in VALUE clause of numeric-edited item used
prog.cob: 10: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_value.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_132
#AT_START_133
at_fn_group_banner 133 'syn_value.at:266' \
  "Alphanumeric-edited item" "                       " 2
at_xfail=no
(
  $as_echo "133. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-123         PIC BXX VALUE 123.
       01 X-ABC         PIC BXX VALUE "abc".
       01 X-MATCH       PIC BXX VALUE " ab".
       01 X-OVERFLOW    PIC BXX VALUE " abc".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_value.at:282: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_value.at:282"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: warning: alphanumeric value is expected
prog.cob: 9: warning: value size exceeds data size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_value.at:282"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_133
#AT_START_134
at_fn_group_banner 134 'syn_value.at:334' \
  "Implicit picture from value" "                    " 2
at_xfail=no
(
  $as_echo "134. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 IMPHEAD.
          05 IMPPIC     VALUE " abc".
       PROCEDURE        DIVISION.
           DISPLAY IMPPIC END-DISPLAY
           STOP RUN.
_ATEOF


# Check: should we raise an error without -frelax-syntax-checks?
#AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
#[prog.cob: 7: error: PICTURE clause required for 'IMPPIC'
#])

{ set +x
$as_echo "$at_srcdir/syn_value.at:354: \$COMPILE_ONLY -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_value.at:354"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: defining implicit picture size 4 for 'IMPPIC'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_value.at:354"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_value.at:358: \$COMPILE_ONLY -frelax-syntax-checks -w prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks -w prog.cob" "syn_value.at:358"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks -w prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_value.at:358"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_134
#AT_START_135
at_fn_group_banner 135 'syn_file.at:22' \
  "ASSIGN to device-name" "                          " 2
at_xfail=no
(
  $as_echo "135. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       TO DISK
                        ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       TO DISK 'TFILE'
                        ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       TO DISK FNAME OF F1
                        ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       WORKING-STORAGE  SECTION.
       01 F1.
          05 FNAME      PIC X(255) VALUE 'TFILEOF'.
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:82: \$COMPILE_ONLY -std=acu prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_file.at:82"
( $at_check_trace; $COMPILE_ONLY -std=acu prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:82"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_file.at:83: \$COMPILE_ONLY -std=acu prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog2.cob" "syn_file.at:83"
( $at_check_trace; $COMPILE_ONLY -std=acu prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:83"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_file.at:84: \$COMPILE_ONLY -std=acu prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog3.cob" "syn_file.at:84"
( $at_check_trace; $COMPILE_ONLY -std=acu prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:84"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_135
#AT_START_136
at_fn_group_banner 136 'syn_file.at:89' \
  "ASSIGN to printer-name" "                         " 2
at_xfail=no
(
  $as_echo "136. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       TO PRINT
                        ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       TO PRINTER 'PFILE'
                        ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       TO PRINTER-1 FNAME OF F1
                        ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       WORKING-STORAGE  SECTION.
       01 F1.
          05 FNAME      PIC X(255) VALUE 'PFILEOF'.
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:149: \$COMPILE_ONLY -std=acu prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_file.at:149"
( $at_check_trace; $COMPILE_ONLY -std=acu prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:149"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_file.at:150: \$COMPILE_ONLY -std=acu prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog2.cob" "syn_file.at:150"
( $at_check_trace; $COMPILE_ONLY -std=acu prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:150"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_file.at:151: \$COMPILE_ONLY -std=acu prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog3.cob" "syn_file.at:151"
( $at_check_trace; $COMPILE_ONLY -std=acu prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:151"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_136
#AT_START_137
at_fn_group_banner 137 'syn_file.at:156' \
  "ASSIGN to lsq-device-name" "                      " 2
at_xfail=no
(
  $as_echo "137. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TST-FILE1 ASSIGN       TO CARD-PUNCH  "F1".
       SELECT TST-FILE2 ASSIGN       TO CARD-READER "F2".
       SELECT TST-FILE3 ASSIGN       TO CASSETTE    "F3".
       SELECT TST-FILE4 ASSIGN       TO INPUT       "F4".
       SELECT TST-FILE5 ASSIGN       TO INPUT-OUTPUT.
       SELECT TST-FILE6 ASSIGN       TO MAGNETIC-TAPE.
       SELECT TST-FILE7 ASSIGN       TO OUTPUT      "F7".
       DATA             DIVISION.
       FILE             SECTION.
       FD TST-FILE1.
       01 TST1-REC      PIC X(4).
       FD TST-FILE2.
       01 TST2-REC      PIC X(4).
       FD TST-FILE3.
       01 TST3-REC      PIC X(4).
       FD TST-FILE4.
       01 TST4-REC      PIC X(4).
       FD TST-FILE5.
       01 TST5-REC      PIC X(4).
       FD TST-FILE6.
       01 TST6-REC      PIC X(4).
       FD TST-FILE7.
       01 TST7-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN  INPUT TST-FILE1.
           CLOSE TST-FILE1.
           OPEN  INPUT TST-FILE2.
           CLOSE TST-FILE2.
           OPEN  INPUT TST-FILE3.
           CLOSE TST-FILE3.
           OPEN  INPUT TST-FILE4.
           CLOSE TST-FILE4.
           OPEN  INPUT TST-FILE5.
           CLOSE TST-FILE5.
           OPEN  INPUT TST-FILE6.
           CLOSE TST-FILE6.
           OPEN  INPUT TST-FILE7.
           CLOSE TST-FILE7.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:206: \$COMPILE_ONLY -std=acu prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_file.at:206"
( $at_check_trace; $COMPILE_ONLY -std=acu prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:206"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_137
#AT_START_138
at_fn_group_banner 138 'syn_file.at:211' \
  "SELECT without ASSIGN" "                          " 2
at_xfail=no
(
  $as_echo "138. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE
              ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:232: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:232"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: ASSIGN clause is required for file 'TEST-FILE'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:232"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_138
#AT_START_139
at_fn_group_banner 139 'syn_file.at:239' \
  "START on SEQUENTIAL file" "                       " 2
at_xfail=no
(
  $as_echo "139. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       "./TEST-FILE"
                        ORGANIZATION IS LINE SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           START TEST-FILE KEY EQUAL TEST-REC
           END-START.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:262: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:262"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 15: error: START not allowed on SEQUENTIAL files
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:262"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_139
#AT_START_140
at_fn_group_banner 140 'syn_file.at:269' \
  "valid key items" "                                " 2
at_xfail=no
(
  $as_echo "140. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-SOME ASSIGN TO 'FILE-TEST'
                        ORGANIZATION  IS INDEXED
                        ACCESS MODE   IS DYNAMIC
                        RECORD    KEY IS TEST-P2 IN TEST-SOME
                        ALTERNATE KEY IS TEST-P3 IN TEST-SOME.
       SELECT TEST-FILE ASSIGN TO 'FILE-TEST2'
                        ORGANIZATION  IS INDEXED
                        ACCESS MODE   IS DYNAMIC
                        RECORD    KEY IS TEST-P1
                        ALTERNATE KEY IS TEST-P4.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-SOME.
       01  SOME-REC.
           05  TEST-P2   PIC S9(4) COMP.
           05  TEST-P3   PIC S9(5) COMP-3.
       FD TEST-FILE.
       01  TEST-REC.
           05 TEST-P1   PIC X(4).
           05 FILLER    PIC X(4).
           05 TEST-P4   PIC X(4).
       WORKING-STORAGE  SECTION.
       01  WS-REC.
           05  TEST-P2   PIC S9(4) COMP.
           05  TEST-P3   PIC S9(5) COMP-3.
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE
           CLOSE TEST-FILE
           OPEN  OUTPUT TEST-SOME
           MOVE CORRESPONDING WS-REC TO SOME-REC
           WRITE SOME-REC
           CLOSE TEST-SOME
      *
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:314: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:314"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:314"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_140
#AT_START_141
at_fn_group_banner 141 'syn_file.at:319' \
  "invalid key items" "                              " 2
at_xfail=no
(
  $as_echo "141. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-SOME ASSIGN TO 'FILE-TEST'
                        ORGANIZATION  IS INDEXED
                        ACCESS MODE   IS DYNAMIC
                        RECORD    KEY IS TEST-P2
                        ALTERNATE KEY IS TEST-P1
                        ALTERNATE KEY IS TEST-P3.
       SELECT TEST-FILE ASSIGN TO 'FILE-TEST2'
                        ORGANIZATION  IS INDEXED
                        ACCESS MODE   IS DYNAMIC
                        RECORD    KEY IS TEST-P1
                        ALTERNATE KEY IS TEST-P4
                        ALTERNATE KEY IS NOT-THERE
                        ALTERNATE KEY IS SOME-REC.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-SOME.
       01  SOME-REC  PIC X(20).
       FD TEST-FILE.
       01  TEST-REC.
           05 TEST-P1   PIC X(4).
           05 FILLER    PIC X(4).
           05 TEST-P4   PIC X(4).
       WORKING-STORAGE  SECTION.
       77  TEST-P2   PIC S9(4) COMP.
       77  TEST-P3   PIC S9(5) COMP-3.
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


# FIXME: "is not defined" should be changed in "is not defined in file ..."
{ set +x
$as_echo "$at_srcdir/syn_file.at:360: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:360"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: 'TEST-P2' is not defined
prog.cob: 11: error: 'TEST-P1' is not defined
prog.cob: 12: error: 'TEST-P3' is not defined
prog.cob: 18: error: 'NOT-THERE' is not defined
prog.cob: 13: error: invalid KEY item 'SOME-REC', not in file 'TEST-FILE'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:360"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_141
#AT_START_142
at_fn_group_banner 142 'syn_file.at:371' \
  "variable record length" "                         " 2
at_xfail=no
(
  $as_echo "142. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN TO 'FILE-TEST'
                        ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE
           RECORD IS VARYING IN SIZE
           RECORD CONTAINS  1 TO 1250 CHARACTERS.
       01  TEST-REC.
           05 TEST-P1   PIC X(4).
           05 TEST-P2   PIC S9(4) COMP.
           05 TEST-P3   PIC S9(5) COMP-3.
           05 TEST-P4   PIC S9(5).
           05 TEST-P5   PIC S9(2) BINARY.
           05 FILLER    PIC X(129).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN TO 'FILE-TEST'
                        ORGANIZATION IS INDEXED
                        ACCESS MODE  IS DYNAMIC
                        RECORD KEY IS TEST-P2
                        ALTERNATE KEY IS TEST-P1
                        ALTERNATE KEY IS TEST-P3.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE
           RECORD IS VARYING IN SIZE
              FROM 2 TO 1250 CHARACTERS.
       01  TEST-REC.
           05 TEST-P1   PIC X(4).
           05 TEST-P2   PIC S9(4) COMP.
           05 TEST-P3   PIC S9(5) COMP-3.
           05 TEST-P4   PIC S9(5).
           05 TEST-P5   PIC S9(2) BINARY.
           05 FILLER    PIC X(129).
       01  RECORDSIZE   PIC X(04).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN TO 'FILE-TEST'
                        ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE
           RECORD CONTAINS  5 TO 10 CHARACTERS.
       01  TEST-REC-1.
           05 FILLER    PIC X(4).
       01  TEST-REC-2.
           05 FILLER    PIC X(50).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:453: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:453"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: error: duplicate RECORD clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:453"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_file.at:457: \$COMPILE_ONLY -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_file.at:457"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: warning: duplicate RECORD clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:457"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_file.at:461: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_file.at:461"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 20: error: minimal record length 2 can not hold the key item 'TEST-P2'; needs to be at least 6
prog2.cob: 19: error: minimal record length 2 can not hold the key item 'TEST-P1'; needs to be at least 4
prog2.cob: 21: error: minimal record length 2 can not hold the key item 'TEST-P3'; needs to be at least 9
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:461"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_file.at:467: \$COMPILE_ONLY prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_file.at:467"
( $at_check_trace; $COMPILE_ONLY prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 13: error: size of record 'TEST-REC-1' (4) smaller than minimum of file 'TEST-FILE' (5)
prog3.cob: 15: error: size of record 'TEST-REC-2' (50) larger than maximum of file 'TEST-FILE' (10)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:467"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_142
#AT_START_143
at_fn_group_banner 143 'syn_file.at:475' \
  "variable record length DEPENDING item" "          " 2
at_xfail=no
(
  $as_echo "143. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN TO 'FILE-TEST'
                        ORGANIZATION IS SEQUENTIAL.
       SELECT TEST-FIL2 ASSIGN TO 'FILE-TEST-2'
                        ORGANIZATION IS SEQUENTIAL.
       SELECT TEST-FIL3 ASSIGN TO 'FILE-TEST-3'
                        ORGANIZATION IS SEQUENTIAL.
       SELECT TEST-FIL4 ASSIGN TO 'FILE-TEST-4'
                        ORGANIZATION IS SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE
           RECORD IS VARYING IN SIZE
              FROM 12 TO 125 CHARACTERS
                 DEPENDING ON RECORDSIZE.
       01  TEST-REC.
           05 FILLER    PIC X(40).
       FD TEST-FIL2
           RECORD IS VARYING IN SIZE
              FROM 20 TO 250 CHARACTERS
                 DEPENDING ON TEST-FILE.
       01  TEST-REC2.
           05 FILLER       PIC X(129).
           05 RECORDSIZE3  PIC 9(04).
           05 RECORDSIZE4  PIC X(04).
       FD TEST-FIL3
           RECORD IS VARYING IN SIZE
              FROM 40 TO 50  CHARACTERS
                 DEPENDING ON RECORDSIZE3.
       01  TEST-REC3.
           05 FILLER    PIC X(50).
       FD TEST-FIL4
           RECORD IS VARYING IN SIZE
              FROM 1 TO 2  CHARACTERS
                 DEPENDING ON RECORDSIZE4.
       01  TEST-REC4.
           05 FILLER    PIC X(2).
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           OPEN  INPUT TEST-FIL2.
           CLOSE TEST-FIL2.
           OPEN  INPUT TEST-FIL3.
           CLOSE TEST-FIL3.
           OPEN  INPUT TEST-FIL4.
           CLOSE TEST-FIL4.
           STOP RUN.
_ATEOF


# FIXME: the check misses "prog.cob: 40: error: RECORD DEPENDING item must be unsigned numeric"
{ set +x
$as_echo "$at_srcdir/syn_file.at:533: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:533"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 20: error: 'RECORDSIZE' is not defined
prog.cob: 26: error: RECORD DEPENDING must reference a data-item
prog.cob: 34: error: RECORD DEPENDING item 'RECORDSIZE3' should be defined in WORKING-STORAGE, LOCAL-STORAGE or LINKAGE SECTION
prog.cob: 40: error: RECORD DEPENDING item 'RECORDSIZE4' should be defined in WORKING-STORAGE, LOCAL-STORAGE or LINKAGE SECTION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:533"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_file.at:539: \$COMPILE_ONLY -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_file.at:539"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 20: error: 'RECORDSIZE' is not defined
prog.cob: 26: error: RECORD DEPENDING must reference a data-item
prog.cob: 34: warning: RECORD DEPENDING item 'RECORDSIZE3' should be defined in WORKING-STORAGE, LOCAL-STORAGE or LINKAGE SECTION
prog.cob: 40: warning: RECORD DEPENDING item 'RECORDSIZE4' should be defined in WORKING-STORAGE, LOCAL-STORAGE or LINKAGE SECTION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:539"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_143
#AT_START_144
at_fn_group_banner 144 'syn_file.at:549' \
  "DECLARATIVES invalid procedure reference" "       " 2
at_xfail=no
(
  $as_echo "144. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT GO-FILE   ASSIGN       "./TEST-FILE"
                        ORGANIZATION IS LINE SEQUENTIAL.
       SELECT PERF-FILE ASSIGN       "./TEST-FILE"
                        ORGANIZATION IS LINE SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD GO-FILE.
       01 GO-REC      PIC X(4).
       FD PERF-FILE.
       01 PERF-REC      PIC X(4).
       PROCEDURE        DIVISION.
       DECLARATIVES.
       G01 SECTION.
           USE AFTER ERROR PROCEDURE ON GO-FILE.
       G02.
           DISPLAY "OK"
           END-DISPLAY.
           GO TO GG02.
       P01 SECTION.
           USE AFTER ERROR PROCEDURE ON PERF-FILE.
       P02.
           DISPLAY "OK"
           END-DISPLAY.
      * programs may do this -> nothing happens there with PERF-FILE
           PERFORM PPOK.
      * programs should not do this
      * (the compiler currently cannot distinguish this)
           PERFORM PP02.
       END DECLARATIVES.
       GG01 SECTION.
       GG02.
           OPEN  INPUT GO-FILE.
           CLOSE GO-FILE.
       PP01 SECTION.
       PP02.
           OPEN  INPUT PERF-FILE.
           CLOSE PERF-FILE.
       PP03.
           DISPLAY 'LOG OUTPUT HERE'.
       PPOK.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:601: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:601"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in section 'G01':
prog.cob: in paragraph 'G02':
prog.cob: 24: warning: 'GG02' is not in DECLARATIVES
prog.cob: in section 'P01':
prog.cob: in paragraph 'P02':
prog.cob: 31: warning: 'PPOK' is not in DECLARATIVES
prog.cob: 34: warning: 'PP02' is not in DECLARATIVES
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:601"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_file.at:611: \$COMPILE_ONLY -freference-out-of-declaratives=ok prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -freference-out-of-declaratives=ok prog.cob" "syn_file.at:611"
( $at_check_trace; $COMPILE_ONLY -freference-out-of-declaratives=ok prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:611"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_file.at:613: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_file.at:613"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in section 'G01':
prog.cob: in paragraph 'G02':
prog.cob: 24: error: 'GG02' is not in DECLARATIVES
prog.cob: in section 'P01':
prog.cob: in paragraph 'P02':
prog.cob: 31: error: 'PPOK' is not in DECLARATIVES
prog.cob: 34: error: 'PP02' is not in DECLARATIVES
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:613"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_file.at:623: \$COMPILE_ONLY -std=cobol2014 -frelax-syntax prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 -frelax-syntax prog.cob" "syn_file.at:623"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 -frelax-syntax prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in section 'G01':
prog.cob: in paragraph 'G02':
prog.cob: 24: warning: 'GG02' is not in DECLARATIVES
prog.cob: in section 'P01':
prog.cob: in paragraph 'P02':
prog.cob: 31: warning: 'PPOK' is not in DECLARATIVES
prog.cob: 34: warning: 'PP02' is not in DECLARATIVES
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_file.at:623"
$at_failed && at_fn_log_failure
$at_traceon; }



  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_144
#AT_START_145
at_fn_group_banner 145 'syn_file.at:637' \
  "DECLARATIVES invalid procedure reference (3)" "   " 2
at_xfail=no
(
  $as_echo "145. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       "./TEST-FILE"
                        ORGANIZATION IS LINE SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
       DECLARATIVES.
       P01 SECTION.
           USE AFTER ERROR PROCEDURE ON TEST-FILE.
       P02.
           DISPLAY "OK"
           END-DISPLAY.
       END DECLARATIVES.
       PP01 SECTION.
       PP02.
           OPEN  INPUT TEST-FILE.
           CLOSE TEST-FILE.
           PERFORM P02.
           GO TO P02.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:669: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:669"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in section 'PP01':
prog.cob: in paragraph 'PP02':
prog.cob: 26: error: invalid reference to 'P02' (in DECLARATIVES)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:669"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_145
#AT_START_146
at_fn_group_banner 146 'syn_file.at:678' \
  "RECORDING MODE" "                                 " 2
at_xfail=no
(
  $as_echo "146. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT f ASSIGN "f.dat" LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD  f RECORDING MODE IS U.
       01  x PIC X.

       PROCEDURE DIVISION.
           OPEN INPUT f
           CLOSE f
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:701: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:701"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: error: RECORDING MODE U or S can only be used with RECORD SEQUENTIAL files
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:701"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_146
#AT_START_147
at_fn_group_banner 147 'syn_file.at:707' \
  "CODE-SET clause" "                                " 2
at_xfail=no
(
  $as_echo "147. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           ALPHABET A IS ASCII.

       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT f, ASSIGN "f.dat", LINE SEQUENTIAL.
           SELECT g, ASSIGN "g.dat", LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD  f CODE-SET A.
       01  f-rec PIC X(10).

       FD  g CODE-SET foo.
       01  g-rec PIC X(10).
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:733: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:733"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 17: warning: ignoring CODE-SET 'A'
prog.cob: 17: warning: CODE-SET is not implemented
prog.cob: 20: error: 'foo' is not defined
prog.cob: 20: error: 'foo' is not an alphabet-name
prog.cob: 20: warning: CODE-SET is not implemented
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:733"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_147
#AT_START_148
at_fn_group_banner 148 'syn_file.at:743' \
  "CODE-SET FOR clause" "                            " 2
at_xfail=no
(
  $as_echo "148. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           ALPHABET A IS EBCDIC.

       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT f ASSIGN "f.dat" LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD  f CODE-SET A FOR x, y, z.
       01  x.
           03  y PIC X(10).
       01  x-2.
           03  z PIC X(10).
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:768: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:768"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 16: warning: FOR sub-records is not implemented
prog.cob: 16: warning: CODE-SET is not implemented
prog.cob: 16: error: FOR item 'x' is a record
prog.cob: 16: error: FOR item 'z' is in different record to 'x'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:768"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_148
#AT_START_149
at_fn_group_banner 149 'syn_file.at:777' \
  "WRITE / REWRITE FROM clause and FILE" "           " 2
at_xfail=no
(
  $as_echo "149. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.
       ENVIRONMENT    DIVISION.
       INPUT-OUTPUT   SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN TO 'FILE-TEST'
                        ORGANIZATION IS INDEXED
                        ACCESS MODE  IS DYNAMIC
                        RECORD KEY   IS TEST-P1.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01  TEST-REC.
           05 TEST-P1   PIC X(4).
           05 TEST-P2   PIC S9(4) COMP.
       WORKING-STORAGE  SECTION.
       01  SOME-REC     PIC X(04).
           88  SOME-VAL VALUE 'ABCD'.
       PROCEDURE        DIVISION.
           OPEN  I-O TEST-FILE.
           WRITE   SOME-VAL.
           WRITE   SOME-REC.
           WRITE   TEST-REC.
           WRITE   TEST-REC FROM SOME-REC.
           WRITE   TEST-FILE.
           WRITE   FILE TEST-REC.
           WRITE   FILE TEST-FILE.
           WRITE   FILE TEST-FILE FROM TEST-REC.
           WRITE   FILE TEST-FILE FROM SOME-REC.
           REWRITE SOME-VAL.
           REWRITE SOME-REC.
           REWRITE TEST-REC.
           REWRITE TEST-REC FROM SOME-REC.
           REWRITE TEST-FILE.
           REWRITE FILE TEST-REC.
           REWRITE FILE TEST-FILE.
           REWRITE FILE TEST-FILE FROM TEST-REC.
           REWRITE FILE TEST-FILE FROM SOME-REC.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:823: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:823"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 22: error: invalid use of 88 level item
prog.cob: 23: error: WRITE subject does not refer to a record name
prog.cob: 26: error: WRITE requires a record name as subject
prog.cob: 27: error: 'TEST-REC' is not a file name
prog.cob: 28: error: WRITE FILE requires a FROM clause
prog.cob: 31: error: invalid use of 88 level item
prog.cob: 32: error: REWRITE subject does not refer to a record name
prog.cob: 35: error: REWRITE requires a record name as subject
prog.cob: 36: error: 'TEST-REC' is not a file name
prog.cob: 37: error: REWRITE FILE requires a FROM clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:823"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_149
#AT_START_150
at_fn_group_banner 150 'syn_file.at:838' \
  "Clauses following invalid ACCESS clause" "        " 2
at_xfail=no
(
  $as_echo "150. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    syntax.

       ENVIRONMENT    DIVISION.
       INPUT-OUTPUT   SECTION.
       FILE-CONTROL.
           SELECT testfile
               ASSIGN TO filename
               ORGANIZATION RELATIVE
               ACCESS IS sequentia
               STATUS IS stat.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_file.at:855: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_file.at:855"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: error: syntax error, unexpected Identifier, expecting DYNAMIC or RANDOM or SEQUENTIAL
prog.cob: 13: warning: 'filename' will be implicitly defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_file.at:855"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_150
#AT_START_151
at_fn_group_banner 151 'syn_reportwriter.at:23' \
  "REPORT SECTION clause numbers" "                  " 2
at_xfail=no
(
  $as_echo "151. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
           SELECT report-file ASSIGN "whatever".

       DATA             DIVISION.
       FILE             SECTION.
       FD  report-file  REPORT r.

       REPORT           SECTION.
       RD  r.
       01  valid-num    TYPE DETAIL.
           03  x        LINE 1.
       01  invalid-nums TYPE DETAIL.
           03  a        LINE +1.
           03  b        LINE -1.
           03  c        LINE 1.0.
           03  d        LINE 0.

       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_reportwriter.at:52: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_reportwriter.at:52"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: warning: REPORT WRITER is not implemented
prog.cob: 13: warning: REPORT SECTION is not implemented
prog.cob: 18: error: unsigned positive integer value expected
prog.cob: 19: error: unsigned positive integer value expected
prog.cob: 20: error: unsigned positive integer value expected
prog.cob: 21: error: unsigned positive integer value expected
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_reportwriter.at:52"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_151
#AT_START_152
at_fn_group_banner 152 'syn_refmod.at:25' \
  "valid reference modification" "                   " 2
at_xfail=no
(
  $as_echo "152. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "abcd".
       PROCEDURE        DIVISION.
           DISPLAY X(1:1) ":" X(1:2) ":" X(1:3) ":" X(1:4) ":" X(1:)
           END-DISPLAY.
           DISPLAY X(2:1) ":" X(2:2) ":" X(2:3) ":" X(2:)
           END-DISPLAY.
           DISPLAY X(3:1) ":" X(3:2) ":" X(3:)
           END-DISPLAY.
           DISPLAY X(4:1) ":" X(4:)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_refmod.at:46: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_refmod.at:46"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_refmod.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_152
#AT_START_153
at_fn_group_banner 153 'syn_refmod.at:51' \
  "Static out of bounds" "                           " 2
at_xfail=no
(
  $as_echo "153. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4).
       PROCEDURE        DIVISION.
           DISPLAY X(0:1)
           END-DISPLAY.
           DISPLAY X(5:1)
           END-DISPLAY.
           DISPLAY X(1:0)
           END-DISPLAY.
           DISPLAY X(1:5)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_refmod.at:72: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_refmod.at:72"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: offset of 'X' out of bounds: 0
prog.cob: 10: error: offset of 'X' out of bounds: 5
prog.cob: 12: error: length of 'X' out of bounds: 0
prog.cob: 14: error: length of 'X' out of bounds: 5
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_refmod.at:72"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_153
#AT_START_154
at_fn_group_banner 154 'syn_refmod.at:82' \
  "constant-folding out of bounds" "                 " 2
at_xfail=no
(
  $as_echo "154. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       78 VAR-LEN       VALUE 4.
       01 X             PIC X(VAR-LEN).
       PROCEDURE        DIVISION.
           IF VAR-LEN < 4
              DISPLAY X(4 - VAR-LEN:1)
              END-DISPLAY
              DISPLAY X(1: 4 - VAR-LEN)
              END-DISPLAY
              DISPLAY X(9 - VAR-LEN:1)
              END-DISPLAY
              DISPLAY X(1:9 - VAR-LEN)
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_refmod.at:106: \$COMPILE_ONLY -Wno-constant-expr prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-constant-expr prog.cob" "syn_refmod.at:106"
( $at_check_trace; $COMPILE_ONLY -Wno-constant-expr prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error (ignored): offset of 'X' out of bounds: 0
prog.cob: 12: error (ignored): length of 'X' out of bounds: 0
prog.cob: 14: error (ignored): offset of 'X' out of bounds: 5
prog.cob: 16: error (ignored): length of 'X' out of bounds: 5
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_refmod.at:106"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_refmod.at:112: \$COMPILE_ONLY -Wno-constant-expr  -fno-constant-folding prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-constant-expr  -fno-constant-folding prog.cob" "syn_refmod.at:112"
( $at_check_trace; $COMPILE_ONLY -Wno-constant-expr  -fno-constant-folding prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_refmod.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_154
#AT_START_155
at_fn_group_banner 155 'syn_misc.at:23' \
  "ambiguous AND/OR" "                               " 2
at_xfail=no
(
  $as_echo "155. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 ONE   PIC 9 VALUE 1.
       01 TWO   PIC 9 VALUE 2.
       01 THREE PIC 9 VALUE 3.
       PROCEDURE        DIVISION.
           IF THREE = ONE AND TWO OR THREE
               DISPLAY "OK"
               END-DISPLAY
           END-IF.
           IF 3 = 1 OR 2 AND 3
               DISPLAY "NO"
               END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:46: \$COMPILE_ONLY -Wno-constant-expression prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wno-constant-expression prog.cob" "syn_misc.at:46"
( $at_check_trace; $COMPILE_ONLY -Wno-constant-expression prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: warning: suggest parentheses around AND within OR
prog.cob: 15: warning: suggest parentheses around OR within AND
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_155
#AT_START_156
at_fn_group_banner 156 'syn_misc.at:54' \
  "warn constant expressions" "                      " 2
at_xfail=no
(
  $as_echo "156. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           IF 3 = 1
           AND 2 OR 3
              DISPLAY "OK"
              END-DISPLAY
           END-IF.
           IF 3 = 1 OR
              2 AND 3
              DISPLAY "NO"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


# FIXME positions broken
{ set +x
$as_echo "$at_srcdir/syn_misc.at:75: \$COMPILE_ONLY -w -Wconstant-expression prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -w -Wconstant-expression prog.cob" "syn_misc.at:75"
( $at_check_trace; $COMPILE_ONLY -w -Wconstant-expression prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: warning: expression '3' EQUALS '1' is always FALSE
prog.cob: 6: warning: expression '3' EQUALS '2' is always FALSE
prog.cob: 10: warning: expression '3' EQUALS '1' is always FALSE
prog.cob: 11: warning: expression '3' EQUALS '2' is always FALSE
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_156
#AT_START_157
at_fn_group_banner 157 'syn_misc.at:85' \
  "warn literal size" "                              " 2
at_xfail=no
(
  $as_echo "157. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-LINE-NUMBER PIC 9(3) VALUE ZERO.
       01 WS-NUMBER      PIC 9(3)V99 VALUE ZERO.
       01 WS-TEXT        PIC X(5) VALUE 'CAT'.
       78 CONST1         VALUE 'CAT     '.
       01 CONST2         CONSTANT AS 00000001234.
       PROCEDURE DIVISION.
       IF WS-LINE-NUMBER > '123'
          CONTINUE.
       IF WS-TEXT > 'DOGGY'
          CONTINUE.
       IF WS-NUMBER > 123.999
          CONTINUE.
       IF WS-LINE-NUMBER > 1234
          CONTINUE.
       IF WS-LINE-NUMBER <= 1234
          CONTINUE.
       IF WS-LINE-NUMBER > '1234'
          CONTINUE.
       IF 1234 < WS-LINE-NUMBER
          CONTINUE.
       IF 1234 >= WS-LINE-NUMBER
          CONTINUE.
       IF WS-TEXT > 'DOGGY++'
          CONTINUE.
       IF WS-TEXT > 3141596
          CONTINUE.
       IF 'DOG+CAT' NOT = WS-TEXT
          CONTINUE.
       IF WS-TEXT = 'CAT+DOG'
          CONTINUE.
       EVALUATE TRUE
          WHEN 'DOG+CAT' = WS-TEXT
             CONTINUE
          WHEN CONST1 = 'CAT+DOG'
             CONTINUE
          WHEN CONST1 = 'CAT'
             CONTINUE
          WHEN CONST2 = 1234
             CONTINUE
       END-EVALUATE
       IF WS-LINE-NUMBER > 0000234
          CONTINUE.
       IF WS-TEXT = 'CAT         '
          CONTINUE.
       STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:140: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:140"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 18: warning: literal is longer than field
prog.cob: 18: warning: expression is always FALSE
prog.cob: 20: warning: literal is longer than field
prog.cob: 20: warning: expression is always TRUE
prog.cob: 22: warning: literal is longer than field
prog.cob: 22: warning: expression is always FALSE
prog.cob: 24: warning: literal is longer than field
prog.cob: 24: warning: expression is always FALSE
prog.cob: 26: warning: literal is longer than field
prog.cob: 26: warning: expression is always TRUE
prog.cob: 28: warning: literal is longer than field
prog.cob: 30: warning: literal is longer than field
prog.cob: 32: warning: literal is longer than field
prog.cob: 32: warning: expression is always TRUE
prog.cob: 34: warning: literal is longer than field
prog.cob: 34: warning: expression is always FALSE
prog.cob: 37: warning: literal is longer than field
prog.cob: 37: warning: expression is always FALSE
prog.cob: 39: warning: expression 'CAT     ' EQUALS 'CAT+DOG' is always FALSE
prog.cob: 41: warning: expression 'CAT     ' EQUALS 'CAT' is always TRUE
prog.cob: 43: warning: expression '00000001234' EQUALS '1234' is always TRUE
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_157
#AT_START_158
at_fn_group_banner 158 'syn_misc.at:167' \
  "Invalid conditional expression (1)" "             " 2
at_xfail=no
(
  $as_echo "158. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  CON          CONSTANT 10.
       01  V            PIC 9.
       78  C78          VALUE 'A'.
       PROCEDURE        DIVISION.
           IF FUNCTION TRIM (' ')
              CONTINUE
              CONTINUE
           END-IF.
           IF CON
              CONTINUE
              CONTINUE
           END-IF.
           IF V
              CONTINUE
              CONTINUE
           END-IF.
           IF C78
              CONTINUE
              CONTINUE
           END-IF.
           IF '2'
              CONTINUE
              CONTINUE
           END-IF.
           IF C78 OR V
               CONTINUE
               CONTINUE
           END-IF.
           EVALUATE TRUE
              WHEN FUNCTION TRIM (' ')
                 CONTINUE
                 CONTINUE
              WHEN CON
                 CONTINUE
                 CONTINUE
              WHEN V
                 CONTINUE
                 CONTINUE
              WHEN C78
                 CONTINUE
                 CONTINUE
              WHEN '2'
                 CONTINUE
              WHEN OTHER
                 CONTINUE
           END-EVALUATE.
           PERFORM VARYING V
                   FROM 1 BY 1
                   UNTIL FUNCTION TRIM (' ')
              CONTINUE
              CONTINUE
           END-PERFORM.
           PERFORM VARYING V
                   FROM 1 BY 1
                   UNTIL V
              CONTINUE
              CONTINUE
           END-PERFORM.
           PERFORM VARYING V
                   FROM 1 BY 1
                   UNTIL C78
              CONTINUE
              CONTINUE
           END-PERFORM.
           PERFORM VARYING V
                   FROM 1 BY 1
                   UNTIL '2'
              CONTINUE
              CONTINUE
           END-PERFORM.
           IF NOTDEFINED = 1 OR 2
              CONTINUE
           END-IF.

           IF (V = 1) AND V
              CONTINUE
           END-IF

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:256: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:256"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: invalid expression
prog.cob: 14: error: invalid expression
prog.cob: 18: error: invalid expression
prog.cob: 22: error: invalid expression
prog.cob: 26: error: invalid expression
prog.cob: 30: error: invalid expression
prog.cob: 35: error: invalid expression
prog.cob: 38: error: invalid expression
prog.cob: 41: error: invalid expression
prog.cob: 44: error: invalid expression
prog.cob: 47: error: invalid expression
prog.cob: 54: error: invalid expression
prog.cob: 60: error: invalid expression
prog.cob: 66: error: invalid expression
prog.cob: 72: error: invalid expression
prog.cob: 76: error: 'NOTDEFINED' is not defined
prog.cob: 76: error: invalid expression
prog.cob: 80: error: invalid expression
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:256"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_158
#AT_START_159
at_fn_group_banner 159 'syn_misc.at:280' \
  "Invalid conditional expression (2)" "             " 2
at_xfail=no
(
  $as_echo "159. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01 WRKN  PIC S999 VALUE 123.
        01 WRKX  PIC X(8) VALUE 'House'.
        PROCEDURE DIVISION.
        MAIN.
            EVALUATE WRKN
              GREATER ZERO
              < 0
              > 0
            WHEN TRUE
              DISPLAY "WHAT IS IT?"
            END-EVALUATE.
            IF WRKN = 123 EQUAL 456
              DISPLAY "Strange brew! " WRKN
            END-IF.
            IF WRKN NOT EQUAL 123 NOT = 456
              DISPLAY "Strange brew! " WRKN
            END-IF.
            IF WRKN = 123 OR 456
              DISPLAY "Home brew! " WRKN
            END-IF.
            IF WRKX = "Red" OR "White"
              DISPLAY "Home wine! " WRKX
            END-IF.
            IF WRKX <= "Red" = "White"
              DISPLAY "Home wine! " WRKX
            END-IF.
            IF WRKX = "Red" NOT "White"
              DISPLAY "Home wine! " WRKX
            END-IF.
            IF WRKN = (123 - 12) OR
                   >= (456 + 16)
              DISPLAY "And another brew! " WRKN
            END-IF.
            STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:324: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:324"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in paragraph 'MAIN':
prog.cob: 10: error: GREATER THAN operator may be misplaced
prog.cob: 17: error: EQUALS operator may be misplaced
prog.cob: 20: error: NOT EQUAL operator may be misplaced
prog.cob: 29: error: LESS OR EQUAL operator may be misplaced
prog.cob: 32: error: invalid expression
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:324"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_159
#AT_START_160
at_fn_group_banner 160 'syn_misc.at:336' \
  "Valid conditional expression" "                   " 2
at_xfail=no
(
  $as_echo "160. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  var         PIC 999.

       PROCEDURE       DIVISION.
           IF  var = 83  AND >  1 + 1
              CONTINUE
           END-IF
           IF  var = 83  AND >  2
              CONTINUE
           END-IF
           IF  var = 83  AND > (1 + 1)
              CONTINUE
           END-IF
           IF (var NOT = 1) OR (var NOT = 2)
               CONTINUE
           END-IF
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:363: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:363"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:363"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:364: \$COMPILE -fno-constant-folding prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fno-constant-folding prog.cob" "syn_misc.at:364"
( $at_check_trace; $COMPILE -fno-constant-folding prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:364"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_160
#AT_START_161
at_fn_group_banner 161 'syn_misc.at:369' \
  "missing headers" "                                " 2
at_xfail=no
(
  $as_echo "161. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       SOURCE-COMPUTER. GNU-LINUX.
       SPECIAL-NAMES.
            SYMBOLIC NL IS 101
                     NL2   102
            NUMERIC SIGN TRAILING SEPARATE
            DECIMAL-POINT IS COMMA
            .

            SELECT PRINT-FILE ASSIGN "EXTRXW"
            ORGANIZATION LINE SEQUENTIAL
            .
       DATA DIVISION.
       FD  PRINT-FILE EXTERNAL.
       01  PRINT-REC          PIC X(64).

           DISPLAY "X"
           END-DISPLAY
           ACCEPT OMITTED
           END-ACCEPT
           GOBACK
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:396: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:396"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 2: error: PROGRAM-ID header missing
prog.cob: 2: error: ENVIRONMENT DIVISION header missing
prog.cob: 2: error: CONFIGURATION SECTION header missing
prog.cob: 10: error: INPUT-OUTPUT SECTION header missing
prog.cob: 10: error: FILE-CONTROL header missing
prog.cob: 14: error: FILE SECTION header missing
prog.cob: 17: error: PROCEDURE DIVISION header missing
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:396"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:406: \$COMPILE_ONLY -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_misc.at:406"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 2: warning: PROGRAM-ID header missing - assumed
prog.cob: 2: warning: ENVIRONMENT DIVISION header missing - assumed
prog.cob: 2: warning: CONFIGURATION SECTION header missing - assumed
prog.cob: 10: warning: INPUT-OUTPUT SECTION header missing - assumed
prog.cob: 10: warning: FILE-CONTROL header missing - assumed
prog.cob: 14: warning: FILE SECTION header missing - assumed
prog.cob: 17: warning: PROCEDURE DIVISION header missing - assumed
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:406"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_161
#AT_START_162
at_fn_group_banner 162 'syn_misc.at:419' \
  "one line program" "                               " 2
at_xfail=no
(
  $as_echo "162. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'
           DISPLAY "minimal".
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:425: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:425"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 1: error: PROGRAM-ID header missing
prog.cob: 1: error: PROCEDURE DIVISION header missing
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:425"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:430: \$COMPILE_ONLY -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_misc.at:430"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 1: warning: PROGRAM-ID header missing - assumed
prog.cob: 1: warning: PROCEDURE DIVISION header missing - assumed
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:430"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_162
#AT_START_163
at_fn_group_banner 163 'syn_misc.at:438' \
  "empty program" "                                  " 2
at_xfail=no
(
  $as_echo "163. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC 999 VALUE 124.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:451: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:451"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:451"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC 999 VALUE 124.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:462: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:462"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:462"
$at_failed && at_fn_log_failure
$at_traceon; }


: >prog3.cob

{ set +x
$as_echo "$at_srcdir/syn_misc.at:466: \$COMPILE_ONLY prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_misc.at:466"
( $at_check_trace; $COMPILE_ONLY prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 1: error: PROGRAM-ID header missing
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:466"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:470: \$COMPILE_ONLY -frelax-syntax-checks prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog3.cob" "syn_misc.at:470"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 1: warning: PROGRAM-ID header missing - assumed
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:470"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_163
#AT_START_164
at_fn_group_banner 164 'syn_misc.at:477' \
  "INITIALIZE constant" "                            " 2
at_xfail=no
(
  $as_echo "164. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  CON          CONSTANT 10.
       01  V            PIC 9.
       78  C78          VALUE 'A'.
       PROCEDURE DIVISION.
           INITIALIZE CON.
           INITIALIZE V.
           INITIALIZE V, 9.
           INITIALIZE C78, V.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:495: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:495"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: invalid INITIALIZE statement
prog.cob: 12: error: invalid INITIALIZE statement
prog.cob: 13: error: invalid INITIALIZE statement
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:495"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_164
#AT_START_165
at_fn_group_banner 165 'syn_misc.at:504' \
  "CLASS duplicate values" "                         " 2
at_xfail=no
(
  $as_echo "165. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
            SYMBOLIC NL IS 101
                     NL2   102
            CLASS    CHECK-VALID    'a' THRU 'z'
                                    'A' THRU 'Z'
                                    'cdef'
            NUMERIC SIGN TRAILING SEPARATE
            DECIMAL-POINT IS COMMA
            .
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(8).
       PROCEDURE        DIVISION.
           IF X         IS CHECK-VALID
              DISPLAY "OK"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:532: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:532"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: duplicate values in class 'CHECK-VALID'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:532"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_165
#AT_START_166
at_fn_group_banner 166 'syn_misc.at:539' \
  "INSPECT invalid size" "                           " 2
at_xfail=no
(
  $as_echo "166. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(8).
       PROCEDURE        DIVISION.
           INSPECT X REPLACING ALL SPACES BY "AA".
           INSPECT X REPLACING ALL "ABC"  BY "AA".
           INSPECT X REPLACING ALL "DEF"  BY SPACES.
           INSPECT X CONVERTING SPACES TO "AA".
           INSPECT X CONVERTING "ABC"  TO "AA".
           INSPECT X CONVERTING "DEF"  TO SPACES.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:558: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:558"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: REPLACING operands differ in size
prog.cob: 9: error: REPLACING operands differ in size
prog.cob: 11: error: CONVERTING operands differ in size
prog.cob: 12: error: CONVERTING operands differ in size
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:558"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_166
#AT_START_167
at_fn_group_banner 167 'syn_misc.at:568' \
  "INSPECT invalid target" "                         " 2
at_xfail=no
(
  $as_echo "167. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(8).
       PROCEDURE        DIVISION.
           INSPECT FUNCTION TRIM(X) REPLACING ALL "ABC" BY "DEF".
           INSPECT FUNCTION TRIM(X) CONVERTING "ABC" TO "AAA".
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:583: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:583"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: invalid target for REPLACING
prog.cob: 9: error: invalid target for CONVERTING
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:583"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_167
#AT_START_168
at_fn_group_banner 168 'syn_misc.at:591' \
  "INSPECT missing keyword" "                        " 2
at_xfail=no
(
  $as_echo "168. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(8).
       PROCEDURE        DIVISION.
           INSPECT X REPLACING "AB" BY "CD".
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:605: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:605"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: INSPECT missing ALL/FIRST/LEADING/TRAILING
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:605"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_168
#AT_START_169
at_fn_group_banner 169 'syn_misc.at:612' \
  "INSPECT repeated keywords" "                      " 2
at_xfail=no
(
  $as_echo "169. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC 9(5).

       PROCEDURE DIVISION.
           INSPECT "abcde" TALLYING x FOR ALL LEADING
               TRAILING ALL ALL ALL TRAILING
           INSPECT "abcde" TALLYING x FOR x FOR LEADING "a"
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:630: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:630"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: missing value between CHARACTERS/ALL/LEADING/TRAILING words
prog.cob: 11: error: missing value between CHARACTERS/ALL/LEADING/TRAILING words
prog.cob: 11: error: missing value between CHARACTERS/ALL/LEADING/TRAILING words
prog.cob: 11: error: missing value between CHARACTERS/ALL/LEADING/TRAILING words
prog.cob: 11: error: missing value between CHARACTERS/ALL/LEADING/TRAILING words
prog.cob: 11: error: missing value between CHARACTERS/ALL/LEADING/TRAILING words
prog.cob: 12: error: TALLYING clause is incomplete
prog.cob: 12: error: missing CHARACTERS/ALL/LEADING/TRAILING phrase after FOR phrase
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:630"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_169
#AT_START_170
at_fn_group_banner 170 'syn_misc.at:644' \
  "INSPECT incomplete clause" "                      " 2
at_xfail=no
(
  $as_echo "170. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC 9(5).

       PROCEDURE DIVISION.
           INSPECT "abcde" TALLYING x FOR
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:660: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:660"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: error: TALLYING clause is incomplete
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:660"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_170
#AT_START_171
at_fn_group_banner 171 'syn_misc.at:666' \
  "INSPECT multiple BEFORE/AFTER clauses" "          " 2
at_xfail=no
(
  $as_echo "171. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC X(10).

       PROCEDURE DIVISION.
           INSPECT x REPLACING CHARACTERS BY "x"
               BEFORE "A" BEFORE "b" AFTER "c"
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:683: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:683"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: error: syntax error, unexpected BEFORE
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:683"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_171
#AT_START_172
at_fn_group_banner 172 'syn_misc.at:689' \
  "maximum data size" "                              " 2
at_xfail=no
(
  $as_echo "172. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 SINGLE-ITEM   PIC X(999999999).
       01 GROUP-ITEM1.
          05 FILLER     PIC X(999999999).
       01 GROUP-ITEM2.
          05 FILLER     PIC X(199999999).
          05 FILLER     PIC X(199999999).
       PROCEDURE        DIVISION.
           STOP RUN.

_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:708: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:708"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: 'SINGLE-ITEM' cannot be larger than 268435456 bytes
prog.cob: 8: error: 'FILLER 1' cannot be larger than 268435456 bytes
prog.cob: 7: error: 'GROUP-ITEM1' cannot be larger than 268435456 bytes
prog.cob: 9: error: 'GROUP-ITEM2' cannot be larger than 268435456 bytes
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:708"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_172
#AT_START_173
at_fn_group_banner 173 'syn_misc.at:718' \
  "unreachable statement" "                          " 2
at_xfail=no
(
  $as_echo "173. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT f ASSIGN TO 'f' LINE SEQUENTIAL.
       DATA DIVISION.
       FILE SECTION.
       FD  f.
       01  f-rec PIC X.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
       DECLARATIVES.
       f-error SECTION.
           USE AFTER ERROR ON f.
           GOBACK
           .
       END DECLARATIVES.

           DISPLAY "VALID"
           END-DISPLAY.

       P01.
           GO TO P02.
           DISPLAY "INVALID"
           END-DISPLAY.
       P02.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:752: \$COMPILE_ONLY -Wunreachable prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -Wunreachable prog.cob" "syn_misc.at:752"
( $at_check_trace; $COMPILE_ONLY -Wunreachable prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in paragraph 'P01':
prog.cob: 26: warning: unreachable statement 'DISPLAY'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:752"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_173
#AT_START_174
at_fn_group_banner 174 'syn_misc.at:760' \
  "CRT STATUS" "                                     " 2
at_xfail=no
(
  $as_echo "174. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CRT STATUS IS MY-CRT-STATUS.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       PROCEDURE        DIVISION.
           ACCEPT X END-ACCEPT.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CRT STATUS IS MY-CRT-STATUS.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       77 MY-CRT-STATUS PIC 9(04).
       PROCEDURE        DIVISION.
           ACCEPT X END-ACCEPT.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:794: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:794"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: 'MY-CRT-STATUS' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:794"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:797: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:797"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:797"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_174
#AT_START_175
at_fn_group_banner 175 'syn_misc.at:802' \
  "CURRENCY SIGN" "                                  " 2
at_xfail=no
(
  $as_echo "175. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CURRENCY SIGN IS '*'.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CURRENCY 'T'.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CURRENCY 'DOLLAR'.
_ATEOF


cat >prog4.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog4.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CURRENCY 'DOLLAR'
           WITH PICTURE SYMBOL '$'.
_ATEOF


cat >prog5.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog5.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CURRENCY '   '
           PICTURE SYMBOL '*'.
_ATEOF


cat >prog6.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog6.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CURRENCY ' T '
           PICTURE SYMBOL ' '.
_ATEOF


cat >prog7.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog7.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CURRENCY '+-'
           PICTURE SYMBOL 'TT'.
_ATEOF


cat >prog8.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog8.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CURRENCY SIGN IS 'T'.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77 SOME-CASH     PIC 9(04).99T.
       PROCEDURE        DIVISION.
           MOVE 123.4 TO SOME-CASH
           DISPLAY SOME-CASH END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:888: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:888"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: invalid CURRENCY SIGN '*'
prog.cob: 7: error: invalid character '*' in PICTURE SYMBOL for CURRENCY
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:888"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:892: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:892"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:892"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:893: \$COMPILE_ONLY prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_misc.at:893"
( $at_check_trace; $COMPILE_ONLY prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 7: error: PICTURE SYMBOL for CURRENCY must be one character long
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:893"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:896: \$COMPILE_ONLY prog4.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog4.cob" "syn_misc.at:896"
( $at_check_trace; $COMPILE_ONLY prog4.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog4.cob: 7: warning: CURRENCY SIGN longer than one character is not implemented
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:896"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:899: \$COMPILE_ONLY prog5.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog5.cob" "syn_misc.at:899"
( $at_check_trace; $COMPILE_ONLY prog5.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog5.cob: 7: warning: CURRENCY SIGN longer than one character is not implemented
prog5.cob: 7: error: invalid CURRENCY SIGN '   '
prog5.cob: 8: error: invalid character '*' in PICTURE SYMBOL for CURRENCY
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:899"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:904: \$COMPILE_ONLY prog6.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog6.cob" "syn_misc.at:904"
( $at_check_trace; $COMPILE_ONLY prog6.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog6.cob: 7: warning: CURRENCY SIGN longer than one character is not implemented
prog6.cob: 8: error: invalid character ' ' in PICTURE SYMBOL for CURRENCY
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:904"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:908: \$COMPILE_ONLY prog7.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog7.cob" "syn_misc.at:908"
( $at_check_trace; $COMPILE_ONLY prog7.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog7.cob: 7: warning: CURRENCY SIGN longer than one character is not implemented
prog7.cob: 7: error: invalid CURRENCY SIGN '+-'
prog7.cob: 8: error: PICTURE SYMBOL for CURRENCY must be one character long
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:908"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:913: \$COMPILE_ONLY prog8.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog8.cob" "syn_misc.at:913"
( $at_check_trace; $COMPILE_ONLY prog8.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:913"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_175
#AT_START_176
at_fn_group_banner 176 'syn_misc.at:918' \
  "SWITCHES" "                                       " 2
at_xfail=no
(
  $as_echo "176. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           SW1
             ON  IS SWIT1-ON
             OFF IS SWIT1-OFF
           .
           SWITCH B IS SWITCH-B
             ON  IS SWIT2-ON
             OFF IS SWIT2-OFF
           .
           SWITCH-25
             ON  IS SWIT25-ON
             OFF IS SWIT25-OFF
           .
           SWITCH-25
             ON  IS SWIT25-IS-ON
             OFF IS SWIT25-IS-OFF
           .
           SWITCH 25
             ON  IS SWIT25-SP-ON
             OFF IS SWIT25-SP-OFF
           .
           SWITCH Y
             ON  IS SWIT25-Y-ON
             OFF IS SWIT25-Y-OFF
           .
           SWITCH Z
             ON  IS SWIT26-ON
             ON  IS SWIT26-OFF
           .
           SWITCH-32
             ON  IS SWIT32-ON
           .
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  SWITCH       PIC 99 VALUE 12.
       PROCEDURE        DIVISION.
           ADD SWITCH 1 GIVING SWITCH
           END-ADD.
           IF SWITCH NOT = 13
              DISPLAY "SWITCH (variable) WRONG: "
                      SWITCH
              END-DISPLAY
           END-IF.
           IF SWIT1-ON
              DISPLAY "ON"
              END-DISPLAY
           ELSE
              DISPLAY "OFF"
              END-DISPLAY
           END-IF.
           IF SWIT2-ON
              DISPLAY " ON"
              END-DISPLAY
           ELSE
              DISPLAY " OFF"
              END-DISPLAY
           END-IF.
           SET SWITCH-B TO OFF
           IF SWIT2-ON
              CONTINUE
           END-IF.
           IF SWIT25-ON
              CONTINUE
           END-IF.
           IF SWIT26-ON
              CONTINUE
           END-IF.
           IF SWIT32-ON
              CONTINUE
           END-IF.
           IF SWIT32-OFF
              CONTINUE
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1002: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1002"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: invalid system-name 'SW1'
prog.cob: 8: error: ON/OFF usage requires a SWITCH name
prog.cob: 9: error: ON/OFF usage requires a SWITCH name
prog.cob: 11: error: invalid system-name 'SWITCH B'
prog.cob: 12: error: ON/OFF usage requires a SWITCH name
prog.cob: 13: error: ON/OFF usage requires a SWITCH name
prog.cob: 23: error: invalid system-name 'SWITCH 25'
prog.cob: 24: error: ON/OFF usage requires a SWITCH name
prog.cob: 25: error: ON/OFF usage requires a SWITCH name
prog.cob: 27: error: invalid system-name 'SWITCH Y'
prog.cob: 28: error: ON/OFF usage requires a SWITCH name
prog.cob: 29: error: ON/OFF usage requires a SWITCH name
prog.cob: 31: error: invalid system-name 'SWITCH Z'
prog.cob: 32: error: ON/OFF usage requires a SWITCH name
prog.cob: 33: error: ON/OFF usage requires a SWITCH name
prog.cob: 49: error: 'SWIT1-ON' is not defined
prog.cob: 56: error: 'SWIT2-ON' is not defined
prog.cob: 63: error: 'SWITCH-B' is not defined
prog.cob: 63: error: syntax error, unexpected OFF
prog.cob: 64: error: 'SWIT2-ON' is not defined
prog.cob: 70: error: 'SWIT26-ON' is not defined
prog.cob: 76: error: 'SWIT32-OFF' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1002"
$at_failed && at_fn_log_failure
$at_traceon; }

# There should be an additional
#prog.cob: 19: error: duplicate definition of 'SWITCH-25'
#prog.cob: 15: error: 'SWITCH-25' previously defined here
#
{ set +x
$as_echo "$at_srcdir/syn_misc.at:1030: \$COMPILE_ONLY -std=acu-strict -fsystem-name=SW1 -fno-relax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict -fsystem-name=SW1 -fno-relax-syntax-checks prog.cob" "syn_misc.at:1030"
( $at_check_trace; $COMPILE_ONLY -std=acu-strict -fsystem-name=SW1 -fno-relax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 33: error: duplicate ON clause
prog.cob: 76: error: 'SWIT32-OFF' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1030"
$at_failed && at_fn_log_failure
$at_traceon; }

# There should be an additional
#prog.cob: 19: error: duplicate definition of 'SWITCH-25'
#prog.cob: 15: error: 'SWITCH-25' previously defined here
#prog.cob: 23: error: duplicate definition of 'SWITCH 25'
#prog.cob: 15: error: 'SWITCH-25' previously defined here
#prog.cob: 27: error: duplicate definition of 'SWITCH Y'
#prog.cob: 15: error: 'SWITCH-25' previously defined here

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_176
#AT_START_177
at_fn_group_banner 177 'syn_misc.at:1045' \
  "unexpected mnemonic-name location" "              " 2
at_xfail=no
(
  $as_echo "177. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.
       ENVIRONMENT    DIVISION.
       CONFIGURATION  SECTION.
       SPECIAL-NAMES.
           stdin IS my-stdin
           .
       PROCEDURE      DIVISION.
           CALL "something" USING stdout
           CALL "something" USING stdin
           CALL "something" USING my-stdin
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1063: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1063"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: invalid mnemonic identifier
prog.cob: 11: error: invalid mnemonic identifier
prog.cob: 12: error: invalid mnemonic identifier
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1063"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_177
#AT_START_178
at_fn_group_banner 178 'syn_misc.at:1072' \
  "wrong device for mnemonic-name" "                 " 2
at_xfail=no
(
  $as_echo "178. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.
       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       77 var          PIC x.
       PROCEDURE       DIVISION.
           ACCEPT  var FROM SYSOUT
           DISPLAY var UPON SYSIN
           ACCEPT  var FROM SYSIN
           DISPLAY var UPON SYSOUT
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1089: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1089"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: 'SYSOUT' is not an input device
prog.cob: 9: error: 'SYSIN' is not an output device
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1089"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_178
#AT_START_179
at_fn_group_banner 179 'syn_misc.at:1097' \
  "missing mnemonic-name declaration" "              " 2
at_xfail=no
(
  $as_echo "179. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.
       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       77 var          PIC x.
       PROCEDURE       DIVISION.
           ACCEPT var FROM mnemonic-name
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1111: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1111"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: unknown device 'mnemonic-name'; not defined in SPECIAL-NAMES
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1111"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_179
#AT_START_180
at_fn_group_banner 180 'syn_misc.at:1118' \
  "unknown device in dialect" "                      " 2
at_xfail=no
(
  $as_echo "180. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.
       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       77 var          PIC x.
       PROCEDURE       DIVISION.
           ACCEPT var  FROM COMMAND-LINE
           DISPLAY var UPON COMMAND-LINE
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1133: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1133"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1133"
$at_failed && at_fn_log_failure
$at_traceon; }


# Checkme: Error currently doesn't occur for UPON_COMMAND_LINE as this is already tokenized
# in scanner.l. We just ignore this for now and maybe fix it later.
#AT_CHECK([$COMPILE_ONLY -fnot-reserved=COMMAND-LINE prog.cob], [1], [],
#[prog.cob: 8: error: unknown device 'COMMAND-LINE'; it may exist in another dialect
#prog.cob: 9: error: unknown device 'COMMAND-LINE'; it may exist in another dialect
#])
{ set +x
$as_echo "$at_srcdir/syn_misc.at:1141: \$COMPILE_ONLY -fnot-reserved=COMMAND-LINE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fnot-reserved=COMMAND-LINE prog.cob" "syn_misc.at:1141"
( $at_check_trace; $COMPILE_ONLY -fnot-reserved=COMMAND-LINE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: unknown device 'COMMAND-LINE'; it may exist in another dialect
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1141"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_180
#AT_START_181
at_fn_group_banner 181 'syn_misc.at:1148' \
  "ACCEPT WITH ( NO ) UPDATE / DEFAULT" "            " 2
at_xfail=no
(
  $as_echo "181. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       PROCEDURE        DIVISION.
           ACCEPT X                 END-ACCEPT.
           ACCEPT X WITH    UPDATE  END-ACCEPT.
           ACCEPT X WITH    DEFAULT END-ACCEPT.
           ACCEPT X WITH NO UPDATE  END-ACCEPT.
           ACCEPT X WITH NO DEFAULT END-ACCEPT.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1168: \$COMPILE_ONLY -faccept-update prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -faccept-update prog.cob" "syn_misc.at:1168"
( $at_check_trace; $COMPILE_ONLY -faccept-update prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1168"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_181
#AT_START_182
at_fn_group_banner 182 'syn_misc.at:1173' \
  "ACCEPT WITH AUTO / TAB" "                         " 2
at_xfail=no
(
  $as_echo "182. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       PROCEDURE        DIVISION.
           ACCEPT X                       END-ACCEPT.
           ACCEPT X WITH    AUTO          END-ACCEPT.
           ACCEPT X WITH    AUTO-SKIP     END-ACCEPT.
           ACCEPT X WITH    AUTOTERMINATE END-ACCEPT.
           ACCEPT X WITH    TAB           END-ACCEPT.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1193: \$COMPILE_ONLY -faccept-auto prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -faccept-auto prog.cob" "syn_misc.at:1193"
( $at_check_trace; $COMPILE_ONLY -faccept-auto prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1193"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_182
#AT_START_183
at_fn_group_banner 183 'syn_misc.at:1198' \
  "ACCEPT WITH SIZE" "                               " 2
at_xfail=no
(
  $as_echo "183. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(05).
       01 Y             PIC 9(04) BINARY VALUE 4.
       PROCEDURE        DIVISION.
           ACCEPT X WITH           SIZE    0 END-ACCEPT.
           ACCEPT X WITH           SIZE IS 1 END-ACCEPT.
           ACCEPT X WITH PROTECTED SIZE    2 END-ACCEPT.
           ACCEPT X WITH PROTECTED SIZE IS 3 END-ACCEPT.
           ACCEPT X WITH           SIZE    Y END-ACCEPT.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1217: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1217"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1217"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_183
#AT_START_184
at_fn_group_banner 184 'syn_misc.at:1222' \
  "DISPLAY WITH SIZE" "                              " 2
at_xfail=no
(
  $as_echo "184. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(05).
       01 Y             PIC 9(04) BINARY VALUE 7.
       PROCEDURE        DIVISION.
           DISPLAY X AT 0101 WITH SIZE    5 END-DISPLAY.
           DISPLAY X AT 0101 WITH SIZE IS 6 END-DISPLAY.
           DISPLAY X AT 0101 WITH SIZE IS Y END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1239: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1239"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1239"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_184
#AT_START_185
at_fn_group_banner 185 'syn_misc.at:1244' \
  "source text after program-text area" "            " 2
at_xfail=no
(
  $as_echo "185. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.                                       COMMENT
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1258: \$COMPILE_ONLY -W prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -W prog.cob" "syn_misc.at:1258"
( $at_check_trace; $COMPILE_ONLY -W prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: source text after program-text area (column 72)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1258"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_185
#AT_START_186
at_fn_group_banner 186 'syn_misc.at:1265' \
  "line overflow in Fixed-form / Free-form" "        " 2
at_xfail=no
(
  $as_echo "186. $at_setup_line: testing $at_desc ..."
  $at_traceon



# We're testing trailing tabs and whitespace (should not lead to warning)
# along with comments after boundaries (col 72 / col 512)

# AT_DATA removes trailing spaces, workaround: add "_" and
# remove it later via sed

cat >prog_tmpl.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.                                           																																																																																																																																		_
       DATA             DIVISION.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  _
       WORKING-STORAGE  SECTION.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   *> This is a real comment
       PROCEDURE        DIVISION.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  This is commentary only
           CONTINUE.                                              *> comment after column 72
      *    This is a very long comment that exceeds column 72 but doesn't exceed 512 bytes, therefore not leading to a line overflow. As it is a comment line there is no "Source text after column 72" warning
           CONTINUE.                                                    CONTINUE.
           CONTINUE.                                                                        _
           STOP RUN.
_ATEOF


# AT_DATA workaround via sed:
{ set +x
$as_echo "$at_srcdir/syn_misc.at:1290: sed -e 's/_\$//' prog_tmpl.cob > prog.cob"
at_fn_check_prepare_dynamic "sed -e 's/_$//' prog_tmpl.cob > prog.cob" "syn_misc.at:1290"
( $at_check_trace; sed -e 's/_$//' prog_tmpl.cob > prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1290"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1292: \$COMPILE_ONLY -fixed -W prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fixed -W prog.cob" "syn_misc.at:1292"
( $at_check_trace; $COMPILE_ONLY -fixed -W prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: source text exceeds 512 bytes, will be truncated
prog.cob: 8: warning: source text exceeds 512 bytes, will be truncated
prog.cob: 11: warning: source text after program-text area (column 72)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1292"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1298: \$COMPILE_ONLY -free -W prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -W prog.cob" "syn_misc.at:1298"
( $at_check_trace; $COMPILE_ONLY -free -W prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: source text exceeds 512 bytes, will be truncated
prog.cob: 8: warning: source text exceeds 512 bytes, will be truncated
prog.cob: 8: error: unknown statement 'This'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1298"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1304: \$COMPILE_ONLY -F -W prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -F -W prog.cob" "syn_misc.at:1304"
( $at_check_trace; $COMPILE_ONLY -F -W prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: source text exceeds 512 bytes, will be truncated
prog.cob: 8: warning: source text exceeds 512 bytes, will be truncated
prog.cob: 8: error: unknown statement 'This'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1304"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_186
#AT_START_187
at_fn_group_banner 187 'syn_misc.at:1313' \
  "continuation Indicator - too many lines" "        " 2
at_xfail=no
(
  $as_echo "187. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    ' ' END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1857: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1857"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 538: error: buffer overrun - too many continuation lines
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1857"
$at_failed && at_fn_log_failure
$at_traceon; }


# extra test with listing as this is an edge case there

{ set +x
$as_echo "$at_srcdir/syn_misc.at:1863: \$COMPILE_ONLY -t prog.lst prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst prog.cob" "syn_misc.at:1863"
( $at_check_trace; $COMPILE_ONLY -t prog.lst prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 538: error: buffer overrun - too many continuation lines
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:1863"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_187
#AT_START_188
at_fn_group_banner 188 'syn_misc.at:1870' \
  "continuation of COBOL words" "                    " 2
at_xfail=no
(
  $as_echo "188. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           GO
      -    BACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:1881: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_misc.at:1881"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: warning: continuation of COBOL words is archaic in COBOL 2014
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1881"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:1884: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:1884"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: warning: continuation of COBOL words used
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:1884"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_188
#AT_START_189
at_fn_group_banner 189 'syn_misc.at:1891' \
  "literal too long" "                               " 2
at_xfail=no
(
  $as_echo "189. $at_setup_line: testing $at_desc ..."
  $at_traceon




cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    '
      -    ' '.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY '    '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           '                                                                                                                                                                                                                                             '-
           ' ' END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2095: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2095"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: invalid literal: '                                   ...'
prog.cob: 9: error: literal length exceeds 8191 characters
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2095"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2100: \$COMPILE_ONLY -fliteral-length=160 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fliteral-length=160 prog.cob" "syn_misc.at:2100"
( $at_check_trace; $COMPILE_ONLY -fliteral-length=160 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: invalid literal: '                                   ...'
prog.cob: 9: error: literal length exceeds 160 characters
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2100"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2105: \$COMPILE_ONLY -free prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free prog2.cob" "syn_misc.at:2105"
( $at_check_trace; $COMPILE_ONLY -free prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 9: error: invalid literal: '                                   ...'
prog2.cob: 9: error: literal length 8299 exceeds 8191 characters
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2105"
$at_failed && at_fn_log_failure
$at_traceon; }


# extra test with listing as this is an edge case there

{ set +x
$as_echo "$at_srcdir/syn_misc.at:2112: \$COMPILE_ONLY -t prog.lst prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst prog.cob" "syn_misc.at:2112"
( $at_check_trace; $COMPILE_ONLY -t prog.lst prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: invalid literal: '                                   ...'
prog.cob: 9: error: literal length exceeds 8191 characters
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2112"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/syn_misc.at:2118: \$COMPILE_ONLY -free -t prog2.lst prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -t prog2.lst prog2.cob" "syn_misc.at:2118"
( $at_check_trace; $COMPILE_ONLY -free -t prog2.lst prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 9: error: invalid literal: '                                   ...'
prog2.cob: 9: error: literal length 8299 exceeds 8191 characters
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2118"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_189
#AT_START_190
at_fn_group_banner 190 'syn_misc.at:2126' \
  "line and floating comments" "                     " 2
at_xfail=no
(
  $as_echo "190. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
      *    DISPLAY 'COMMENT'             END-DISPLAY
      /    DISPLAY 'COMMENTSLASH'        END-DISPLAY
*          DISPLAY 'MFCOMMENTASTERISK'   END-DISPLAY
/          DISPLAY 'MFCOMMENTSLASH'      END-DISPLAY
 *         DISPLAY 'NOMFCOMMENTASTERISK' END-DISPLAY
 /         DISPLAY 'NOMFCOMMENTSLASH'    END-DISPLAY
        *> DISPLAY 'FLOATING'            END-DISPLAY
 *>        DISPLAY 'NOFLOATING'          END-DISPLAY
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
      *    DISPLAY 'COMMENT'             END-DISPLAY
      /    DISPLAY 'COMMENTSLASH'        END-DISPLAY
      $    DISPLAY 'COMMENTDOLLAR'       END-DISPLAY
*          DISPLAY 'MFCOMMENTASTERISK'   END-DISPLAY
/          DISPLAY 'MFCOMMENTSLASH'      END-DISPLAY
 *         DISPLAY 'NOMFCOMMENTASTERISK' END-DISPLAY
 /         DISPLAY 'NOMFCOMMENTSLASH'    END-DISPLAY
        *> DISPLAY 'FLOATING'            END-DISPLAY
        |  DISPLAY 'ACUFLOATING'         END-DISPLAY
 |         DISPLAY 'NOACUFLOATING'       END-DISPLAY
 *>        DISPLAY 'NOFLOATING'          END-DISPLAY
           STOP RUN.
_ATEOF


cat >prog3.cob <<'_ATEOF'

IDENTIFICATION   DIVISION.
PROGRAM-ID.      prog3.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA             DIVISION.
WORKING-STORAGE  SECTION.
PROCEDURE        DIVISION.
      * DISPLAY 'NOCOMMENT'           END-DISPLAY
      / DISPLAY 'NOCOMMENTSLASH'      END-DISPLAY
      $ DISPLAY 'NOCOMMENTDOLLAR'     END-DISPLAY
*       DISPLAY 'NOMFCOMMENTASTERISK' END-DISPLAY
/       DISPLAY 'NOMFCOMMENTSLASH'    END-DISPLAY
 |      DISPLAY 'ACUFLOATING'         END-DISPLAY
 *>     DISPLAY 'FLOATING'            END-DISPLAY
      x DISPLAY 'WRONGINDICATOR'      END-DISPLAY
        STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2189: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:2189"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2189"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2191: ./prog"
at_fn_check_prepare_trace "syn_misc.at:2191"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "MFCOMMENTASTERISK
MFCOMMENTSLASH
NOMFCOMMENTASTERISK
NOMFCOMMENTSLASH
NOFLOATING
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2191"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2199: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:2199"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 11: error: invalid indicator '\$' at column 7
prog2.cob: 17: error: invalid symbol '|' - skipping word
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2199"
$at_failed && at_fn_log_failure
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/syn_misc.at:2205: \$COMPILE -fmfcomment prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fmfcomment prog.cob" "syn_misc.at:2205"
( $at_check_trace; $COMPILE -fmfcomment prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2205"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2208: ./prog"
at_fn_check_prepare_trace "syn_misc.at:2208"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NOMFCOMMENTASTERISK
NOMFCOMMENTSLASH
NOFLOATING
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2208"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2214: \$COMPILE_ONLY -fmfcomment prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fmfcomment prog2.cob" "syn_misc.at:2214"
( $at_check_trace; $COMPILE_ONLY -fmfcomment prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 11: error: invalid indicator '\$' at column 7
prog2.cob: 17: error: invalid symbol '|' - skipping word
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2214"
$at_failed && at_fn_log_failure
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/syn_misc.at:2220: \$COMPILE -facucomment prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -facucomment prog.cob" "syn_misc.at:2220"
( $at_check_trace; $COMPILE -facucomment prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2220"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2222: ./prog"
at_fn_check_prepare_trace "syn_misc.at:2222"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "MFCOMMENTASTERISK
MFCOMMENTSLASH
NOMFCOMMENTASTERISK
NOMFCOMMENTSLASH
NOFLOATING
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2222"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2230: \$COMPILE -facucomment prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE -facucomment prog2.cob" "syn_misc.at:2230"
( $at_check_trace; $COMPILE -facucomment prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2230"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2232: ./prog2"
at_fn_check_prepare_trace "syn_misc.at:2232"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "MFCOMMENTASTERISK
MFCOMMENTSLASH
NOMFCOMMENTASTERISK
NOMFCOMMENTSLASH
NOACUFLOATING
NOFLOATING
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2232"
$at_failed && at_fn_log_failure
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/syn_misc.at:2242: \$COMPILE_ONLY -free prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free prog3.cob" "syn_misc.at:2242"
( $at_check_trace; $COMPILE_ONLY -free prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 11: warning: spurious '\$' detected - ignored
prog3.cob: 9: error: syntax error, unexpected *
prog3.cob: 10: error: syntax error, unexpected /
prog3.cob: 12: error: syntax error, unexpected *
prog3.cob: 13: error: syntax error, unexpected /
prog3.cob: 14: error: invalid symbol '|' - skipping word
prog3.cob: 16: error: syntax error, unexpected Identifier
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2242"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:2251: \$COMPILE_ONLY -free -fmfcomment prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fmfcomment prog3.cob" "syn_misc.at:2251"
( $at_check_trace; $COMPILE_ONLY -free -fmfcomment prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 11: warning: spurious '\$' detected - ignored
prog3.cob: 9: error: syntax error, unexpected *
prog3.cob: 10: error: syntax error, unexpected /
prog3.cob: 12: error: syntax error, unexpected *
prog3.cob: 13: error: syntax error, unexpected /
prog3.cob: 14: error: invalid symbol '|' - skipping word
prog3.cob: 16: error: syntax error, unexpected Identifier
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2251"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:2260: \$COMPILE_ONLY -free -facucomment prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -facucomment prog3.cob" "syn_misc.at:2260"
( $at_check_trace; $COMPILE_ONLY -free -facucomment prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 11: warning: spurious '\$' detected - ignored
prog3.cob: 9: error: syntax error, unexpected *
prog3.cob: 10: error: syntax error, unexpected /
prog3.cob: 12: error: syntax error, unexpected *
prog3.cob: 13: error: syntax error, unexpected /
prog3.cob: 16: error: syntax error, unexpected Identifier
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2260"
$at_failed && at_fn_log_failure
$at_traceon; }

# Check that invalid indicator and doesn't abort preprocessing
# and that errors in preprocessing doesn't abort compilation
{ set +x
$as_echo "$at_srcdir/syn_misc.at:2270: \$COMPILE_ONLY prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_misc.at:2270"
( $at_check_trace; $COMPILE_ONLY prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 2: error: invalid indicator 'F' at column 7
prog3.cob: 3: error: invalid indicator 'M' at column 7
prog3.cob: 4: error: invalid indicator 'N' at column 7
prog3.cob: 5: error: invalid indicator 'U' at column 7
prog3.cob: 7: error: invalid indicator 'G' at column 7
prog3.cob: 8: error: invalid indicator 'U' at column 7
prog3.cob: 11: error: invalid indicator '\$' at column 7
prog3.cob: 16: error: invalid indicator 'x' at column 7
prog3.cob: 6: error: PROGRAM-ID header missing
prog3.cob: 6: error: PROCEDURE DIVISION header missing
prog3.cob: 6: error: syntax error, unexpected DIVISION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2270"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_190
#AT_START_191
at_fn_group_banner 191 'syn_misc.at:2287' \
  "word length" "                                    " 2
at_xfail=no
(
  $as_echo "191. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  FILLER        PIC 9(01) VALUE 0.
           88 SOME-SPECIAL-VAL-WITH-LENGTH30    VALUE 0.
           88 SOME-SPECIAL-VAL-WITH-LENGTH-31   VALUE 1.
           88 SOME-SPECIAL-VAL-WITH-LENGTH-32C  VALUE 1.
           88 SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES      VALUE 3.
           88 SOME-SPECIAL-VAL-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE VALUE 4.
       PROCEDURE        DIVISION.
       SOME-SPECIAL-PAR-WITH-LENGTH30.
           SET  SOME-SPECIAL-VAL-WITH-LENGTH30   TO TRUE.
       SOME-SPECIAL-PAR-WITH-LENGTH-31.
           SET  SOME-SPECIAL-VAL-WITH-LENGTH-31  TO TRUE.
       SOME-SPECIAL-PAR-WITH-LENGTH-32C.
           SET  SOME-SPECIAL-VAL-WITH-LENGTH-32C TO TRUE.
       SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES.
           SET  SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES TO TRUE.
       SOME-SPECIAL-PAR-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE.
           SET  SOME-SPECIAL-VAL-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE TO TRUE.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  FILLER        PIC 9(01) VALUE 0.
           88 SOME-SPECIAL-VAL-WITH-LENGTH30    VALUE 0.
           88 SOME-SPECIAL-VAL-WITH-LENGTH-31   VALUE 1.
           88 SOME-SPECIAL-VAL-WITH-LENGTH-32C  VALUE 1.
           88 SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES      VALUE 3.
       PROCEDURE        DIVISION.
       SOME-SPECIAL-PAR-WITH-LENGTH30.
           SET  SOME-SPECIAL-VAL-WITH-LENGTH30   TO TRUE.
       SOME-SPECIAL-PAR-WITH-LENGTH-31.
           SET  SOME-SPECIAL-VAL-WITH-LENGTH-31  TO TRUE.
       SOME-SPECIAL-PAR-WITH-LENGTH-32C.
           SET  SOME-SPECIAL-VAL-WITH-LENGTH-32C TO TRUE.
       SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES.
           SET  SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES TO TRUE.
           STOP RUN.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77 COUNTER       PIC 9 VALUE 0.
       PROCEDURE        DIVISION.

       00000000000000000000000000000000000000000000000000000000000
       SECTION.
       000000000000000000000000000000000000000000000000000000000000.
           ADD 1 TO COUNTER END-ADD
           EVALUATE COUNTER
           WHEN 1
           PERFORM
           00000000000000000000000000000000000000000000000000000000000
           WHEN 2
           PERFORM
           000000000000000000000000000000000000000000000000000000000000
           WHEN 3
           MOVE 0 TO COUNTER
           END-EVALUATE.

       100000000000000000000000000000000000000000000000000000000001
       SECTION.
       20000000000000000000000000000000000000000000000000000000002.
           ADD 1 TO COUNTER END-ADD
           EVALUATE COUNTER
           WHEN 1
           PERFORM
           100000000000000000000000000000000000000000000000000000000001
           WHEN 2
           PERFORM
           20000000000000000000000000000000000000000000000000000000002
           WHEN 3
           MOVE 0 TO COUNTER
           END-EVALUATE.

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2382: \$COMPILE_ONLY -free -fword-length=31 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=31 prog.cob" "syn_misc.at:2382"
( $at_check_trace; $COMPILE_ONLY -free -fword-length=31 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: error: word length exceeds 31 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-32C'
prog.cob: 12: error: word length exceeds 31 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog.cob: 13: error: word length exceeds maximum of 61 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE'
prog.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-31':
prog.cob: 19: error: word length exceeds 31 characters: 'SOME-SPECIAL-PAR-WITH-LENGTH-32C'
prog.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-32C':
prog.cob: 20: error: word length exceeds 31 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-32C'
prog.cob: 21: error: word length exceeds 31 characters: 'SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES':
prog.cob: 22: error: word length exceeds 31 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog.cob: 23: error: word length exceeds maximum of 61 characters: 'SOME-SPECIAL-PAR-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE'
prog.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE':
prog.cob: 24: error: word length exceeds maximum of 61 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2382"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2398: \$COMPILE_ONLY -free -fword-length=45 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=45 prog.cob" "syn_misc.at:2398"
( $at_check_trace; $COMPILE_ONLY -free -fword-length=45 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: error: word length exceeds 45 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog.cob: 13: error: word length exceeds maximum of 61 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE'
prog.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-32C':
prog.cob: 21: error: word length exceeds 45 characters: 'SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES':
prog.cob: 22: error: word length exceeds 45 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog.cob: 23: error: word length exceeds maximum of 61 characters: 'SOME-SPECIAL-PAR-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE'
prog.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE':
prog.cob: 24: error: word length exceeds maximum of 61 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2398"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2410: \$COMPILE_ONLY -free -fword-length=60 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=60 prog.cob" "syn_misc.at:2410"
( $at_check_trace; $COMPILE_ONLY -free -fword-length=60 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: error: word length exceeds maximum of 61 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE'
prog.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES':
prog.cob: 23: error: word length exceeds maximum of 61 characters: 'SOME-SPECIAL-PAR-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE'
prog.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE':
prog.cob: 24: error: word length exceeds maximum of 61 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-90-CHARS-WHO-NEEDS-THAT-LONG-NAMES-I-CANNOT-THINK-OF-SOMEONE'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2410"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2418: \$COMPILE_ONLY -free -fword-length=45 -frelax-syntax-checks prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=45 -frelax-syntax-checks prog2.cob" "syn_misc.at:2418"
( $at_check_trace; $COMPILE_ONLY -free -fword-length=45 -frelax-syntax-checks prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 12: warning: word length exceeds 45 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog2.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-32C':
prog2.cob: 20: warning: word length exceeds 45 characters: 'SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog2.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES':
prog2.cob: 21: warning: word length exceeds 45 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2418"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2426: \$COMPILE_ONLY -free -fword-length=60 prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=60 prog2.cob" "syn_misc.at:2426"
( $at_check_trace; $COMPILE_ONLY -free -fword-length=60 prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2426"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2428: \$COMPILE_ONLY -free -fword-length=31 -frelax-syntax-checks prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -free -fword-length=31 -frelax-syntax-checks prog2.cob" "syn_misc.at:2428"
( $at_check_trace; $COMPILE_ONLY -free -fword-length=31 -frelax-syntax-checks prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 11: warning: word length exceeds 31 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-32C'
prog2.cob: 12: warning: word length exceeds 31 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog2.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-31':
prog2.cob: 18: warning: word length exceeds 31 characters: 'SOME-SPECIAL-PAR-WITH-LENGTH-32C'
prog2.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-32C':
prog2.cob: 19: warning: word length exceeds 31 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-32C'
prog2.cob: 20: warning: word length exceeds 31 characters: 'SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
prog2.cob: in paragraph 'SOME-SPECIAL-PAR-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES':
prog2.cob: 21: warning: word length exceeds 31 characters: 'SOME-SPECIAL-VAL-WITH-LENGTH-58C-WHO-NEEDS-THAT-LONG-NAMES'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2428"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2440: \$COMPILE_ONLY -fword-length=59 prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fword-length=59 prog3.cob" "syn_misc.at:2440"
( $at_check_trace; $COMPILE_ONLY -fword-length=59 prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: in section '00000000000000000000000000000000000000000000000000000000000':
prog3.cob: 11: error: word length exceeds 59 characters: '000000000000000000000000000000000000000000000000000000000000'
prog3.cob: in paragraph '000000000000000000000000000000000000000000000000000000000000':
prog3.cob: 25: error: word length exceeds 59 characters: '100000000000000000000000000000000000000000000000000000000001'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2440"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_191
#AT_START_192
at_fn_group_banner 192 'syn_misc.at:2450' \
  "Numeric literals" "                               " 2
at_xfail=no
(
  $as_echo "192. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77 COUNTER       PIC 9 VALUE 0.
       PROCEDURE        DIVISION.

      *> No literals at all
       00000000000000000000000000000000000000000000000000000000000
       SECTION.
       000000000000000000000000000000000000000000000000000000000000.
           ADD 1 TO COUNTER END-ADD
           EVALUATE COUNTER
           WHEN 1
           PERFORM
           00000000000000000000000000000000000000000000000000000000000
           WHEN 2
           PERFORM
           000000000000000000000000000000000000000000000000000000000000
           WHEN 3
           MOVE 0 TO COUNTER
           END-EVALUATE.

       100000000000000000000000000000000000000000000000000000000001
       SECTION.
       20000000000000000000000000000000000000000000000000000000002.
           ADD 1 TO COUNTER END-ADD
           EVALUATE COUNTER
           WHEN 1
           PERFORM
           100000000000000000000000000000000000000000000000000000000001
           WHEN 2
           PERFORM
           20000000000000000000000000000000000000000000000000000000002
           WHEN 3
           MOVE 0 TO COUNTER
           END-EVALUATE.

           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
       PROCEDURE        DIVISION.

           *> Valid literals, depending on numeric literal size
           DISPLAY 1.0076, +100000.03, +1.0, -0078,
               +.1234567890123456789012345678901234
               .123456789012345678901234567890123450
           END-DISPLAY

           *> Invalid literals
           DISPLAY 1.03.0     END-DISPLAY
           DISPLAY --123      END-DISPLAY
           DISPLAY -123-      END-DISPLAY
           DISPLAY -123-456   END-DISPLAY
           DISPLAY -123-4.56  END-DISPLAY
           DISPLAY -12.3-456  END-DISPLAY
           DISPLAY -12.3-4.56 END-DISPLAY
           DISPLAY 1000003+   END-DISPLAY
           DISPLAY 1.000003+  END-DISPLAY
           DISPLAY .3+        END-DISPLAY
           DISPLAY 3.+        END-DISPLAY

           STOP RUN.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
       PROCEDURE        DIVISION.

           *> Valid literals, depending on numeric literal size
           DISPLAY 1,0076, +100000,03, +1,0, -0078,
               +,1234567890123456789012345678901234
               ,123456789012345678901234567890123450
           END-DISPLAY

           *> Invalid literals
           DISPLAY 1,03,0     END-DISPLAY
           DISPLAY --123      END-DISPLAY
           DISPLAY -123-      END-DISPLAY
           DISPLAY -123-456   END-DISPLAY
           DISPLAY -123-4,56  END-DISPLAY
           DISPLAY -12,3-456  END-DISPLAY
           DISPLAY -12,3-4,56 END-DISPLAY
           DISPLAY 1000003+   END-DISPLAY
           DISPLAY 1,000003+  END-DISPLAY
           DISPLAY ,3+        END-DISPLAY
           DISPLAY 3,+        END-DISPLAY

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2555: \$COMPILE_ONLY -fliteral-length=1 -fnumeric-literal-length=1 -fword-length=60 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fliteral-length=1 -fnumeric-literal-length=1 -fword-length=60 prog.cob" "syn_misc.at:2555"
( $at_check_trace; $COMPILE_ONLY -fliteral-length=1 -fnumeric-literal-length=1 -fword-length=60 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2555"
$at_failed && at_fn_log_failure
$at_traceon; }


# result with extended scanner for wrong numeric literals:
#AT_CHECK([$COMPILE_ONLY prog2.cob], [1], [],
#[prog2.cob: 16: error: invalid numeric literal: '1.03.0'
#prog2.cob: 16: error: literal with more than one decimal point
#prog2.cob: 17: error: invalid numeric literal: '--123'
#prog2.cob: 17: error: literal with more than one sign character
#prog2.cob: 18: error: invalid numeric literal: '-123-'
#prog2.cob: 18: error: literal with more than one sign character
#prog2.cob: 19: error: invalid numeric literal: '-123-456'
#prog2.cob: 19: error: literal with more than one sign character
#prog2.cob: 20: error: invalid numeric literal: '-123-4.56'
#prog2.cob: 20: error: literal with more than one sign character
#prog2.cob: 21: error: invalid numeric literal: '-12.3-456'
#prog2.cob: 21: error: literal with more than one sign character
#prog2.cob: 22: error: invalid numeric literal: '-12.3-4.56'
#prog2.cob: 22: error: literal with more than one sign character
#prog2.cob: 22: error: literal with more than one decimal point
#prog2.cob: 23: error: invalid numeric literal: '1000003+'
#prog2.cob: 23: error: sign must appear as leftmost character
#prog2.cob: 24: error: invalid numeric literal: '1.000003+'
#prog2.cob: 24: error: sign must appear as leftmost character
#prog2.cob: 25: error: invalid numeric literal: '.3+'
#prog2.cob: 25: error: sign must appear as leftmost character
#prog2.cob: 26: error: invalid numeric literal: '3.+'
#prog2.cob: 26: error: sign must appear as leftmost character
#])
#AT_CHECK([$COMPILE_ONLY prog3.cob], [1], [],
#[prog3.cob: 16: error: invalid numeric literal: '1,03,0'
#prog3.cob: 16: error: literal with more than one decimal point
#prog3.cob: 17: error: invalid numeric literal: '--123'
#prog3.cob: 17: error: literal with more than one sign character
#prog3.cob: 18: error: invalid numeric literal: '-123-'
#prog3.cob: 18: error: literal with more than one sign character
#prog3.cob: 19: error: invalid numeric literal: '-123-456'
#prog3.cob: 19: error: literal with more than one sign character
#prog3.cob: 20: error: invalid numeric literal: '-123-4,56'
#prog3.cob: 20: error: literal with more than one sign character
#prog3.cob: 21: error: invalid numeric literal: '-12,3-456'
#prog3.cob: 21: error: literal with more than one sign character
#prog3.cob: 22: error: invalid numeric literal: '-12,3-4,56'
#prog3.cob: 22: error: literal with more than one sign character
#prog3.cob: 22: error: literal with more than one decimal point
#prog3.cob: 23: error: invalid numeric literal: '1000003+'
#prog3.cob: 23: error: sign must appear as leftmost character
#prog3.cob: 24: error: invalid numeric literal: '1,000003+'
#prog3.cob: 24: error: sign must appear as leftmost character
#prog3.cob: 25: error: invalid numeric literal: ',3+'
#prog3.cob: 25: error: sign must appear as leftmost character
#prog3.cob: 26: error: invalid numeric literal: '3,+'
#prog3.cob: 26: error: sign must appear as leftmost character
#])

{ set +x
$as_echo "$at_srcdir/syn_misc.at:2609: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:2609"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 17: error: syntax error, unexpected -
prog2.cob: 18: error: syntax error, unexpected -
prog2.cob: 23: error: syntax error, unexpected +
prog2.cob: 24: error: syntax error, unexpected +
prog2.cob: 25: error: syntax error, unexpected +
prog2.cob: 26: error: syntax error, unexpected +
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2609"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:2617: \$COMPILE_ONLY prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_misc.at:2617"
( $at_check_trace; $COMPILE_ONLY prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog3.cob: 17: error: syntax error, unexpected -
prog3.cob: 18: error: syntax error, unexpected -
prog3.cob: 23: error: syntax error, unexpected +
prog3.cob: 24: error: syntax error, unexpected +
prog3.cob: 25: error: syntax error, unexpected +
prog3.cob: 26: error: syntax error, unexpected +
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2617"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_192
#AT_START_193
at_fn_group_banner 193 'syn_misc.at:2629' \
  "floating-point literals" "                        " 2
at_xfail=no
(
  $as_echo "193. $at_setup_line: testing $at_desc ..."
  $at_traceon

# Refer to Section 8.3.1.2.2.2 of the COBOL 2010 FCD.


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           *> Valid literals
           DISPLAY 1.0E76, +1.0E+3, +1.0E-0078,
               +.1234567890123456789012345678901234E+0000
           END-DISPLAY

           *> invalid literals
           DISPLAY 1.0D3 END-DISPLAY
           DISPLAY 1E3 END-DISPLAY
           DISPLAY '1.0E3'BLAH END-DISPLAY
           DISPLAY 1.0E3.0 END-DISPLAY
           DISPLAY -0.0E-0 END-DISPLAY
           DISPLAY 1.0E00003 END-DISPLAY
           DISPLAY .12345678901234567890123456789012345E0 END-DISPLAY
           DISPLAY 0.0E3 END-DISPLAY

           *> Implementor-defined invalid literals
           DISPLAY 1.0E77 END-DISPLAY
           DISPLAY 1.0E-79 END-DISPLAY

           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
            DECIMAL-POINT IS COMMA.
       PROCEDURE        DIVISION.
           *> Valid literals
           DISPLAY 1,0E76; +1,0E+3; +1,0E-0078;
               +,1234567890123456789012345678901234E+0000
           END-DISPLAY

           *> invalid literals
           DISPLAY 1,0D3 END-DISPLAY
           DISPLAY 1E3 END-DISPLAY
           DISPLAY 1,0E3BLAH END-DISPLAY
           DISPLAY 1,0E3,0 END-DISPLAY
           DISPLAY -0,0E-0 END-DISPLAY
           DISPLAY 1,0E00003 END-DISPLAY
           DISPLAY ,12345678901234567890123456789012345E0 END-DISPLAY
           DISPLAY 0,0E3 END-DISPLAY

           *> Implementor-defined invalid literals
           DISPLAY 1,0E77 END-DISPLAY
           DISPLAY 1,0E-79 END-DISPLAY

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2689: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2689"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: error: 'D3' is not defined
prog.cob: 12: error: '1E3' is not defined
prog.cob: 13: error: 'BLAH' is not defined
prog.cob: 14: error: invalid floating-point literal: '1.0E3.0'
prog.cob: 14: error: exponent has decimal point
prog.cob: 15: error: invalid floating-point literal: '-0.0E-0'
prog.cob: 15: error: significand of 0 must be positive
prog.cob: 15: error: exponent of 0 must be positive
prog.cob: 16: error: invalid floating-point literal: '1.0E00003'
prog.cob: 16: error: exponent has more than 4 digits
prog.cob: 17: error: invalid floating-point literal: '.12345678901234567890123456789012345E0'
prog.cob: 17: error: significand has more than 34 digits
prog.cob: 18: error: invalid floating-point literal: '0.0E3'
prog.cob: 18: error: exponent of 0 must be 0
prog.cob: 21: error: invalid floating-point literal: '1.0E77'
prog.cob: 21: error: exponent not between -78 and 76
prog.cob: 22: error: invalid floating-point literal: '1.0E-79'
prog.cob: 22: error: exponent not between -78 and 76
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2689"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2710: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_misc.at:2710"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 15: error: 'D3' is not defined
prog2.cob: 16: error: '1E3' is not defined
prog2.cob: 17: error: 'BLAH' is not defined
prog2.cob: 18: error: invalid floating-point literal: '1,0E3,0'
prog2.cob: 18: error: exponent has decimal point
prog2.cob: 19: error: invalid floating-point literal: '-0,0E-0'
prog2.cob: 19: error: significand of 0 must be positive
prog2.cob: 19: error: exponent of 0 must be positive
prog2.cob: 20: error: invalid floating-point literal: '1,0E00003'
prog2.cob: 20: error: exponent has more than 4 digits
prog2.cob: 21: error: invalid floating-point literal: ',12345678901234567890123456789012345E0'
prog2.cob: 21: error: significand has more than 34 digits
prog2.cob: 22: error: invalid floating-point literal: '0,0E3'
prog2.cob: 22: error: exponent of 0 must be 0
prog2.cob: 25: error: invalid floating-point literal: '1,0E77'
prog2.cob: 25: error: exponent not between -78 and 76
prog2.cob: 26: error: invalid floating-point literal: '1,0E-79'
prog2.cob: 26: error: exponent not between -78 and 76
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2710"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_193
#AT_START_194
at_fn_group_banner 194 'syn_misc.at:2734' \
  "X literals" "                                     " 2
at_xfail=no
(
  $as_echo "194. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.
       PROCEDURE      DIVISION.
           *> Valid form
           DISPLAY X"0123456789ABCDEF"

           *> invalid form
           DISPLAY X"GH"
                   X"1"
           END-DISPLAY.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2750: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2750"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: invalid X literal: 'GH'
prog.cob: 9: error: literal contains invalid character 'G'
prog.cob: 9: error: literal contains invalid character 'H'
prog.cob: 10: error: invalid X literal: '1'
prog.cob: 10: error: literal does not have an even number of digits
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2750"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_194
#AT_START_195
at_fn_group_banner 195 'syn_misc.at:2761' \
  "national literals" "                              " 2
at_xfail=no
(
  $as_echo "195. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.
       PROCEDURE      DIVISION.
           DISPLAY N"UTF-16 string".
           DISPLAY N'0123456789ABCDEF'.
           DISPLAY N"0123456789ABCDEF"-
                   N"0123456789ABCDEF".
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2774: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2774"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: warning: handling of national literal is unfinished; implementation is likely to be changed
prog.cob: 6: warning: handling of national literal is unfinished; implementation is likely to be changed
prog.cob: 7: warning: handling of national literal is unfinished; implementation is likely to be changed
prog.cob: 8: warning: handling of national literal is unfinished; implementation is likely to be changed
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:2774"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2781: \$COMPILE_ONLY -std=cobol85 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:2781"
( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: error: national literal does not conform to COBOL 85
prog.cob: 6: error: national literal does not conform to COBOL 85
prog.cob: 7: error: national literal does not conform to COBOL 85
prog.cob: 8: error: national literal does not conform to COBOL 85
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2781"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_195
#AT_START_196
at_fn_group_banner 196 'syn_misc.at:2791' \
  "NX literals" "                                    " 2
at_xfail=no
(
  $as_echo "196. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.
       PROCEDURE      DIVISION.
           *> Valid form
           DISPLAY NX"265E"
           DISPLAY NX"0123456789ABCDEF"

           *> invalid form
           DISPLAY NX"GH"
                   NX"1".
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2807: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2807"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: warning: handling of national literal is unfinished; implementation is likely to be changed
prog.cob: 7: warning: handling of national literal is unfinished; implementation is likely to be changed
prog.cob: 10: warning: handling of national literal is unfinished; implementation is likely to be changed
prog.cob: 10: error: invalid NX literal: 'GH'
prog.cob: 10: error: literal contains invalid character 'G'
prog.cob: 10: error: literal contains invalid character 'H'
prog.cob: 11: warning: handling of national literal is unfinished; implementation is likely to be changed
prog.cob: 11: error: invalid NX literal: '1'
prog.cob: 11: error: literal does not have an even number of digits
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2807"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2819: \$COMPILE_ONLY -std=cobol85 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:2819"
( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: hexadecimal-national literal does not conform to COBOL 85
prog.cob: 7: error: hexadecimal-national literal does not conform to COBOL 85
prog.cob: 10: error: hexadecimal-national literal does not conform to COBOL 85
prog.cob: 11: error: hexadecimal-national literal does not conform to COBOL 85
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2819"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_196
#AT_START_197
at_fn_group_banner 197 'syn_misc.at:2829' \
  "binary literals" "                                " 2
at_xfail=no
(
  $as_echo "197. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           DISPLAY B"101010"
           DISPLAY B"111111111111111111111111111111111111111111111111111
      -             "1111111111111" *> " Syntax highlighting hack

           DISPLAY B"23"
           DISPLAY B"111111111111111111111111111111111111111111111111111
      -             "111111111111111111111111111111111111111111111111111
      -             "11111111111111111111111111111111111111111111111111"
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2847: \$COMPILE_ONLY -std=mf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=mf prog.cob" "syn_misc.at:2847"
( $at_check_trace; $COMPILE_ONLY -std=mf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: invalid B literal: '23'
prog.cob: 9: error: literal contains invalid character '2'
prog.cob: 9: error: literal contains invalid character '3'
prog.cob: 10: error: invalid B literal: '11111111111111111111111111111111111...'
prog.cob: 10: error: literal length 152 exceeds 64 characters
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2847"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2855: \$COMPILE_ONLY -std=cobol85 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:2855"
( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: error: numeric boolean literal does not conform to COBOL 85
prog.cob: 6: error: numeric boolean literal does not conform to COBOL 85
prog.cob: 9: error: numeric boolean literal does not conform to COBOL 85
prog.cob: 10: error: numeric boolean literal does not conform to COBOL 85
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2855"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_197
#AT_START_198
at_fn_group_banner 198 'syn_misc.at:2865' \
  "binary-hexadecimal literals" "                    " 2
at_xfail=no
(
  $as_echo "198. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           DISPLAY BX"AB05CD0F"
           DISPLAY        BX"0123456789ABCDEF0123456789ABCDEF0123456789A
      -              "BCDEF" *> " Syntax highlighting hack

           DISPLAY BX"A"
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2880: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2880"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: invalid BX literal: '0123456789ABCDEF0123456789ABCDEF012...'
prog.cob: 6: error: literal length 192 exceeds 64 characters
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2880"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2885: \$COMPILE_ONLY -std=cobol85 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:2885"
( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: error: hexadecimal-boolean literal does not conform to COBOL 85
prog.cob: 6: error: hexadecimal-boolean literal does not conform to COBOL 85
prog.cob: 9: error: hexadecimal-boolean literal does not conform to COBOL 85
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2885"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_198
#AT_START_199
at_fn_group_banner 199 'syn_misc.at:2894' \
  "ACUCOBOL literals" "                              " 2
at_xfail=no
(
  $as_echo "199. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           *> Valid forms
           DISPLAY B#10 O#12345670123 X#12345678 H#90aBcDeF
           END-DISPLAY

           *> invalid forms
       >>SOURCE FREE
           DISPLAY B#11111111111111111111111111111111111111111111111111111111111111111
               O#11111111111111111111111 X#11111111111111111 H#22222222222222222
       >>SOURCE FIXED
           DISPLAY B#23 O#89 X#GG H#HH

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2915: \$COMPILE_ONLY -std=acu prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu prog.cob" "syn_misc.at:2915"
( $at_check_trace; $COMPILE_ONLY -std=acu prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: error: invalid B# literal: '11111111111111111111111111111111111...'
prog.cob: 11: error: literal length 65 exceeds 64 characters
prog.cob: 12: error: invalid O# literal: '11111111111111111111111'
prog.cob: 12: error: literal length 23 exceeds 22 characters
prog.cob: 12: error: invalid hexadecimal literal: '11111111111111111'
prog.cob: 12: error: literal length 17 exceeds 16 characters
prog.cob: 12: error: invalid hexadecimal literal: '22222222222222222'
prog.cob: 12: error: literal length 17 exceeds 16 characters
prog.cob: 14: error: invalid B# literal: '23'
prog.cob: 14: error: literal contains invalid character '2'
prog.cob: 14: error: literal contains invalid character '3'
prog.cob: 14: error: invalid O# literal: '89'
prog.cob: 14: error: literal contains invalid character '8'
prog.cob: 14: error: literal contains invalid character '9'
prog.cob: 14: error: invalid X# literal: 'GG'
prog.cob: 14: error: literal contains invalid character 'G'
prog.cob: 14: error: literal contains invalid character 'G'
prog.cob: 14: error: invalid H# literal: 'HH'
prog.cob: 14: error: literal contains invalid character 'H'
prog.cob: 14: error: literal contains invalid character 'H'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2915"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2938: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_misc.at:2938"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 6: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 6: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 6: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 11: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 12: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 12: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 12: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 14: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 14: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 14: error: ACUCOBOL numeric literal does not conform to COBOL 2014
prog.cob: 14: error: ACUCOBOL numeric literal does not conform to COBOL 2014
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2938"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_199
#AT_START_200
at_fn_group_banner 200 'syn_misc.at:2956' \
  "Segmentation Module" "                            " 2
at_xfail=no
(
  $as_echo "200. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       PROCEDURE        DIVISION.

       DECLARATIVES.

       DEC-1 SECTION 49.
           CONTINUE.

       DEC-2 SECTION 50.
           CONTINUE.

       END DECLARATIVES.

       SEC-1 SECTION 00.
           CONTINUE.

       SEC-2 SECTION 01.
           CONTINUE.

       SEC-3 SECTION -00.
           CONTINUE.

       SEC-4 SECTION 100.
           CONTINUE.

       SEC-5 SECTION 49.
           CONTINUE.

       SEC-6 SECTION 50.
           PERFORM SEC-1.

       SEC-7 SECTION 99.
           PERFORM SEC-1.

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:2999: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:2999"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in section 'DEC-1':
prog.cob: 9: warning: SECTION segment ignored
prog.cob: in section 'DEC-2':
prog.cob: 12: warning: SECTION segment ignored
prog.cob: in section 'SEC-1':
prog.cob: 17: warning: SECTION segment ignored
prog.cob: in section 'SEC-2':
prog.cob: 20: warning: SECTION segment ignored
prog.cob: in section 'SEC-3':
prog.cob: 23: error: non-negative integer value expected
prog.cob: 23: warning: SECTION segment ignored
prog.cob: in section 'SEC-4':
prog.cob: 26: warning: SECTION segment ignored
prog.cob: in section 'SEC-5':
prog.cob: 29: warning: SECTION segment ignored
prog.cob: in section 'SEC-6':
prog.cob: 32: warning: SECTION segment ignored
prog.cob: in section 'SEC-7':
prog.cob: 35: warning: SECTION segment ignored
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:2999"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3020: \$COMPILE_ONLY -std=cobol85 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:3020"
( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in section 'DEC-1':
prog.cob: 9: warning: SECTION segment is obsolete in COBOL 85
prog.cob: 9: warning: SECTION segment within DECLARATIVES is not implemented
prog.cob: in section 'DEC-2':
prog.cob: 12: warning: SECTION segment is obsolete in COBOL 85
prog.cob: 12: error: SECTION segment-number in DECLARATIVES must be less than 50
prog.cob: 12: warning: SECTION segment within DECLARATIVES is not implemented
prog.cob: in section 'SEC-1':
prog.cob: 17: warning: SECTION segment is obsolete in COBOL 85
prog.cob: in section 'SEC-2':
prog.cob: 20: warning: SECTION segment is obsolete in COBOL 85
prog.cob: in section 'SEC-3':
prog.cob: 23: error: non-negative integer value expected
prog.cob: 23: warning: SECTION segment is obsolete in COBOL 85
prog.cob: in section 'SEC-4':
prog.cob: 26: warning: SECTION segment is obsolete in COBOL 85
prog.cob: 26: error: SECTION segment-number must be less than or equal to 99
prog.cob: in section 'SEC-5':
prog.cob: 29: warning: SECTION segment is obsolete in COBOL 85
prog.cob: in section 'SEC-6':
prog.cob: 32: warning: SECTION segment is obsolete in COBOL 85
prog.cob: in section 'SEC-7':
prog.cob: 35: warning: SECTION segment is obsolete in COBOL 85
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3020"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_200
#AT_START_201
at_fn_group_banner 201 'syn_misc.at:3048' \
  "ACUCOBOL 32bit literal size" "                    " 2
at_xfail=no
(
  $as_echo "201. $at_setup_line: testing $at_desc ..."
  $at_traceon

# ACUCOBOL literal max - the result is system dependent on size of unsigned long int
$as_echo "syn_misc.at:3050" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/syn_misc.at:3050"



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.

       >>SOURCE FREE
           DISPLAY B#1111111111111111111111111111111111111111111111111111111111111111
               O#1111111111111111111111 X#1111111111111111

           STOP RUN.
_ATEOF


#AT_CHECK([$COMPILE -std=acu prog.cob], [0], [], [])
# TODO check the result according to COB_32_BIT_LONG --> 1 should result in the following
{ set +x
$as_echo "$at_srcdir/syn_misc.at:3068: \$COMPILE -std=acu prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=acu prog.cob" "syn_misc.at:3068"
( $at_check_trace; $COMPILE -std=acu prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: invalid B# literal: '11111111111111111111111111111111111...'
prog.cob: 7: error: literal exceeds limit 4294967295
prog.cob: 8: error: invalid O# literal: '1111111111111111111111'
prog.cob: 8: error: literal exceeds limit 4294967295
prog.cob: 8: error: invalid X# literal: '1111111111111111'
prog.cob: 8: error: literal exceeds limit 4294967295
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3068"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_201
#AT_START_202
at_fn_group_banner 202 'syn_misc.at:3079' \
  "ACUCOBOL USAGE HANDLE" "                          " 2
at_xfail=no
(
  $as_echo "202. $at_setup_line: testing $at_desc ..."
  $at_traceon



# TODO: need a better test here
# TODO: maybe add a compiler support configuration to provide better messages

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       78  listdir-open  value 1.
       78  listdir-next  value 2.
       78  listdir-close value 3.
       77  pattern       pic x(5) value "*.cob".
       77  directory     pic x(5) value ".".
       77  filename      pic x(256).
       77  mydir         usage handle.
       77  mythread      usage handle of thread.
       77  mywindow      usage handle of window.
       PROCEDURE DIVISION.
       MAIN.
      * Call LISTDIR-OPEN to get a directory handle.
           call "C$LIST-DIRECTORY"
              using listdir-open, directory, pattern.
           move return-code to mydir.
      * Call LISTDIR-NEXT to get the names of the files.
      * Repeat this operation until a filename containing only
      * spaces is returned.  The filenames are not necessarily
      * returned in any particular order.  Filenames may be
      * sorted on some machines and not on others.
           perform thread with test after until filename = spaces
             handle in mywindow
              call "C$LIST-DIRECTORY"
                 using listdir-next, mydir, filename
           end-perform.
           stop thread mywindow
      * Call LISTDIR-CLOSE to close the directory and deallocate
      * memory. Omitting this call will result in memory leaks.
           call "C$LIST-DIRECTORY" using listdir-close, mydir.
      *
           CALL IN THREAD 'NOTHERE'
                HANDLE IN mywindow
                USING  'STUFF'
              NOT ON EXCEPTION  DISPLAY 'called in THREAD'
           END-CALL
      *
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3129: \$COMPILE_ONLY -std=acu-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_misc.at:3129"
( $at_check_trace; $COMPILE_ONLY -std=acu-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in paragraph 'MAIN':
prog.cob: 26: warning: THREAD is not implemented
prog.cob: 28: warning: THREAD is not implemented
prog.cob: 27: error: HANDLE must be either a generic or a THREAD HANDLE
prog.cob: 31: error: HANDLE must be either a generic or a THREAD HANDLE
prog.cob: 31: warning: STOP THREAD is replaced by STOP RUN
prog.cob: 36: warning: THREAD is not implemented
prog.cob: 38: warning: THREAD is not implemented
prog.cob: 37: error: HANDLE must be either a generic or a THREAD HANDLE
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3129"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3141: \$COMPILE_ONLY -std=rm-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=rm-strict prog.cob" "syn_misc.at:3141"
( $at_check_trace; $COMPILE_ONLY -std=rm-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: error: syntax error, unexpected Identifier
prog.cob: 13: error: syntax error, unexpected Identifier
prog.cob: 14: error: syntax error, unexpected Identifier
prog.cob: 14: error: PICTURE clause required for 'mywindow'
prog.cob: in paragraph 'MAIN':
prog.cob: 27: error: 'handle IN mywindow' is not defined, but is a reserved word in another dialect
prog.cob: 26: error: invalid expression
prog.cob: 30: error: syntax error, unexpected END-PERFORM
prog.cob: 31: error: 'thread' is not defined, but is a reserved word in another dialect
prog.cob: 31: error: syntax error, unexpected Identifier
prog.cob: 36: error: syntax error, unexpected Identifier, expecting THREAD
prog.cob: 40: error: syntax error, unexpected END-CALL
prog.cob: 26: error: 'thread' is not defined, but is a reserved word in another dialect
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3141"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_202
#AT_START_203
at_fn_group_banner 203 'syn_misc.at:3160' \
  "ACUCOBOL WINDOW statements" "                     " 2
at_xfail=no
(
  $as_echo "203. $at_setup_line: testing $at_desc ..."
  $at_traceon



# TODO: need a better tests when we implement this,
#       likely splitted into multiple ones

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       77  myhandle      usage handle.
       77  mythread      usage handle of thread.
       77  WINDOW-HANDLE usage handle of window.
       PROCEDURE DIVISION.
       MAIN.
           DISPLAY WINDOW, LINE 1, COLUMN 29, SIZE 51, LINES 12,
               ERASE, POP-UP AREA IS WINDOW-HANDLE
           END-DISPLAY
           DISPLAY "THIS IS TEXT IN A WINDOW"
           DISPLAY FLOATING WINDOW UPON WINDOW-HANDLE,
               LINE 5, COLUMN 10, SIZE 20, LINES 2,
               ERASE SCREEN, POP-UP AREA IS myhandle
           END-DISPLAY
           DISPLAY "Some text for the floating window"
           CLOSE WINDOW myhandle
           DISPLAY FLOATING WINDOW,
               LINE 5, COLUMN 10, SIZE 20, LINES 2,
               ERASE SCREEN, POP-UP AREA IS mythread
           END-DISPLAY
           DESTROY WINDOW-HANDLE
      *
           STOP RUN.
_ATEOF


# FIXME: line 12 is actually a parser error (ignore for now)

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3197: \$COMPILE_ONLY -std=acu-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_misc.at:3197"
( $at_check_trace; $COMPILE_ONLY -std=acu-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in paragraph 'MAIN':
prog.cob: 11: warning: GRAPHICAL WINDOW is not implemented
prog.cob: 12: error: syntax error, unexpected POP-UP, expecting LINE or SCREEN
prog.cob: 15: warning: GRAPHICAL WINDOW is not implemented
prog.cob: 20: warning: GRAPHICAL WINDOW is not implemented
prog.cob: 21: warning: GRAPHICAL WINDOW is not implemented
prog.cob: 23: error: HANDLE must be either a generic or a WINDOW HANDLE
prog.cob: 25: warning: GRAPHICAL CONTROL is not implemented
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3197"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_203
#AT_START_204
at_fn_group_banner 204 'syn_misc.at:3211' \
  "adding/removing reserved words" "                 " 2
at_xfail=no
(
  $as_echo "204. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  hello       PIC X.
       01  foo         PIC X.
       01  bar         PIC X.
       01  file        PIC X.

       PROCEDURE       DIVISION.
           CONTINUE
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3230: \$COMPILE_ONLY -freserved=hello,foo,bar -fnot-reserved=file prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=hello,foo,bar -fnot-reserved=file prog.cob" "syn_misc.at:3230"
( $at_check_trace; $COMPILE_ONLY -freserved=hello,foo,bar -fnot-reserved=file prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: 'hello' is a reserved word, but isn't supported
prog.cob: 8: error: 'foo' is a reserved word, but isn't supported
prog.cob: 9: error: 'bar' is a reserved word, but isn't supported
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3230"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_204
#AT_START_205
at_fn_group_banner 205 'syn_misc.at:3238' \
  "adding aliases" "                                 " 2
at_xfail=no
(
  $as_echo "205. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.  prog.

       PROCEDURE DIVISION.
           FOO "Hello, world!"
           .
_ATEOF


# FIXME: user defined words need to store a reference to the name originally defining the word
#        otherwise we can't help the user to know where the error came from
#        (command line is only a special sample, but even then it may be wrapped and not visible
#        to the user)
#AT_CHECK([$COMPILE_ONLY -freserved=FOO=DISPLAY* -freserved=BAR:FOO prog.cob], [1], [],
#[configuration warning: -freserved=FOO=DISPLAY*: ignored asterisk at end of alias target
#configuration error:
#-freserved=BAR:FOO: alias target 'FOO' is not a default reserved word
#])

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3260: \$COMPILE_ONLY -freserved=FOO=DISPLAY* -freserved=BAR:FOO prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=FOO=DISPLAY* -freserved=BAR:FOO prog.cob" "syn_misc.at:3260"
( $at_check_trace; $COMPILE_ONLY -freserved=FOO=DISPLAY* -freserved=BAR:FOO prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "configuration warning: -freserved=FOO=DISPLAY*: ignored asterisk at end of alias target
configuration error:
alias target 'FOO' is not a default reserved word
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3260"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3266: \$COMPILE_ONLY -freserved=FOO=DISPLAY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=FOO=DISPLAY prog.cob" "syn_misc.at:3266"
( $at_check_trace; $COMPILE_ONLY -freserved=FOO=DISPLAY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3266"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3267: \$COMPILE_ONLY -freserved=FOO:DISPLAY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=FOO:DISPLAY prog.cob" "syn_misc.at:3267"
( $at_check_trace; $COMPILE_ONLY -freserved=FOO:DISPLAY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3267"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3268: \$COMPILE_ONLY -freserved=\" FOO = DISPLAY  \" prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -freserved=\" FOO = DISPLAY  \" prog.cob" "syn_misc.at:3268"
( $at_check_trace; $COMPILE_ONLY -freserved=" FOO = DISPLAY  " prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3268"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_205
#AT_START_206
at_fn_group_banner 206 'syn_misc.at:3272' \
  "complete specified word list" "                   " 2
at_xfail=no
(
  $as_echo "206. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.  prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  SQLCA.
           03  SQLCABC         USAGE BINARY-LONG VALUE 136.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3284: \$COMPILE_ONLY -std=ibm-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict prog.cob" "syn_misc.at:3284"
( $at_check_trace; $COMPILE_ONLY -std=ibm-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: syntax error, unexpected Identifier
prog.cob: 7: error: PICTURE clause required for 'SQLCABC'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3284"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3288: \$COMPILE_ONLY -std=ibm-strict -freserved=BINARY-LONG prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm-strict -freserved=BINARY-LONG prog.cob" "syn_misc.at:3288"
( $at_check_trace; $COMPILE_ONLY -std=ibm-strict -freserved=BINARY-LONG prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3288"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3289: \$COMPILE_ONLY -std=ibm prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=ibm prog.cob" "syn_misc.at:3289"
( $at_check_trace; $COMPILE_ONLY -std=ibm prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3289"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_206
#AT_START_207
at_fn_group_banner 207 'syn_misc.at:3293' \
  "ANY LENGTH item as BY VALUE formal parameter" "   " 2
at_xfail=no
(
  $as_echo "207. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.

       DATA           DIVISION.
       LINKAGE        SECTION.
       01  str        ANY LENGTH PIC X.

       PROCEDURE DIVISION USING VALUE str.
           GOBACK
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3309: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3309"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: warning: handling of parameters passed BY VALUE is unfinished; implementation is likely to be changed
prog.cob: 9: error: ANY LENGTH items may only be BY REFERENCE formal parameters
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3309"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_207
#AT_START_208
at_fn_group_banner 208 'syn_misc.at:3316' \
  "swapped SOURCE- and OBJECT-COMPUTER" "            " 2
at_xfail=no
(
  $as_echo "208. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.

       ENVIRONMENT    DIVISION.
       CONFIGURATION  SECTION.
       OBJECT-COMPUTER. a.
       SOURCE-COMPUTER. b.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3329: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3329"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: incorrect order of SOURCE- and OBJECT-COMPUTER paragraphs used
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3329"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_208
#AT_START_209
at_fn_group_banner 209 'syn_misc.at:3335' \
  "CONF. SECTION paragraphs in wrong order" "        " 2
at_xfail=no
(
  $as_echo "209. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog1.

       ENVIRONMENT    DIVISION.
       CONFIGURATION  SECTION.
       REPOSITORY.
       SOURCE-COMPUTER. b.
       OBJECT-COMPUTER. a.
       SPECIAL-NAMES.

       END PROGRAM prog1.

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog2.

       ENVIRONMENT    DIVISION.
       CONFIGURATION  SECTION.
       SOURCE-COMPUTER. b.
       OBJECT-COMPUTER. a.
       REPOSITORY.
       SPECIAL-NAMES.

       END PROGRAM prog2.

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog3.

       ENVIRONMENT    DIVISION.
       CONFIGURATION  SECTION.
       REPOSITORY.
       SOURCE-COMPUTER. b.
       OBJECT-COMPUTER. a.

       END PROGRAM prog3.

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog4.

       ENVIRONMENT    DIVISION.
       CONFIGURATION  SECTION.
       REPOSITORY.
       SPECIAL-NAMES.
       SOURCE-COMPUTER. b.
       OBJECT-COMPUTER. a.

       END PROGRAM prog4.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3387: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3387"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: warning: incorrect order of CONFIGURATION SECTION paragraphs used
prog.cob: 24: warning: incorrect order of CONFIGURATION SECTION paragraphs used
prog.cob: 35: warning: incorrect order of CONFIGURATION SECTION paragraphs used
prog.cob: 45: warning: incorrect order of CONFIGURATION SECTION paragraphs used
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3387"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3393: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "syn_misc.at:3393"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: error: incorrect order of CONFIGURATION SECTION paragraphs used
prog.cob: 24: error: incorrect order of CONFIGURATION SECTION paragraphs used
prog.cob: 35: error: incorrect order of CONFIGURATION SECTION paragraphs used
prog.cob: 45: error: incorrect order of CONFIGURATION SECTION paragraphs used
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3393"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_209
#AT_START_210
at_fn_group_banner 210 'syn_misc.at:3402' \
  "NOT ON EXCEPTION phrases before ON EXCEPTION" "   " 2
at_xfail=no
(
  $as_echo "210. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.

       ENVIRONMENT    DIVISION.
       INPUT-OUTPUT   SECTION.
       FILE-CONTROL.
           SELECT f ASSIGN "f.txt"
               ORGANIZATION LINE SEQUENTIAL.

       DATA           DIVISION.
       FILE           SECTION.
       FD  f LINAGE 10.
       01  f-rec PIC X.

       PROCEDURE      DIVISION.
           WRITE f-rec FROM "x"
               NOT END-OF-PAGE
                   CONTINUE
               END-OF-PAGE
                   CONTINUE
           END-WRITE
           WRITE f-rec FROM "x"
               END-OF-PAGE
                   CONTINUE
               NOT END-OF-PAGE
                   CONTINUE
           END-WRITE
           WRITE f-rec FROM "x"
               NOT END-OF-PAGE
                   CONTINUE
           END-WRITE
           WRITE f-rec FROM "x"
               END-OF-PAGE
                   CONTINUE
           END-WRITE

           DISPLAY "blah"
               ON EXCEPTION
                   CALL "err"
                       NOT ON EXCEPTION
                           CONTINUE
                       ON EXCEPTION
                           CONTINUE.
           DISPLAY "blah"
               NOT ON EXCEPTION
                   CALL "err"
                       ON EXCEPTION
                           CONTINUE
                       NOT ON EXCEPTION
                           CONTINUE.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3458: \$COMPILE_ONLY -std=cobol85 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:3458"
( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 22: error: NOT AT END-OF-PAGE before AT END-OF-PAGE does not conform to COBOL 85
prog.cob: 44: error: NOT EXCEPTION before EXCEPTION does not conform to COBOL 85
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3458"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3462: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3462"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3462"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_210
#AT_START_211
at_fn_group_banner 211 'syn_misc.at:3466' \
  "wrong dialect hints" "                            " 2
at_xfail=no
(
  $as_echo "211. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC X.

       PROCEDURE DIVISION.
           DISPLAY x CONVERSION.
           TRANSFORM x
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3483: \$COMPILE_ONLY -std=cobol85 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol85 prog.cob" "syn_misc.at:3483"
( $at_check_trace; $COMPILE_ONLY -std=cobol85 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: 'CONVERSION' is not defined, but is a reserved word in another dialect
prog.cob: 11: error: unknown statement 'TRANSFORM'; it may exist in another dialect
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3483"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_211
#AT_START_212
at_fn_group_banner 212 'syn_misc.at:3490' \
  "redundant periods" "                              " 2
at_xfail=no
(
  $as_echo "212. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >a.cpy <<'_ATEOF'

       01  var PIC X
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       REPLACE ==a== BY ==b==.. *> blah blah
       .

       COPY a..

       78  var VALUE "hello".
      * blah blah
          .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3513: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3513"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: warning: ignoring redundant .
prog.cob: 12: warning: ignoring redundant .
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3513"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_212
#AT_START_213
at_fn_group_banner 213 'syn_misc.at:3520' \
  "STRING / UNSTRING with invalid syntax" "          " 2
at_xfail=no
(
  $as_echo "213. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       77  a   PIC X.
       77  b   PIC X.
       77  c   PIC XXX.

       PROCEDURE DIVISION.
           STRING   DELIMITED BY SPACE INTO
           END-STRING
           STRING a DELIMITED BY SPACE c
           END-STRING
           STRING a DELIMITED BY SPACE INTO
           END-STRING
           STRING
                  DELIMITED BY SPACE
                  INTO c
           END-STRING
           STRING a DELIMITED BY SPACE

                  DELIMITED BY SIZE
                  INTO c
           END-STRING
           STRING a DELIMITED BY SPACE
                  b DELIMITED BY SIZE
                  INTO c
           END-STRING
      *
           UNSTRING   DELIMITED BY SPACE INTO a
           END-UNSTRING
           UNSTRING c DELIMITED BY SPACE a
           END-UNSTRING
           UNSTRING c DELIMITED BY SPACE INTO
           END-UNSTRING
           UNSTRING   DELIMITED BY SPACE INTO a
           END-UNSTRING
           UNSTRING c DELIMITED BY SPACE INTO a
           END-UNSTRING
           UNSTRING c DELIMITED BY SPACE
                      DELIMITED BY SIZE  INTO a
           END-UNSTRING
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3570: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3570"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: error: syntax error, unexpected DELIMITED
prog.cob: 15: error: syntax error, unexpected END-STRING
prog.cob: 17: error: syntax error, unexpected END-STRING, expecting Identifier
prog.cob: 19: error: syntax error, unexpected DELIMITED
prog.cob: 24: error: syntax error, unexpected DELIMITED
prog.cob: 32: error: syntax error, unexpected DELIMITED
prog.cob: 34: error: syntax error, unexpected Identifier, expecting INTO
prog.cob: 37: error: syntax error, unexpected END-UNSTRING, expecting Identifier
prog.cob: 38: error: syntax error, unexpected DELIMITED
prog.cob: 43: error: syntax error, unexpected DELIMITED, expecting INTO
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3570"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_213
#AT_START_214
at_fn_group_banner 214 'syn_misc.at:3585' \
  "use of program-prototypes" "                      " 2
at_xfail=no
(
  $as_echo "214. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       ENVIRONMENT     DIVISION.
       CONFIGURATION   SECTION.
       REPOSITORY.
           PROGRAM test-prog
           .
       PROCEDURE       DIVISION.
           CALL test-prog
           CANCEL test-prog
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3603: \$COMPILE_ONLY -fprogram-prototypes=warning prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fprogram-prototypes=warning prog.cob" "syn_misc.at:3603"
( $at_check_trace; $COMPILE_ONLY -fprogram-prototypes=warning prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: warning: PROGRAM phrase used
prog.cob: 8: warning: no definition/prototype seen for program 'test-prog'
prog.cob: 11: warning: CALL/CANCEL with program-prototype-name used
prog.cob: 12: warning: CALL/CANCEL with program-prototype-name used
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3603"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_214
#AT_START_215
at_fn_group_banner 215 'syn_misc.at:3612' \
  "invalid INSPECT/TRANSFORM operands" "             " 2
at_xfail=no
(
  $as_echo "215. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT f ASSIGN "A".

       DATA            DIVISION.
       FILE            SECTION.
       FD  f.
       01  f-rec PIC X.

       WORKING-STORAGE SECTION.
       01  not-display PIC 9(5) COMP.
       01  not-a-num   PIC X(5).

       PROCEDURE       DIVISION.
           INSPECT f TALLYING not-a-num FOR ALL 3
               REPLACING FIRST "abcde" BY not-display
           TRANSFORM f FROM 3 TO 2
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3640: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3640"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 20: error: 'f' is not a field
prog.cob: 20: error: 'not-a-num' is not numeric
prog.cob: 20: error: 3 is not an alphanumeric literal
prog.cob: 20: error: invalid target for TALLYING
prog.cob: 21: error: 'not-display' is not USAGE DISPLAY
prog.cob: 20: error: REPLACING operands differ in size
prog.cob: 20: error: invalid target for REPLACING
prog.cob: 22: error: 'f' is not a field
prog.cob: 22: error: 3 is not an alphanumeric literal
prog.cob: 22: error: 2 is not an alphanumeric literal
prog.cob: 22: error: invalid target for TRANSFORM
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3640"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_215
#AT_START_216
at_fn_group_banner 216 'syn_misc.at:3656' \
  "SIGN clause checks" "                             " 2
at_xfail=no
(
  $as_echo "216. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  valid-1     SIGN TRAILING.
           03  x       PIC S999.
           03  y       PIC S999.
       01  valid-2     PIC S99.

       01  invalid-1   PIC 99 SIGN LEADING.
       01  invalid-2   PIC S99 SIGN TRAILING, USAGE BINARY.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3674: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3674"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: error: elementary items with SIGN clause must have S in PICTURE
prog.cob: 13: error: elementary items with SIGN clause must be USAGE DISPLAY or NATIONAL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3674"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_216
#AT_START_217
at_fn_group_banner 217 'syn_misc.at:3681' \
  "conflicting entry conventions" "                  " 2
at_xfail=no
(
  $as_echo "217. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.
       OPTIONS.
           ENTRY-CONVENTION COBOL.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CALL-CONVENTION 0 IS EXTERN.

       PROCEDURE       DIVISION EXTERN.
           CONTINUE
           .
_ATEOF

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3698: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3698"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: warning: overriding convention specified in ENTRY-CONVENTION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3698"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_217
#AT_START_218
at_fn_group_banner 218 'syn_misc.at:3704' \
  "ADD / SUBTRACT TABLE" "                           " 2
at_xfail=no
(
  $as_echo "218. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  tab1.
           03  tab1-entry    OCCURS 5 PIC S999.
       01  tab2.
           03  tab2-entry    OCCURS 7 PIC S99.
           03  tab2b-entry   OCCURS 7.
               05  x         PIC S99.
       01  tab3.
           03  sub-tab-3  OCCURS 2.
               05 tab3-entry OCCURS 5 PIC S999.

       PROCEDURE       DIVISION.
           ADD      TABLE tab1-entry TO   tab2-entry.
           SUBTRACT TABLE tab2-entry FROM tab1-entry.
           ADD      TABLE tab1-entry TO   tab3-entry (1).
           SUBTRACT TABLE tab2-entry FROM tab3-entry (2).
           ADD      TABLE tab1-entry TO   x.
           SUBTRACT TABLE x          FROM tab1-entry.
           ADD      TABLE tab1-entry TO   tab2b-entry.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3734: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3734"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 18: warning: ADD TABLE is not implemented
prog.cob: 19: warning: SUBTRACT TABLE is not implemented
prog.cob: 20: warning: ADD TABLE is not implemented
prog.cob: 21: warning: SUBTRACT TABLE is not implemented
prog.cob: 22: warning: ADD TABLE is not implemented
prog.cob: 23: warning: SUBTRACT TABLE is not implemented
prog.cob: 24: warning: ADD TABLE is not implemented
prog.cob: 24: error: 'tab2b-entry' is not numeric
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3734"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_218
#AT_START_219
at_fn_group_banner 219 'syn_misc.at:3747' \
  "Empty PERFORM with DEBUGGING MODE" "              " 2
at_xfail=no
(
  $as_echo "219. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       ENVIRONMENT     DIVISION.
       CONFIGURATION   SECTION.
       SOURCE-COMPUTER.
            whatever   WITH DEBUGGING MODE.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  i           PIC 9.

       PROCEDURE DIVISION.
           PERFORM VARYING i FROM 1 BY 1
                   UNTIL i = 5
           END-PERFORM
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3770: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3770"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3770"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_219
#AT_START_220
at_fn_group_banner 220 'syn_misc.at:3774' \
  "STOP identifier" "                                " 2
at_xfail=no
(
  $as_echo "220. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  x           PIC 9(5) VALUE 1.
       01  y           CONSTANT "ab".

       PROCEDURE       DIVISION.
           STOP x
           STOP y
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3792: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:3792"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: warning: STOP identifier is obsolete in GnuCOBOL
prog.cob: 12: warning: STOP literal is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3792"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_misc.at:3796: \$COMPILE_ONLY -fstop-identifier=ok -fstop-literal=ok prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fstop-identifier=ok -fstop-literal=ok prog.cob" "syn_misc.at:3796"
( $at_check_trace; $COMPILE_ONLY -fstop-identifier=ok -fstop-literal=ok prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:3796"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_220
#AT_START_221
at_fn_group_banner 221 'syn_misc.at:3800' \
  "01 CONSTANT" "                                    " 2
at_xfail=no
(
  $as_echo "221. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  NUM2      CONSTANT 3.
       01  CON3      CONSTANT ((1 + 2) * NUM2 - 4.
       01  CON4      CONSTANT (1 + 2) * NUM2 - 4).
       01  CON5      CONSTANT (1 + 2) // NUM2.
       01  CON6      CONSTANT (1 + 2 + 3 + (4)) / (NUM2).
      *
       PROCEDURE DIVISION.
       MAIN.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3819: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:3819"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: missing right parenthesis
prog.cob: 8: error: missing left parenthesis
prog.cob: 9: error: '/' operator misplaced
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3819"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3825: \$COMPILE -std=mf-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=mf-strict prog.cob" "syn_misc.at:3825"
( $at_check_trace; $COMPILE -std=mf-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
prog.cob: 7: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
prog.cob: 8: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
prog.cob: 9: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
prog.cob: 10: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3825"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3833: \$COMPILE -std=mf-strict -freserved=CONSTANT prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=mf-strict -freserved=CONSTANT prog.cob" "syn_misc.at:3833"
( $at_check_trace; $COMPILE -std=mf-strict -freserved=CONSTANT prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: 01 CONSTANT does not conform to Micro Focus COBOL
prog.cob: 7: error: 01 CONSTANT does not conform to Micro Focus COBOL
prog.cob: 7: error: syntax error, unexpected Identifier, expecting .
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3833"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3839: \$COMPILE -std=mf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "syn_misc.at:3839"
( $at_check_trace; $COMPILE -std=mf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: missing right parenthesis
prog.cob: 8: error: missing left parenthesis
prog.cob: 9: error: '/' operator misplaced
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3839"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_221
#AT_START_222
at_fn_group_banner 222 'syn_misc.at:3848' \
  "78 VALUE" "                                       " 2
at_xfail=no
(
  $as_echo "222. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       78  NUM2      VALUE   3.
       78  NEG1      VALUE   -1.
       78  CON3      VALUE   ((1 + 2) * NUM2 - 4.
       78  CON4      VALUE   (1 + 2) * NUM2 - 4).
       78  CON5      VALUE   (1 + 2) // NUM2.
       78  CON6      VALUE   (1 + 2 + 3 + (4)) / (NUM2).
      *
       PROCEDURE DIVISION.
       MAIN.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3868: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:3868"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: missing right parenthesis
prog.cob: 9: error: missing left parenthesis
prog.cob: 10: error: '/' operator misplaced
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3868"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3874: \$COMPILE -std=ibm-strict prog.cob "
at_fn_check_prepare_dynamic "$COMPILE -std=ibm-strict prog.cob " "syn_misc.at:3874"
( $at_check_trace; $COMPILE -std=ibm-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: 78 VALUE does not conform to IBM COBOL
prog.cob: 7: error: 78 VALUE does not conform to IBM COBOL
prog.cob: 8: error: 78 VALUE does not conform to IBM COBOL
prog.cob: 8: error: syntax error, unexpected Identifier, expecting .
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3874"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3881: \$COMPILE -std=ibm prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=ibm prog.cob" "syn_misc.at:3881"
( $at_check_trace; $COMPILE -std=ibm prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: missing right parenthesis
prog.cob: 9: error: missing left parenthesis
prog.cob: 10: error: '/' operator misplaced
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3881"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_222
#AT_START_223
at_fn_group_banner 223 'syn_misc.at:3890' \
  "level 78 NEXT / START OF" "                       " 2
at_xfail=no
(
  $as_echo "223. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       78  POS0      VALUE NEXT.
       01  MYREC.
          05  FLD1   PIC 9(2).
          05  FLD2   PIC X(7).
             78  POS3    VALUE NEXT.
          05  FLD3   PIC X(2) OCCURS 5 TIMES.
             78  POS4    VALUE NEXT.
          05  FLD4   PIC X(4).
             78  POS-NEXT   VALUE NEXT.
       77  MYREC2 PIC X.
       01  MYREC3 EXTERNAL.
          05  FLD5   PIC X(4).
             78  POS5    VALUE NEXT.
          05  FLD6   PIC X(4).
       01  PICX      PIC XXX VALUE 'Abc'.
       78  HUN       VALUE 10 * (10 + LENGTH OF PICX) + 12.35-2+3.
       78  HUN2      VALUE HUN * (10 + LENGTH OF PICX) -4.
       78  DIV1      VALUE 100 / 3.
       78  STRT4     VALUE START OF FLD4.
       LINKAGE SECTION.
       01  XMYREC.
          05  XFLD1   PIC 9(2).
          05  XFLD2   PIC X(7).
             78  XPOS3    VALUE NEXT.
          05  XFLD3   PIC X(2) OCCURS 5 TIMES.
             78  XPOS4    VALUE NEXT.
          05  XFLD4   PIC X(4).
          05  XFLD5   PIC X(4).
       78  XSTRT4     VALUE START OF XFLD4.
      *
       PROCEDURE DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:3932: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_misc.at:3932"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: VALUE of 'POS0': NEXT target is invalid
prog.cob: 6: error: no previous data-item found
prog.cob: 10: error: VALUE of 'POS3': NEXT target is invalid
prog.cob: 10: error: target must be in FILE SECTION or LINKAGE SECTION or have the EXTERNAL clause
prog.cob: 12: error: VALUE of 'POS4': NEXT target is invalid
prog.cob: 12: error: target must be in FILE SECTION or LINKAGE SECTION or have the EXTERNAL clause
prog.cob: 14: error: VALUE of 'POS-NEXT': NEXT target is invalid
prog.cob: 14: error: target must be in FILE SECTION or LINKAGE SECTION or have the EXTERNAL clause
prog.cob: 24: error: VALUE of 'STRT4': START OF target 'FLD4' is invalid
prog.cob: 24: error: target must be in FILE SECTION or LINKAGE SECTION or have the EXTERNAL clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_misc.at:3932"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_223
#AT_START_224
at_fn_group_banner 224 'syn_misc.at:3948' \
  "Constant Expressions (1)" "                       " 2
at_xfail=no
(
  $as_echo "224. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       01  var       PIC X(200).
       01  othervar  PIC X(115).
       01  A         PIC 9 VALUE 1.
       01  B         PIC 9 VALUE 2.
       01  C         PIC 9 VALUE 3.
       78  var-len   value 115.

       PROCEDURE DIVISION.

           IF var-len < 16
               move othervar (1:var-len - 8)
                 to var (17 - var-len:var-len - 8)
           ELSE
               move othervar to var
           END-IF

           IF (2 = 3)
               move othervar to var
           ELSE
              IF 1 = 1
                 move var to othervar
              ELSE
                 move othervar (1:var-len - 8)
                   to var (17 - var-len:var-len - 8)
                 IF 1 = 1
                    move var to othervar
                 END-IF
              END-IF
              move A to B
              IF 1 = 1
                IF 2 = 1
                 move othervar (1:var-len - 8)
                   to var (17 - var-len:var-len - 8)
           .

           PERFORM WITH TEST BEFORE UNTIL 1 = 3
               move othervar to var
           END-PERFORM

           PERFORM WITH TEST BEFORE UNTIL 1 = 1
               move othervar (1:var-len - 8)
                 to var (17 - var-len:var-len - 8)
           END-PERFORM

           PERFORM WITH TEST AFTER UNTIL 1 = 3
               move othervar to var
           END-PERFORM

           PERFORM WITH TEST AFTER UNTIL 1 = 1
               move othervar to var
           END-PERFORM

           EVALUATE TRUE
           WHEN  var-len < 16
               move othervar (1:var-len - 8)
                 to var (17 - var-len:var-len - 8)
           WHEN  var-len > 16
               move othervar to var
           WHEN OTHER
               move othervar to var
           END-EVALUATE

           EVALUATE var-len
           WHEN  15
           WHEN 115
               move A to B
               move B to C
           WHEN  > 16
               move othervar to var
           WHEN OTHER
               move othervar to var
           END-EVALUATE

           IF 15 = var-len
           OR var-len = 15
               move othervar to var.

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:4036: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4036"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 15: warning: expression '115' LESS THAN '16' is always FALSE
prog.cob: 17: error (ignored): offset of 'var' out of bounds: -98
prog.cob: 22: warning: expression '2' EQUALS '3' is always FALSE
prog.cob: 25: warning: expression '1' EQUALS '1' is always TRUE
prog.cob: 29: error (ignored): offset of 'var' out of bounds: -98
prog.cob: 30: warning: expression '1' EQUALS '1' is always TRUE
prog.cob: 35: warning: expression '1' EQUALS '1' is always TRUE
prog.cob: 36: warning: expression '2' EQUALS '1' is always FALSE
prog.cob: 38: error (ignored): offset of 'var' out of bounds: -98
prog.cob: 41: warning: expression '1' EQUALS '3' is always FALSE
prog.cob: 41: warning: PERFORM FOREVER since UNTIL is always FALSE
prog.cob: 45: warning: expression '1' EQUALS '1' is always TRUE
prog.cob: 45: warning: PERFORM NEVER since UNTIL is always TRUE
prog.cob: 47: error (ignored): offset of 'var' out of bounds: -98
prog.cob: 50: warning: expression '1' EQUALS '3' is always FALSE
prog.cob: 50: warning: PERFORM FOREVER since UNTIL is always FALSE
prog.cob: 54: warning: expression '1' EQUALS '1' is always TRUE
prog.cob: 54: warning: PERFORM ONCE since UNTIL is always TRUE
prog.cob: 59: warning: expression '115' LESS THAN '16' is always FALSE
prog.cob: 61: error (ignored): offset of 'var' out of bounds: -98
prog.cob: 62: warning: expression '115' GREATER THAN '16' is always TRUE
prog.cob: 73: warning: expression '115' GREATER THAN '16' is always TRUE
prog.cob: 69: warning: expression '115' EQUALS '15' is always FALSE
prog.cob: 70: warning: expression '115' EQUALS '115' is always TRUE
prog.cob: 79: warning: expression '15' EQUALS '115' is always FALSE
prog.cob: 80: warning: expression '115' EQUALS '15' is always FALSE
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:4036"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_224
#AT_START_225
at_fn_group_banner 225 'syn_misc.at:4068' \
  "Constant Expressions (2)" "                       " 2
at_xfail=yes
(
  $as_echo "225. $at_setup_line: testing $at_desc ..."
  $at_traceon



# we currently don't have a way to show the correct line numbers
# when we compare two constants

# we currently do the comparision checks for EVALUATE from last WHEN to first one
# to get the line numbers in order we'd need to have to postpone the check
# until the list of WHENs is reversed


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       78  const1    value 115.
       78  const2    value 200.
       77  othervar  PIC X(const1).
       01  var       PIC X(const2).

       PROCEDURE DIVISION.

           IF const1 = const2
           OR const2 = const1
              DISPLAY 'no way' END-DISPLAY
           END-IF

           EVALUATE const1
           WHEN  15
           WHEN 115
               display '1'
           WHEN  < 16
               move othervar (1:const1 - 8)
                 to var (17 - const1:const1 - 8)
           WHEN  > 16
               display othervar
           *> actually WHEN OTHER is also FALSE in this case (115 = 16),
           *> but this is too complex to check
           WHEN OTHER
               display othervar
           END-EVALUATE
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_misc.at:4113: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_misc.at:4113"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: warning: expression '115' EQUALS '200' is always FALSE
prog.cob: 14: warning: expression '200' EQUALS '115' is always FALSE
prog.cob: 13: warning: expression is always FALSE
prog.cob: 19: warning: expression '115' EQUALS '15' is always FALSE
prog.cob: 20: warning: expression '115' EQUALS '115' is always TRUE
prog.cob: 22: warning: expression '115' LESS THAN '16' is always FALSE
prog.cob: 24: error (ignored): offset of 'var' out of bounds: -98
prog.cob: 25: warning: expression '115' GREATER THAN '16' is always TRUE
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_misc.at:4113"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_225
#AT_START_226
at_fn_group_banner 226 'syn_move.at:37' \
  "MOVE SPACE TO numeric or numeric-edited item" "   " 2
at_xfail=no
(
  $as_echo "226. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 9.
       01 Y             PIC 09.
       PROCEDURE        DIVISION.
           MOVE SPACE TO X.
           MOVE SPACE TO Y.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:53: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:53"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: invalid MOVE statement
prog.cob: 10: error: invalid MOVE statement
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:53"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_226
#AT_START_227
at_fn_group_banner 227 'syn_move.at:63' \
  "MOVE ZERO TO alphabetic item" "                   " 2
at_xfail=no
(
  $as_echo "227. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 A             PIC A.
       PROCEDURE        DIVISION.
           MOVE ZERO TO A.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:77: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:77"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: invalid MOVE statement
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:77"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_227
#AT_START_228
at_fn_group_banner 228 'syn_move.at:89' \
  "MOVE alphabetic TO x" "                           " 2
at_xfail=no
(
  $as_echo "228. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC A.
       01 Y-A           PIC A.
       01 Y-X           PIC X.
       01 Y-BX          PIC BX.
       01 Y-9           PIC 9.
       01 Y-09          PIC 09.
       PROCEDURE        DIVISION.
           MOVE X TO Y-A.
           MOVE X TO Y-X.
           MOVE X TO Y-BX.
           MOVE X TO Y-9.
           MOVE X TO Y-09.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:112: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:112"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 16: error: invalid MOVE statement
prog.cob: 17: error: invalid MOVE statement
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_228
#AT_START_229
at_fn_group_banner 229 'syn_move.at:120' \
  "MOVE alphanumeric TO x" "                         " 2
at_xfail=no
(
  $as_echo "229. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       01 Y-A           PIC A.
       01 Y-X           PIC X.
       01 Y-BX          PIC BX.
       01 Y-9           PIC 9.
       01 Y-09          PIC 09.
       PROCEDURE        DIVISION.
           MOVE X TO Y-A.
           MOVE X TO Y-X.
           MOVE X TO Y-BX.
           MOVE X TO Y-9.
           MOVE X TO Y-09.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:143: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:143"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_move.at:143"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_229
#AT_START_230
at_fn_group_banner 230 'syn_move.at:148' \
  "MOVE alphanumeric-edited TO x" "                  " 2
at_xfail=no
(
  $as_echo "230. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC BX.
       01 Y-A           PIC A.
       01 Y-X           PIC X.
       01 Y-BX          PIC BX.
       01 Y-9           PIC 9.
       01 Y-09          PIC 09.
       PROCEDURE        DIVISION.
           MOVE X TO Y-A.
           MOVE X TO Y-X.
           MOVE X TO Y-BX.
           MOVE X TO Y-9.
           MOVE X TO Y-09.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:171: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:171"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 16: error: invalid MOVE statement
prog.cob: 17: error: invalid MOVE statement
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:171"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_230
#AT_START_231
at_fn_group_banner 231 'syn_move.at:179' \
  "MOVE numeric (integer) TO x" "                    " 2
at_xfail=no
(
  $as_echo "231. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 9.
       01 Y-A           PIC A.
       01 Y-X           PIC X.
       01 Y-BX          PIC BX.
       01 Y-9           PIC 9.
       01 Y-09          PIC 09.
       PROCEDURE        DIVISION.
           MOVE X TO Y-A.
           MOVE X TO Y-X.
           MOVE X TO Y-BX.
           MOVE X TO Y-9.
           MOVE X TO Y-09.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:202: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:202"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: error: invalid MOVE statement
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:202"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_231
#AT_START_232
at_fn_group_banner 232 'syn_move.at:209' \
  "MOVE numeric (non-integer) TO x" "                " 2
at_xfail=no
(
  $as_echo "232. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 9V9.
       01 Y-A           PIC A.
       01 Y-X           PIC X.
       01 Y-BX          PIC BX.
       01 Y-9           PIC 9.
       01 Y-09          PIC 09.
       PROCEDURE        DIVISION.
           MOVE X TO Y-A.
           MOVE X TO Y-X.
           MOVE X TO Y-BX.
           MOVE X TO Y-9.
           MOVE X TO Y-09.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:232: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:232"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: error: invalid MOVE statement
prog.cob: 14: error: invalid MOVE statement
prog.cob: 15: error: invalid MOVE statement
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:232"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_232
#AT_START_233
at_fn_group_banner 233 'syn_move.at:241' \
  "MOVE numeric-edited TO x" "                       " 2
at_xfail=no
(
  $as_echo "233. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 09.
       01 Y-A           PIC A.
       01 Y-X           PIC X.
       01 Y-BX          PIC BX.
       01 Y-9           PIC 9.
       01 Y-09          PIC 09.
       PROCEDURE        DIVISION.
           MOVE X TO Y-A.
           MOVE X TO Y-X.
           MOVE X TO Y-BX.
           MOVE X TO Y-9.
           MOVE X TO Y-09.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:264: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:264"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: error: invalid MOVE statement
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:264"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_233
#AT_START_234
at_fn_group_banner 234 'syn_move.at:276' \
  "CORRESPONDING - Operands must be groups" "        " 2
at_xfail=no
(
  $as_echo "234. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G-1.
         02 X           PIC X.
       01 G-2.
         02 Y           PIC X.
       PROCEDURE        DIVISION.
           MOVE CORR X TO G-1.
           MOVE CORR G-1 TO X.
           MOVE CORR G-1(1:1) TO G-2.
           MOVE CORR G-1 TO G-2(1:1).
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:296: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:296"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: error: 'X' is not a group name
prog.cob: 12: error: 'X' is not a group name
prog.cob: 13: error: 'G-1 (1:1)' is not a group name
prog.cob: 14: error: 'G-2 (1:1)' is not a group name
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:296"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_234
#AT_START_235
at_fn_group_banner 235 'syn_move.at:306' \
  "CORRESPONDING - Target has no matching items" "   " 2
at_xfail=no
(
  $as_echo "235. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G-1.
         02 X           PIC X.
       01 G-2.
         02 Y           PIC X.
       PROCEDURE        DIVISION.
           MOVE CORR G-1 TO G-2.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:323: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:323"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: warning: no CORRESPONDING items found
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_move.at:323"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_235
#AT_START_236
at_fn_group_banner 236 'syn_move.at:332' \
  "MOVE to erroneous field" "                        " 2
at_xfail=no
(
  $as_echo "236. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 INVALID-ITEM.
       01 I             PIC 9(3).
       PROCEDURE        DIVISION.
           MOVE 1 TO INVALID-ITEM.
           MOVE SPACE TO I(1:2).
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:348: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:348"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: PICTURE clause required for 'INVALID-ITEM'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:348"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_236
#AT_START_237
at_fn_group_banner 237 'syn_move.at:355' \
  "Overlapping MOVE" "                               " 2
at_xfail=no
(
  $as_echo "237. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01  STRUCTURE1.
            05 FIELD1-1  PIC X(5).
            05 FIELD1-2  PIC X(10).
        01  STRUCTURE2   REDEFINES STRUCTURE1.
            05 FIELD2-1  PIC X(10).
            05 FIELD2-2  PIC X(5).
        01  FILLER       REDEFINES STRUCTURE1.
            05 FILLER    PIC X(01).
            05 FIELD     PIC X(02) OCCURS 7.
        01  FILLER.
            05 FIELDO    PIC X(02) OCCURS 7.
        77  NUMVAR       PIC 9(02) VALUE 1.
        78  CONST4       VALUE 4.
        PROCEDURE DIVISION.
           MOVE FIELD1-2 TO STRUCTURE1
           MOVE FIELD1-2 TO FIELD1-1
           MOVE FIELD1-1 TO FIELD1-2, FIELD2-2
           MOVE FIELD1-2 TO FIELD2-1
           MOVE FIELD2-1 TO FIELD2-2
           MOVE FIELD2-1   (2:5) TO FIELD1-2
           MOVE STRUCTURE1 (2:4) TO STRUCTURE1 (5:4)
           MOVE STRUCTURE1 (2:4) TO STRUCTURE1 (6:4)
           MOVE STRUCTURE1 (1:NUMVAR)  TO STRUCTURE1 (3:13)
           MOVE STRUCTURE1 (NUMVAR:1)  TO STRUCTURE1 (3:13)
           MOVE STRUCTURE1 (3:13)      TO STRUCTURE1 (1:NUMVAR)
           MOVE STRUCTURE1 (3:13)      TO STRUCTURE1 (NUMVAR:1)
           MOVE STRUCTURE1 (CONST4:2)  TO STRUCTURE1 (3:2)
           MOVE STRUCTURE1 (6:4)       TO STRUCTURE1 (2:4)
           MOVE STRUCTURE1 (6:4)       TO STRUCTURE1 (2: )
           MOVE FIELD (6)         TO STRUCTURE1 (13:2)
           MOVE FIELD (5)         TO STRUCTURE1 (13:2)
           MOVE FIELD (NUMVAR)    TO STRUCTURE1 (13:2)
           MOVE FIELD (CONST4)    TO STRUCTURE1 (13:2)
           MOVE FIELDO (1)        TO FIELDO (1)
           MOVE FIELDO (CONST4)   TO FIELDO (CONST4)
           MOVE FIELDO (1)        TO FIELDO (2)
           MOVE FIELDO (4)        TO FIELDO (CONST4)
           MOVE FIELDO (CONST4)   TO FIELDO (4)
           MOVE FIELDO (4)        TO FIELDO (NUMVAR)
           MOVE FIELDO (NUMVAR)   TO FIELDO (4)
           MOVE FIELDO (NUMVAR)   TO FIELDO (NUMVAR)
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:407: \$COMPILE -w prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -w prog.cob" "syn_move.at:407"
( $at_check_trace; $COMPILE -w prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_move.at:407"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_move.at:409: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_move.at:409"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 20: warning: overlapping MOVE may produce unpredictable results
prog.cob: 23: warning: overlapping MOVE may produce unpredictable results
prog.cob: 25: warning: overlapping MOVE may produce unpredictable results
prog.cob: 26: warning: overlapping MOVE may produce unpredictable results
prog.cob: 32: warning: overlapping MOVE may produce unpredictable results
prog.cob: 34: warning: overlapping MOVE may produce unpredictable results
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_move.at:409"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_move.at:418: \$COMPILE -Wpossible-overlap prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -Wpossible-overlap prog.cob" "syn_move.at:418"
( $at_check_trace; $COMPILE -Wpossible-overlap prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 20: warning: overlapping MOVE may produce unpredictable results
prog.cob: 23: warning: overlapping MOVE may produce unpredictable results
prog.cob: 25: warning: overlapping MOVE may produce unpredictable results
prog.cob: 26: warning: overlapping MOVE may produce unpredictable results
prog.cob: 28: warning: overlapping MOVE may occur and produce unpredictable results
prog.cob: 29: warning: overlapping MOVE may occur and produce unpredictable results
prog.cob: 30: warning: overlapping MOVE may occur and produce unpredictable results
prog.cob: 31: warning: overlapping MOVE may occur and produce unpredictable results
prog.cob: 32: warning: overlapping MOVE may produce unpredictable results
prog.cob: 34: warning: overlapping MOVE may produce unpredictable results
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_move.at:418"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_move.at:430: ./prog"
at_fn_check_prepare_trace "syn_move.at:430"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_move.at:430"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_237
#AT_START_238
at_fn_group_banner 238 'syn_move.at:435' \
  "invalid source for MOVE" "                        " 2
at_xfail=no
(
  $as_echo "238. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       REPOSITORY.
           PROGRAM repo-prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77 MAIN-VAR      PIC X(3).
       PROCEDURE        DIVISION.
       MAIN.
           MOVE MAIN TO MAIN-VAR.
           MOVE repo-prog TO MAIN.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:455: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:455"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: no definition/prototype seen for program 'repo-prog'
prog.cob: in paragraph 'MAIN':
prog.cob: 13: error: 'MAIN' is not a field
prog.cob: 14: error: 'repo-prog' is not a field
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:455"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_238
#AT_START_239
at_fn_group_banner 239 'syn_move.at:465' \
  "invalid target for MOVE" "                        " 2
at_xfail=no
(
  $as_echo "239. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       REPOSITORY.
           PROGRAM repo-prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       78 DEFINED-CONST VALUE 'A'.
       77 MAIN-VAR      PIC X(3).
       PROCEDURE        DIVISION.
       MAIN.
           MOVE 'A' TO MAIN-VAR.
           MOVE 'B' TO MAIN.
           MOVE 'C' TO repo-prog.
           MOVE 'D' TO QUOTE.
           MOVE 'E' TO DEFINED-CONST.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_move.at:489: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_move.at:489"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: no definition/prototype seen for program 'repo-prog'
prog.cob: in paragraph 'MAIN':
prog.cob: 15: error: invalid MOVE target: MAIN
prog.cob: 16: error: invalid MOVE target: repo-prog
prog.cob: 17: error: invalid MOVE target: QUOTE
prog.cob: 18: error: invalid MOVE target: \"A\"
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_move.at:489"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_239
#AT_START_240
at_fn_group_banner 240 'syn_multiply.at:28' \
  "Category check of Format 1" "                     " 2
at_xfail=no
(
  $as_echo "240. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-X           PIC X.
       01 X-9           PIC 9.
       01 X-09          PIC 09.
       PROCEDURE        DIVISION.
           MULTIPLY 123  BY 456
           END-MULTIPLY.
           MULTIPLY "a"  BY "b"
           END-MULTIPLY.
           MULTIPLY X-X  BY X-9
           END-MULTIPLY.
           MULTIPLY X-9  BY X-09
           END-MULTIPLY.
           MULTIPLY X-09 BY X-X
           END-MULTIPLY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_multiply.at:53: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_multiply.at:53"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: '456' is not a numeric name
prog.cob: 12: error: '\"a\"' is not a numeric value
prog.cob: 12: error: '\"b\"' is not a numeric name
prog.cob: 14: error: 'X-X' is not a numeric value
prog.cob: 16: error: 'X-09' is not a numeric name
prog.cob: 18: error: 'X-09' is not a numeric value
prog.cob: 18: error: 'X-X' is not a numeric name
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_multiply.at:53"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_240
#AT_START_241
at_fn_group_banner 241 'syn_multiply.at:67' \
  "Category check of Format 2" "                     " 2
at_xfail=no
(
  $as_echo "241. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-X           PIC X.
       01 X-9           PIC 9.
       01 X-09          PIC 09.
       PROCEDURE        DIVISION.
           MULTIPLY 123  BY 456  GIVING 789
           END-MULTIPLY.
           MULTIPLY "a"  BY "b"  GIVING "c"
           END-MULTIPLY.
           MULTIPLY X-X  BY X-9  GIVING X-09
           END-MULTIPLY.
           MULTIPLY X-9  BY X-09 GIVING X-X
           END-MULTIPLY.
           MULTIPLY X-09 BY X-X  GIVING X-9
           END-MULTIPLY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_multiply.at:92: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_multiply.at:92"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: '789' is not a numeric or numeric-edited name
prog.cob: 12: error: '\"a\"' is not a numeric value
prog.cob: 12: error: '\"b\"' is not a numeric value
prog.cob: 12: error: '\"c\"' is not a numeric or numeric-edited name
prog.cob: 14: error: 'X-X' is not a numeric value
prog.cob: 16: error: 'X-09' is not a numeric value
prog.cob: 16: error: 'X-X' is not a numeric or numeric-edited name
prog.cob: 18: error: 'X-09' is not a numeric value
prog.cob: 18: error: 'X-X' is not a numeric value
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_multiply.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_241
#AT_START_242
at_fn_group_banner 242 'syn_multiply.at:108' \
  "Category check of literals" "                     " 2
at_xfail=no
(
  $as_echo "242. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 9.
       PROCEDURE        DIVISION.
           MULTIPLY 123  BY X
           END-MULTIPLY.
           MULTIPLY "a"  BY X
           END-MULTIPLY.
           MULTIPLY 123  BY 456 GIVING X
           END-MULTIPLY.
           MULTIPLY "a"  BY "b" GIVING X
           END-MULTIPLY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_multiply.at:129: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_multiply.at:129"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: '\"a\"' is not a numeric value
prog.cob: 14: error: '\"a\"' is not a numeric value
prog.cob: 14: error: '\"b\"' is not a numeric value
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_multiply.at:129"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_242
#AT_START_243
at_fn_group_banner 243 'syn_screen.at:24' \
  "Flexible ACCEPT/DISPLAY syntax" "                 " 2
at_xfail=no
(
  $as_echo "243. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           SYSERR IS ERR-STREAM
           .
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  a-field      PIC XXX.

       SCREEN           SECTION.
       01  scr.
           03 VALUE "blah" LINE 5 COL 5.

       PROCEDURE        DIVISION.
           *> Valid statements
           DISPLAY "123" "456" "789" NO ADVANCING
           DISPLAY "foo" COL 1 HIGHLIGHT AT LINE 1 WITH UNDERLINE,
               "bar", "foo"
           DISPLAY "a" UPON CRT, "b" LINE 3 COL 3, "c" UPON CRT-UNDER
           DISPLAY scr, scr

           ACCEPT a-field LINE 5 SIZE 3 AT COL 1 WITH AUTO WITH
               REVERSE-VIDEO, BLINK

           *> invalid statements
           DISPLAY scr WITH NO ADVANCING
           DISPLAY scr, scr LINE 2 COL 2 UPON ERR-STREAM
           DISPLAY "foo" LINE 2 COL 2, scr
           DISPLAY "foo" LINE 2 COL 2, "bar" UPON ERR-STREAM
           DISPLAY "foo" LINE 1 UPON ERR-STREAM
           DISPLAY scr, "foo"
           .
       END PROGRAM prog.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog-2.

       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           CONSOLE IS CRT
           .
       PROCEDURE DIVISION.
           DISPLAY "foo" NO ADVANCING
           .
       END PROGRAM prog-2.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:79: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:79"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 31: error: cannot specify NO ADVANCING in screen DISPLAY
prog.cob: 31: error: screens may only be displayed on CRT
prog.cob: 32: error: cannot mix screens and fields in the same DISPLAY statement
prog.cob: 33: error: ambiguous DISPLAY; put items to display on device in separate DISPLAY
prog.cob: 34: error: screen clauses may only be used for DISPLAY on CRT
prog.cob: 35: error: cannot mix screens and fields in the same DISPLAY statement
prog.cob: 49: error: cannot specify NO ADVANCING in screen DISPLAY
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:79"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_243
#AT_START_244
at_fn_group_banner 244 'syn_screen.at:92' \
  "Duplicate ACCEPT/DISPLAY clauses" "               " 2
at_xfail=no
(
  $as_echo "244. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  a-field      PIC XXX.
       PROCEDURE        DIVISION.
           DISPLAY "foo" LINE 1 COL 1 HIGHLIGHT LINE 1 HIGHLIGHT
               AT 0101 MODE IS BLOCK MODE IS BLOCK
           ACCEPT a-field LINE 1 COL 1 HIGHLIGHT LINE 1 HIGHLIGHT
               AT 0101
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:109: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:109"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: duplicate LINE clause
prog.cob: 8: error: duplicate HIGHLIGHT clause
prog.cob: 9: error: cannot specify both AT screen-location and LINE or COLUMN
prog.cob: 9: error: duplicate MODE IS BLOCK clause
prog.cob: 10: error: duplicate LINE clause
prog.cob: 10: error: duplicate HIGHLIGHT clause
prog.cob: 11: error: cannot specify both AT screen-location and LINE or COLUMN
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:109"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_244
#AT_START_245
at_fn_group_banner 245 'syn_screen.at:121' \
  "AT clause" "                                      " 2
at_xfail=no
(
  $as_echo "245. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  curs-1      PIC 9(4) VALUE 00000000001111.
       01  curs-2.
           03  linee   PIC 999.
           03  coll    PIC 999.
       01  pos         CONSTANT 0101.

       01  curs-3      PIC 99.
       01  curs-4      PIC 9(8) VALUE 0101.
       01  curs-5      PIC X(4).

       PROCEDURE       DIVISION.
           *> Valid AT clauses
           DISPLAY "a" AT curs-1
           DISPLAY "a" AT curs-2
           DISPLAY "a" AT pos

           *> Invalid AT clauses
           DISPLAY "a" AT curs-3
           DISPLAY "a" AT curs-4
           DISPLAY "a" AT curs-5
           DISPLAY "a" AT 101
           DISPLAY "a" AT ZERO
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:155: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:155"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 24: error: value in AT clause must have 4 or 6 digits
prog.cob: 25: error: value in AT clause must have 4 or 6 digits
prog.cob: 26: error: value in AT clause is not numeric
prog.cob: 27: error: value in AT clause must have 4 or 6 digits
prog.cob: 29: error: cannot specify figurative constant ZERO in AT clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:155"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_245
#AT_START_246
at_fn_group_banner 246 'syn_screen.at:165' \
  "ACCEPT/DISPLAY extensions detection" "            " 2
at_xfail=no
(
  $as_echo "246. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  zero-const CONSTANT 0.
       01  x PIC 99.

       SCREEN SECTION.
       01  scr.
           03  y PIC 99 LINE 3 COLUMN 5.

       PROCEDURE DIVISION.
           DISPLAY "hello" AT 0000
           DISPLAY "world" LINE ZERO COLUMN zero-const
           ACCEPT x WITH TIME-OUT 5

           DISPLAY scr WITH UNDERLINE
           ACCEPT scr WITH HIGHLIGHT

           DISPLAY scr, scr

           *> Valid statements
           DISPLAY scr UPON CRT-UNDER
           ACCEPT scr AT LINE 4 COLUMN 4
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:197: \$COMPILE_ONLY -faccept-display-extensions=error prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -faccept-display-extensions=error prog.cob" "syn_screen.at:197"
( $at_check_trace; $COMPILE_ONLY -faccept-display-extensions=error prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 15: error: AT clause used
prog.cob: 15: error: non-standard DISPLAY used
prog.cob: 16: error: LINE 0 used
prog.cob: 16: error: COLUMN 0 used
prog.cob: 16: error: non-standard DISPLAY used
prog.cob: 17: error: non-standard ACCEPT used
prog.cob: 19: error: non-standard DISPLAY used
prog.cob: 20: error: non-standard ACCEPT used
prog.cob: 22: error: non-standard DISPLAY used
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:197"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_246
#AT_START_247
at_fn_group_banner 247 'syn_screen.at:211' \
  "FROM clause" "                                    " 2
at_xfail=no
(
  $as_echo "247. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       SCREEN  SECTION.
       01 SG.
          05 SI1   LINE 1 COL 1 PIC X FROM X.
          05 SI2   LINE 2 COL 1 PIC X FROM SPACE.
          05 SI2-2 LINE 2 COL 5 PIC X(03) FROM ALL SPACES.
          05 SI3   LINE 3 COL 1 PIC 9 FROM ZERO.
          05 SI3-2 LINE 3 COL 5 PIC X(03) FROM ALL ZEROES.
       PROCEDURE        DIVISION.
           DISPLAY SG END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:232: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:232"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_screen.at:232"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_247
#AT_START_248
at_fn_group_banner 248 'syn_screen.at:237' \
  "SCREEN SECTION clause numbers" "                  " 2
at_xfail=no
(
  $as_echo "248. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       SCREEN           SECTION.
       *> Valid numbers
       01  a            LINE 1.
       01  b            LINE +1.
       01  c            LINE 0.

       *> invalid numbers
       01  d            LINE -1.
       01  e            LINE 1.0.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:257: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:257"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: error: non-negative integer value expected
prog.cob: 13: error: non-negative integer value expected
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_248
#AT_START_249
at_fn_group_banner 249 'syn_screen.at:265' \
  "Screen clauses" "                                 " 2
at_xfail=no
(
  $as_echo "249. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  foo          PIC X.
       SCREEN           SECTION.
       01  scr.
           03  a        PIC X TO foo FULL, LEFTLINE, OVERLINE, REQUIRED,
                        GRID.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:282: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:282"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: warning: LEFTLINE is not implemented
prog.cob: 9: warning: OVERLINE is not implemented
prog.cob: 10: warning: GRID is not implemented
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_screen.at:282"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_249
#AT_START_250
at_fn_group_banner 250 'syn_screen.at:291' \
  "ACCEPT ON EXCEPTION/ESCAPE" "                     " 2
at_xfail=no
(
  $as_echo "250. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  foo          PIC X.
       PROCEDURE        DIVISION.
           ACCEPT foo
               ON EXCEPTION
                   CONTINUE
               NOT EXCEPTION
                   CONTINUE
           END-ACCEPT

           ACCEPT foo
               ESCAPE
                   CONTINUE
               NOT ON ESCAPE
                   CONTINUE
           END-ACCEPT
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:317: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:317"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_screen.at:317"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_250
#AT_START_251
at_fn_group_banner 251 'syn_screen.at:321' \
  "Referencing 88-level" "                           " 2
at_xfail=no
(
  $as_echo "251. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  flag PIC X.
           88  blah VALUE "N".

       SCREEN           SECTION.
       01  scr.
           03  PIC X COLUMN blah TO blah FROM blah.

       PROCEDURE        DIVISION.
           ACCEPT scr
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:342: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:342"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: error: 88-level cannot be used here
prog.cob: 12: error: 88-level cannot be used here
prog.cob: 12: error: 88-level cannot be used here
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_251
#AT_START_252
at_fn_group_banner 252 'syn_screen.at:351' \
  "Conflicting screen clauses" "                     " 2
at_xfail=no
(
  $as_echo "252. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  x            PIC 999.

       SCREEN           SECTION.
       01  scr.
           03  VALUE "foo" HIGHLIGHT, LOWLIGHT;
                           ERASE EOL, ERASE EOS;
                           BLANK LINE, BLANK SCREEN.

       PROCEDURE        DIVISION.
           DISPLAY "blah" WITH HIGHLIGHT, LOWLIGHT;
                               ERASE EOL, ERASE EOS;
                               BLANK LINE, BLANK SCREEN;
                               SCROLL UP, SCROLL DOWN;

           ACCEPT x WITH AUTO, TAB; SCROLL UP, SCROLL DOWN;
               UPDATE, NO UPDATE

           SET scr ATTRIBUTE HIGHLIGHT ON, LOWLIGHT OFF
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:381: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:381"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: error: cannot specify both LOWLIGHT and HIGHLIGHT
prog.cob: 12: error: cannot specify both ERASE EOS and ERASE EOL
prog.cob: 13: error: cannot specify both BLANK SCREEN and BLANK LINE
prog.cob: 16: error: cannot specify both LOWLIGHT and HIGHLIGHT
prog.cob: 17: error: cannot specify both ERASE EOS and ERASE EOL
prog.cob: 18: error: cannot specify both BLANK SCREEN and BLANK LINE
prog.cob: 21: error: cannot specify both SCROLL DOWN and SCROLL UP
prog.cob: 21: error: cannot specify both TAB and AUTO
prog.cob: 22: error: cannot specify both SCROLL DOWN and SCROLL UP
prog.cob: 22: error: cannot specify both NO UPDATE and UPDATE
prog.cob: 24: error: cannot specify both HIGHLIGHT and LOWLIGHT
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:381"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_screen.at:395: \$COMPILE_ONLY -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -frelax-syntax-checks prog.cob" "syn_screen.at:395"
( $at_check_trace; $COMPILE_ONLY -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: warning: cannot specify both LOWLIGHT and HIGHLIGHT; LOWLIGHT is ignored
prog.cob: 12: warning: cannot specify both ERASE EOS and ERASE EOL; ERASE EOS is ignored
prog.cob: 13: warning: cannot specify both BLANK SCREEN and BLANK LINE; BLANK SCREEN is ignored
prog.cob: 16: warning: cannot specify both LOWLIGHT and HIGHLIGHT; LOWLIGHT is ignored
prog.cob: 17: warning: cannot specify both ERASE EOS and ERASE EOL; ERASE EOS is ignored
prog.cob: 18: warning: cannot specify both BLANK SCREEN and BLANK LINE; BLANK SCREEN is ignored
prog.cob: 21: warning: cannot specify both SCROLL DOWN and SCROLL UP; SCROLL DOWN is ignored
prog.cob: 21: warning: cannot specify both TAB and AUTO; TAB is ignored
prog.cob: 22: warning: cannot specify both SCROLL DOWN and SCROLL UP; SCROLL DOWN is ignored
prog.cob: 22: warning: cannot specify both NO UPDATE and UPDATE; NO UPDATE is ignored
prog.cob: 24: error: cannot specify both HIGHLIGHT and LOWLIGHT
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:395"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_252
#AT_START_253
at_fn_group_banner 253 'syn_screen.at:412' \
  "Redundant screen clauses" "                       " 2
at_xfail=no
(
  $as_echo "253. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  x            PIC 999.

       SCREEN           SECTION.
       01  scr.
           03  HIGHLIGHT FULL.
               05  HIGHLIGHT FULL.
                   07  FULL FULL VALUE "foo".

       PROCEDURE        DIVISION.
           DISPLAY "hello" WITH BACKGROUND-COLOR 2, BACKGROUND-COLOR 2
           ACCEPT x WITH HIGHLIGHT, HIGHLIGHT, UPDATE, DEFAULT
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:435: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:435"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: error: duplicate FULL clause
prog.cob: 16: error: duplicate BACKGROUND-COLOR clause
prog.cob: 17: error: duplicate HIGHLIGHT clause
prog.cob: 17: error: duplicate UPDATE clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:435"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_253
#AT_START_254
at_fn_group_banner 254 'syn_screen.at:445' \
  "Screen item OCCURS w-/wo relative LINE/COL" "     " 2
at_xfail=no
(
  $as_echo "254. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       SCREEN           SECTION.
       01 x-scr.
          03 x PIC X OCCURS 10.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       DATA             DIVISION.
       SCREEN           SECTION.
       01 x-scr.
          03 x PIC X OCCURS 10 COL  10.
       01 y-scr.
          03 y PIC X OCCURS 10 LINE 10.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       DATA             DIVISION.
       SCREEN           SECTION.
       01 x-scr.
          03 x PIC X OCCURS 10 COL  + 10.
       01 y-scr.
          03 y PIC X OCCURS 10 LINE - 10.
       01 a-scr.
          03 a PIC X OCCURS 10 COL  PLUS 10.
       01 b-scr.
          03 b PIC X OCCURS 10 LINE MINUS 10.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:483: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:483"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: relative LINE/COLUMN clause required with OCCURS
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:483"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_screen.at:487: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_screen.at:487"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 7: error: relative LINE/COLUMN clause required with OCCURS
prog2.cob: 9: error: relative LINE/COLUMN clause required with OCCURS
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:487"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/syn_screen.at:492: \$COMPILE_ONLY prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog3.cob" "syn_screen.at:492"
( $at_check_trace; $COMPILE_ONLY prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_screen.at:492"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_254
#AT_START_255
at_fn_group_banner 255 'syn_screen.at:496' \
  "VALUE clause missing" "                           " 2
at_xfail=no
(
  $as_echo "255. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       SCREEN  SECTION.
       01 SG.
          05 LINE 21 COL 1 VALUE "TESTING".
          05 " IMPLICIT VALUE " HIGHLIGHT.
       PROCEDURE        DIVISION.
           DISPLAY SG END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_screen.at:513: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_screen.at:513"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: syntax error, unexpected Literal
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_screen.at:513"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_255
#AT_START_256
at_fn_group_banner 256 'syn_set.at:24' \
  "SET: misc" "                                      " 2
at_xfail=no
(
  $as_echo "256. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.

       LINKAGE          SECTION.
       01 Y             BASED.
          03  Z         PIC X.

       PROCEDURE        DIVISION.
           SET ADDRESS OF X TO NULL.
           SET ADDRESS OF Z TO NULL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_set.at:45: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_set.at:45"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 14: error: cannot change address of 'X', which is not BASED or a linkage item
prog.cob: 15: error: cannot change address of 'Z', which is not level 1 or 77
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_set.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_256
#AT_START_257
at_fn_group_banner 257 'syn_functions.at:22' \
  "ANY LENGTH / NUMERIC as function RETURNING item" "" 2
at_xfail=no
(
  $as_echo "257. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       FUNCTION-ID.   func.

       DATA           DIVISION.
       LINKAGE        SECTION.
       01  any-len    PIC X ANY LENGTH.

       PROCEDURE      DIVISION RETURNING any-len.
           CONTINUE
           .
       END FUNCTION   func.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:39: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:39"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: function RETURNING item may not be ANY LENGTH
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       FUNCTION-ID.   func.

       DATA           DIVISION.
       LINKAGE        SECTION.
       01  any-len    PIC 9 ANY NUMERIC.

       PROCEDURE      DIVISION RETURNING any-len.
           CONTINUE
           .
       END FUNCTION   func.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:57: \$COMPILE_ONLY prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog2.cob" "syn_functions.at:57"
( $at_check_trace; $COMPILE_ONLY prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 9: error: function RETURNING item may not be ANY LENGTH
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:57"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_257
#AT_START_258
at_fn_group_banner 258 'syn_functions.at:64' \
  "REPOSITORY INTRINSIC phrase" "                    " 2
at_xfail=no
(
  $as_echo "258. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION pi e intrinsic
           .
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY PI.
           DISPLAY E.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:83: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:83"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_functions.at:83"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_258
#AT_START_259
at_fn_group_banner 259 'syn_functions.at:87' \
  "REPOSITORY FUNCTION phrase" "                     " 2
at_xfail=no
(
  $as_echo "259. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       FUNCTION-ID. x AS "y".

       DATA DIVISION.
       LINKAGE SECTION.
       01  ret PIC 9(4).

       PROCEDURE DIVISION RETURNING ret.
           MOVE 100 TO ret
           .
       END FUNCTION x.

       IDENTIFICATION DIVISION.
       FUNCTION-ID. z.

       DATA DIVISION.
       LINKAGE SECTION.
       01  ret PIC 9(5).

       PROCEDURE DIVISION RETURNING ret.
           MOVE 1 TO ret
           .
       END FUNCTION z.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. testing.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION y AS "y"
           FUNCTION z
           .
       PROCEDURE DIVISION.
           DISPLAY FUNCTION y
           DISPLAY FUNCTION z
           .
       END PROGRAM testing.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:131: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:131"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_functions.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_259
#AT_START_260
at_fn_group_banner 260 'syn_functions.at:135' \
  "Redundant REPOSITORY entries" "                   " 2
at_xfail=no
(
  $as_echo "260. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       PROGRAM-ID. beta.
       END PROGRAM beta.

       IDENTIFICATION DIVISION.
       FUNCTION-ID. alpha.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           ALPHABET gamma IS ASCII
           .
       REPOSITORY.
           FUNCTION alpha
           PROGRAM beta
           PROGRAM beta
           PROGRAM beta AS "alpha"
           FUNCTION beta
           FUNCTION gamma
           .
       END FUNCTION alpha.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:161: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:161"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 14: warning: prototype has same name as current function and will be ignored
prog.cob: 16: warning: duplicate REPOSITORY entry for 'beta'
prog.cob: 17: error: duplicate REPOSITORY entries for 'beta' do not match
prog.cob: 18: error: duplicate REPOSITORY entries for 'beta' do not match
prog.cob: 19: warning: no definition/prototype seen for function 'gamma'
prog.cob: 19: error: redefinition of 'gamma'
prog.cob: 11: error: 'gamma' previously defined here
prog.cob: 21: error: FUNCTION 'alpha' has no PROCEDURE DIVISION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_260
#AT_START_261
at_fn_group_banner 261 'syn_functions.at:174' \
  "Missing prototype/definition" "                   " 2
at_xfail=no
(
  $as_echo "261. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       FUNCTION-ID. blah.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION x
           PROGRAM y
           .
       DATA DIVISION.
       LINKAGE SECTION.
       01  ret PIC X.

       PROCEDURE DIVISION RETURNING ret.
           MOVE FUNCTION x TO ret
           MOVE FUNCTION x TO ret
           .
       END FUNCTION blah.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:198: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:198"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: no definition/prototype seen for function 'x'
prog.cob: 9: warning: no definition/prototype seen for program 'y'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_functions.at:198"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_261
#AT_START_262
at_fn_group_banner 262 'syn_functions.at:205' \
  "Empty function" "                                 " 2
at_xfail=no
(
  $as_echo "262. $at_setup_line: testing $at_desc ..."
  $at_traceon



# Note: Test case for "Function without END FUNCTION" in syn_definition

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       FUNCTION-ID. func.

       END FUNCTION func.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC 999 VALUE 124.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:225: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:225"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: error: FUNCTION 'func' has no PROCEDURE DIVISION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:225"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_262
#AT_START_263
at_fn_group_banner 263 'syn_functions.at:232' \
  "Function definition inside program" "             " 2
at_xfail=no
(
  $as_echo "263. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       PROCEDURE DIVISION.
           CONTINUE
           .

       IDENTIFICATION DIVISION.
       FUNCTION-ID. f.
       END FUNCTION f.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:248: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:248"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: functions may not be defined within a program/function
prog.cob: 11: error: FUNCTION 'f' has no PROCEDURE DIVISION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:248"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_263
#AT_START_264
at_fn_group_banner 264 'syn_functions.at:255' \
  "Intrinsic functions: dialect" "                   " 2
at_xfail=no
(
  $as_echo "264. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION ABS (1).
           DISPLAY FUNCTION TRIM (" some text here").
           DISPLAY FUNCTION SUBSTITUTE ('some text' 'some' 'nice').
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:271: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:271"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_functions.at:271"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_functions.at:272: \$COMPILE_ONLY -std=acu-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=acu-strict prog.cob" "syn_functions.at:272"
( $at_check_trace; $COMPILE_ONLY -std=acu-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: error: FUNCTION 'TRIM' unknown
prog.cob: 10: error: FUNCTION 'SUBSTITUTE' unknown
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:272"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_264
#AT_START_265
at_fn_group_banner 265 'syn_functions.at:280' \
  "Intrinsic functions: replaced" "                  " 2
at_xfail=no
(
  $as_echo "265. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       FUNCTION-ID. SUBSTITUTE.

       DATA DIVISION.
       LINKAGE SECTION.
       01  func-in  PIC X(15).
       01  func-sub PIC X.
       01  func-out PIC X(15).

       PROCEDURE DIVISION USING func-in, func-sub RETURNING func-out.
           MOVE func-in TO func-out
           INSPECT func-out REPLACING ALL '%' BY func-sub
           .
       END FUNCTION SUBSTITUTE.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION SUBSTITUTE
           .
       PROCEDURE DIVISION.
           DISPLAY FUNCTION SUBSTITUTE(" % C%O%B%O%L % ", "_")
           DISPLAY FUNCTION SUBSTITUTE(" % C%O%B%O%L % ", "-")
           .
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:314: \$COMPILE_ONLY -fnot-intrinsic=substitute prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fnot-intrinsic=substitute prog.cob" "syn_functions.at:314"
( $at_check_trace; $COMPILE_ONLY -fnot-intrinsic=substitute prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/syn_functions.at:314"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/syn_functions.at:315: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:315"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 24: error: syntax error, unexpected ., expecting intrinsic function name or INTRINSIC
prog.cob: 26: error: FUNCTION 'SUBSTITUTE' has wrong number of arguments
prog.cob: 27: error: FUNCTION 'SUBSTITUTE' has wrong number of arguments
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:315"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_265
#AT_START_266
at_fn_group_banner 266 'syn_functions.at:324' \
  "Intrinsic functions: number of arguments" "       " 2
at_xfail=no
(
  $as_echo "266. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION PI.
           DISPLAY FUNCTION PI ( ).
           DISPLAY FUNCTION PI (1).
           DISPLAY FUNCTION ABS.
           DISPLAY FUNCTION ABS (1).
           DISPLAY FUNCTION ABS (1, 2).
           DISPLAY FUNCTION DAY-TO-YYYYDDD.
           DISPLAY FUNCTION DAY-TO-YYYYDDD (6000).
           DISPLAY FUNCTION DAY-TO-YYYYDDD (6000,50).
           DISPLAY FUNCTION DAY-TO-YYYYDDD (6000,50,1600).
           DISPLAY FUNCTION DAY-TO-YYYYDDD (6000,50,1600,500).
           DISPLAY FUNCTION MAX ().
           DISPLAY FUNCTION MAX (6000).
           DISPLAY FUNCTION SUBSTITUTE ('A' 'B' 'C' 'D').
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:351: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:351"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: error: FUNCTION 'PI' has wrong number of arguments
prog.cob: 11: error: FUNCTION 'ABS' has wrong number of arguments
prog.cob: 13: error: FUNCTION 'ABS' has wrong number of arguments
prog.cob: 14: error: FUNCTION 'DAY-TO-YYYYDDD' has wrong number of arguments
prog.cob: 18: error: FUNCTION 'DAY-TO-YYYYDDD' has wrong number of arguments
prog.cob: 19: error: FUNCTION 'MAX' has wrong number of arguments
prog.cob: 21: error: FUNCTION 'SUBSTITUTE' has wrong number of arguments
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:351"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_266
#AT_START_267
at_fn_group_banner 267 'syn_functions.at:364' \
  "Intrinsic functions: reference modification" "    " 2
at_xfail=no
(
  $as_echo "267. $at_setup_line: testing $at_desc ..."
  $at_traceon



# the following should be checked, currently doesn't work
#AT_DATA([prog.cob], [
#       IDENTIFICATION   DIVISION.
#       PROGRAM-ID.      prog.
#       ENVIRONMENT DIVISION.
#       DATA             DIVISION.
#       WORKING-STORAGE  SECTION.
#       PROCEDURE        DIVISION.
#           DISPLAY FUNCTION CHAR (66)(1:2).
#           DISPLAY FUNCTION NUMVAL-C (123)(1:2).
#           DISPLAY FUNCTION REVERSE ("TESTME")(20:1).
#           DISPLAY FUNCTION REVERSE ("TESTME")(-1:1).
#           DISPLAY FUNCTION REVERSE ("TESTME")(1:0).
#           STOP RUN.
#])
#
#AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
#[prog.cob: 8: error: FUNCTION 'PI' can not have reference modification
#prog.cob: 9: error: FUNCTION 'NUMVAL-C' can not have reference modification
#prog.cob: 10: error: FUNCTION 'REVERSE' has invalid reference modification
#prog.cob: 11: error: FUNCTION 'REVERSE' has invalid reference modification
#prog.cob: 12: error: FUNCTION 'REVERSE' has invalid reference modification
#])

# test what is in already...
cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION REVERSE ("TESTME")(-1:1).
           DISPLAY FUNCTION REVERSE ("TESTME")(1:0).
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:404: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:404"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: FUNCTION 'REVERSE' has invalid reference modification
prog.cob: 9: error: FUNCTION 'REVERSE' has invalid reference modification
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:404"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_267
#AT_START_268
at_fn_group_banner 268 'syn_functions.at:412' \
  "Intrinsic functions: Parameter type" "            " 2
at_xfail=no
(
  $as_echo "268. $at_setup_line: testing $at_desc ..."
  $at_traceon



# TODO: Add more tests

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION ABS ('1').
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:428: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:428"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: error: FUNCTION 'ABS' has invalid parameter
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:428"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_268
#AT_START_269
at_fn_group_banner 269 'syn_functions.at:435' \
  "invalid formatted date/time args" "               " 2
at_xfail=no
(
  $as_echo "269. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  format-str         PIC X(8) VALUE "YYYYMMDD".
       01  Date-Format        CONSTANT "YYYYMMDD".
       01  Time-Format        CONSTANT "hhmmss".
       01  Datetime-Format    CONSTANT "YYYYMMDDThhmmss".
       PROCEDURE        DIVISION.
      *>   Test wrong formats
           DISPLAY FUNCTION FORMATTED-DATE ( "YYYYWWWD", 1 )
           END-DISPLAY
           DISPLAY FUNCTION FORMATTED-TIME ( "HHMMSS", 1)
           END-DISPLAY
           DISPLAY FUNCTION FORMATTED-DATETIME
                ( "YYYYWWWDTHHMMSS", 1, 1)
           END-DISPLAY

      *>   Test format in variable
           DISPLAY FUNCTION FORMATTED-DATE ( format-str, 1)
           END-DISPLAY

      *>   Test incompatible formats
           DISPLAY FUNCTION FORMATTED-CURRENT-DATE (Date-Format)
           END-DISPLAY
           DISPLAY FUNCTION FORMATTED-CURRENT-DATE (Time-Format)
           END-DISPLAY

           DISPLAY FUNCTION FORMATTED-DATE ( Time-Format, 1)
           END-DISPLAY
           DISPLAY FUNCTION FORMATTED-DATE ( Datetime-Format, 1)
           END-DISPLAY

           DISPLAY FUNCTION FORMATTED-TIME ( Date-Format, 1)
           END-DISPLAY
           DISPLAY FUNCTION FORMATTED-TIME ( Datetime-Format, 1)
           END-DISPLAY

           DISPLAY FUNCTION FORMATTED-DATETIME ( Date-Format, 1, 1)
           END-DISPLAY
           DISPLAY FUNCTION FORMATTED-DATETIME ( Time-Format, 1, 1)
           END-DISPLAY

           DISPLAY FUNCTION INTEGER-OF-FORMATTED-DATE ( Time-Format, 1)
           END-DISPLAY

           DISPLAY FUNCTION SECONDS-FROM-FORMATTED-TIME
               ( Date-Format, 1)
           END-DISPLAY

      *>   Time format with more than 9 decimal places.
           DISPLAY FUNCTION FORMATTED-TIME ( "hhmmss.ssssssssss", 1)
           END-DISPLAY

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:496: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:496"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: error: FUNCTION 'FORMATTED-DATE' has invalid date/time format
prog.cob: 14: error: FUNCTION 'FORMATTED-TIME' has invalid date/time format
prog.cob: 16: error: FUNCTION 'FORMATTED-DATETIME' has invalid date/time format
prog.cob: 21: warning: FUNCTION 'FORMATTED-DATE' has format in variable
prog.cob: 25: error: FUNCTION 'FORMATTED-CURRENT-DATE' has invalid date/time format
prog.cob: 27: error: FUNCTION 'FORMATTED-CURRENT-DATE' has invalid date/time format
prog.cob: 30: error: FUNCTION 'FORMATTED-DATE' has invalid date/time format
prog.cob: 32: error: FUNCTION 'FORMATTED-DATE' has invalid date/time format
prog.cob: 35: error: FUNCTION 'FORMATTED-TIME' has invalid date/time format
prog.cob: 37: error: FUNCTION 'FORMATTED-TIME' has invalid date/time format
prog.cob: 40: error: FUNCTION 'FORMATTED-DATETIME' has invalid date/time format
prog.cob: 42: error: FUNCTION 'FORMATTED-DATETIME' has invalid date/time format
prog.cob: 45: error: FUNCTION 'INTEGER-OF-FORMATTED-DATE' has invalid date/time format
prog.cob: 48: error: FUNCTION 'SECONDS-FROM-FORMATTED-TIME' has invalid date/time format
prog.cob: 53: error: FUNCTION 'FORMATTED-TIME' has invalid date/time format
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:496"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_269
#AT_START_270
at_fn_group_banner 270 'syn_functions.at:516' \
  "invalid formats w/ DECIMAL-POINT IS COMMA" "      " 2
at_xfail=no
(
  $as_echo "270. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT IS COMMA.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION FORMATTED-TIME ("hhmmss,ss", 1)
           END-DISPLAY
           DISPLAY FUNCTION FORMATTED-DATETIME
                       ("YYYYMMDDThhmmss,ss", 1, 1)
           END-DISPLAY

           DISPLAY FUNCTION FORMATTED-TIME ("hhmmss.ss", 1)
           END-DISPLAY
           DISPLAY FUNCTION FORMATTED-DATETIME
                       ("YYYYMMDDThhmmss.ss", 1, 1)
           END-DISPLAY

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:542: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "syn_functions.at:542"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 15: error: FUNCTION 'FORMATTED-TIME' has invalid date/time format
prog.cob: 17: error: FUNCTION 'FORMATTED-DATETIME' has invalid date/time format
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:542"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_270
#AT_START_271
at_fn_group_banner 271 'syn_functions.at:550' \
  "Specified offset and SYSTEM-OFFSET" "             " 2
at_xfail=no
(
  $as_echo "271. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION FORMATTED-DATETIME
                       ("YYYYDDDThhmmssZ", 1, 1, 1, SYSTEM-OFFSET)
           END-DISPLAY
           DISPLAY FUNCTION FORMATTED-TIME
                       ("hhmmssZ", 1, 1, SYSTEM-OFFSET)
           END-DISPLAY
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/syn_functions.at:566: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "syn_functions.at:566"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: cannot specify offset and SYSTEM-OFFSET at the same time
prog.cob: 9: error: cannot specify offset and SYSTEM-OFFSET at the same time
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/syn_functions.at:566"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_271
#AT_START_272
at_fn_group_banner 272 'listings.at:21' \
  "COPY within comment" "                            " 3
at_xfail=no
(
  $as_echo "272. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
      *COPY "copy.inc".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:36: \$COMPILE_ONLY -t prog.lst -tlines=0 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 prog.cob" "listings.at:36"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:36"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog1.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006        *COPY "copy.inc".
000007         PROCEDURE        DIVISION.
000008             STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:57: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:57"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:57"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:58: diff prog1.lst prog.lis"
at_fn_check_prepare_trace "listings.at:58"
( $at_check_trace; diff prog1.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:58"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog2.cob <<'_ATEOF'

  IDENTIFICATION   DIVISION.
  PROGRAM-ID.      prog2.
  DATA             DIVISION.
  WORKING-STORAGE  SECTION.
  *> COPY "copy.inc".
  PROCEDURE        DIVISION.
  STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:70: \$COMPILE_ONLY -t prog.lst -tlines=0 -free prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -free prog2.cob" "listings.at:70"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -free prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:70"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog2.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog2.cob                  DDD MMM dd HH:MM:SS YYYY

LINE    .....................SOURCE.............................................

000001
000002    IDENTIFICATION   DIVISION.
000003    PROGRAM-ID.      prog2.
000004    DATA             DIVISION.
000005    WORKING-STORAGE  SECTION.
000006    *> COPY "copy.inc".
000007    PROCEDURE        DIVISION.
000008    STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:91: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:91"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:91"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:92: diff prog2.lst prog.lis"
at_fn_check_prepare_trace "listings.at:92"
( $at_check_trace; diff prog2.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:92"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_272
#AT_START_273
at_fn_group_banner 273 'listings.at:97' \
  "Replacement w/o strings" "                        " 3
at_xfail=no
(
  $as_echo "273. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       REPLACE   =="SOME"== BY =="MANY"==
                 =='SOME'== BY =="VERY MUCH"==
                 ==STUFF==  BY ==NEWSTUFF==.
       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 NEWSTUFF PIC X(80).
       PROCEDURE        DIVISION.
           DISPLAY STUFF " BENEFITS SOME PARTS FROM "
                   "SOME" "STUFF" ", " 'SOME' "GOOD" STUFF "AND STUFF !"
                   NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:119: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:119"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:119"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >expected.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         REPLACE   =="SOME"== BY =="MANY"==
000003                   =='SOME'== BY =="VERY MUCH"==
000004                   ==STUFF==  BY ==NEWSTUFF==.
000005         IDENTIFICATION   DIVISION.
000006         PROGRAM-ID.      prog.
000007         DATA             DIVISION.
000008         WORKING-STORAGE  SECTION.
000009         01 NEWSTUFF PIC X(80).
000010         PROCEDURE        DIVISION.
000011             DISPLAY NEWSTUFF " BENEFITS SOME PARTS FROM "
000012             "MANY" "STUFF" ", " "VERY MUCH" "GOOD" NEWSTUFF
000012+       -    "AND STUFF !"
000013                     NO ADVANCING
000014             END-DISPLAY.
000015             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00080 ALPHANUMERIC   01   NEWSTUFF                       X(80)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:154: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:154"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:154"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:155: diff expected.lst prog.lis"
at_fn_check_prepare_trace "listings.at:155"
( $at_check_trace; diff expected.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:155"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_273
#AT_START_274
at_fn_group_banner 274 'listings.at:160' \
  "COPY replacement order" "                         " 3
at_xfail=no
(
  $as_echo "274. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >copy.inc <<'_ATEOF'

       01 TEST-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc"
          REPLACING ==TEST-VAR== BY ==FIRST-MATCH==
                    ==TEST-VAR== BY ==SECOND-MATCH==.
       PROCEDURE        DIVISION.
           DISPLAY FIRST-MATCH NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:183: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:183"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:183"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog3.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         COPY "copy.inc"
000007            REPLACING ==TEST-VAR== BY ==FIRST-MATCH==
000008                      ==TEST-VAR== BY ==SECOND-MATCH==.
000001C
000002C        01 FIRST-MATCH PIC X(2) VALUE "OK".
000009         PROCEDURE        DIVISION.
000010             DISPLAY FIRST-MATCH NO ADVANCING
000011             END-DISPLAY.
000012             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 ALPHANUMERIC   01   FIRST-MATCH                    X(2)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:216: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:216"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:216"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:217: diff prog3.lst prog.lis"
at_fn_check_prepare_trace "listings.at:217"
( $at_check_trace; diff prog3.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:217"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/listings.at:219: \$COBC \$FLAGS -E prog.cob"
at_fn_check_prepare_dynamic "$COBC $FLAGS -E prog.cob" "listings.at:219"
( $at_check_trace; $COBC $FLAGS -E prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:219"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:220: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.i"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.i" "listings.at:220"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.i
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:220"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog4.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.i                     DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001  #line 1 "prog.cob"
000001
000002   IDENTIFICATION   DIVISION.
000003   PROGRAM-ID. prog.
000004   DATA DIVISION.
000005   WORKING-STORAGE SECTION.
000006
000007
000008
000001  #line 1 "copy.inc"
000001
000002   01 FIRST-MATCH PIC X(2) VALUE "OK".
000008  #line 8 "prog.cob"
000008
000009   PROCEDURE DIVISION.
000010   DISPLAY FIRST-MATCH NO ADVANCING
000011   END-DISPLAY.
000012   STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 ALPHANUMERIC   01   FIRST-MATCH                    X(2)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:257: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:257"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:257"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:258: diff prog4.lst prog.lis"
at_fn_check_prepare_trace "listings.at:258"
( $at_check_trace; diff prog4.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:258"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_274
#AT_START_275
at_fn_group_banner 275 'listings.at:263' \
  "COPY separators" "                                " 3
at_xfail=no
(
  $as_echo "275. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >copy.inc <<'_ATEOF'

       01 TEST-VAR PIC X(2) VALUE "OK".                                  COPY001
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.                                        PROG001
       PROGRAM-ID.      prog.                                            PROG002
       DATA             DIVISION.                                        PROG003
       WORKING-STORAGE  SECTION.                                         PROG004
       COPY "copy.inc"                                                   PROG005
          REPLACING ==TEST-VAR==, BY ==FIRST-MATCH==,                    PROG006
                 ,  ==TEST-VAR==; BY ==SECOND-MATCH==;                   PROG007
                 ;  ==TEST-VAR== , BY ==THIRD-MATCH==                    PROG008
                    ==TEST-VAR== ; BY ==FOURTH-MATCH==.                  PROG009
       PROCEDURE        DIVISION.                                        PROG010
           DISPLAY FIRST-MATCH NO ADVANCING                              PROG011
           END-DISPLAY.                                                  PROG012
           STOP RUN.                                                     PROG013
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:288: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:288"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:288"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog4.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         COPY "copy.inc"
000007            REPLACING ==TEST-VAR==, BY ==FIRST-MATCH==,
000008                   ,  ==TEST-VAR==; BY ==SECOND-MATCH==;
000009                   ;  ==TEST-VAR== , BY ==THIRD-MATCH==
000010                      ==TEST-VAR== ; BY ==FOURTH-MATCH==.
000001C
000002C        01 FIRST-MATCH PIC X(2) VALUE "OK".
000011         PROCEDURE        DIVISION.
000012             DISPLAY FIRST-MATCH NO ADVANCING
000013             END-DISPLAY.
000014             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 ALPHANUMERIC   01   FIRST-MATCH                    X(2)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:323: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:323"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:323"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:324: diff prog4.lst prog.lis"
at_fn_check_prepare_trace "listings.at:324"
( $at_check_trace; diff prog4.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:324"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_275
#AT_START_276
at_fn_group_banner 276 'listings.at:329' \
  "COPY partial replacement" "                       " 3
at_xfail=no
(
  $as_echo "276. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >copy.inc <<'_ATEOF'

       01 :TEST:-VAR PIC X(2) VALUE "OK".
       01 (TEST)-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc"
          REPLACING ==:TEST:== BY ==COLON==
                    ==(TEST)== BY ==PAREN==.
       PROCEDURE        DIVISION.
           DISPLAY COLON-VAR NO ADVANCING
           END-DISPLAY.
           DISPLAY PAREN-VAR NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:355: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:355"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:355"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog5.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         COPY "copy.inc"
000007            REPLACING ==:TEST:== BY ==COLON==
000008                      ==(TEST)== BY ==PAREN==.
000001C
000002C        01 COLON PIC X(2) VALUE "OK".
000003C        01 PAREN PIC X(2) VALUE "OK".
000009         PROCEDURE        DIVISION.
000010             DISPLAY COLON-VAR NO ADVANCING
000011             END-DISPLAY.
000012             DISPLAY PAREN-VAR NO ADVANCING
000013             END-DISPLAY.
000014             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 ALPHANUMERIC   01   COLON-VAR                      X(2)

00002 ALPHANUMERIC   01   PAREN-VAR                      X(2)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:393: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:393"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:393"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:394: diff prog5.lst prog.lis"
at_fn_check_prepare_trace "listings.at:394"
( $at_check_trace; diff prog5.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:394"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_276
#AT_START_277
at_fn_group_banner 277 'listings.at:399' \
  "COPY LEADING replacement" "                       " 3
at_xfail=no
(
  $as_echo "277. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >copy.inc <<'_ATEOF'

       01  TEST-VAR PIC X(2) VALUE "OK".
       01  NORM-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc"
            REPLACING LEADING ==TEST== BY ==FIRST==
                      LEADING ==NORM== BY ==SECOND==.
       PROCEDURE        DIVISION.
           DISPLAY FIRST-VAR NO ADVANCING
           END-DISPLAY.
           DISPLAY SECOND-VAR NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:425: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:425"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:425"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >progl.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         COPY "copy.inc"
000007              REPLACING LEADING ==TEST== BY ==FIRST==
000008                        LEADING ==NORM== BY ==SECOND==.
000001C
000002C        01 FIRST-VAR PIC X(2) VALUE "OK".
000003C        01 SECOND-VAR PIC X(2) VALUE "OK".
000009         PROCEDURE        DIVISION.
000010             DISPLAY FIRST-VAR NO ADVANCING
000011             END-DISPLAY.
000012             DISPLAY SECOND-VAR NO ADVANCING
000013             END-DISPLAY.
000014             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 ALPHANUMERIC   01   FIRST-VAR                      X(2)

00002 ALPHANUMERIC   01   SECOND-VAR                     X(2)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:463: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:463"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:463"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:464: diff progl.lst prog.lis"
at_fn_check_prepare_trace "listings.at:464"
( $at_check_trace; diff progl.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:464"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_277
#AT_START_278
at_fn_group_banner 278 'listings.at:469' \
  "COPY TRAILING replacement" "                      " 3
at_xfail=no
(
  $as_echo "278. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >copy.inc <<'_ATEOF'

       01  TEST-FIRST  PIC X(2) VALUE "OK".
       01  TEST-SECOND PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc"
            REPLACING TRAILING ==FIRST== BY ==VAR1==
                      TRAILING ==SECOND== BY ==VAR2==.
       PROCEDURE        DIVISION.
           DISPLAY TEST-VAR1 NO ADVANCING
           END-DISPLAY.
           DISPLAY TEST-VAR2 NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF



{ set +x
$as_echo "$at_srcdir/listings.at:496: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:496"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:496"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >progr.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         COPY "copy.inc"
000007              REPLACING TRAILING ==FIRST== BY ==VAR1==
000008                        TRAILING ==SECOND== BY ==VAR2==.
000001C
000002C        01 TEST-VAR1 PIC X(2) VALUE "OK".
000003C        01 TEST-VAR2 PIC X(2) VALUE "OK".
000009         PROCEDURE        DIVISION.
000010             DISPLAY TEST-VAR1 NO ADVANCING
000011             END-DISPLAY.
000012             DISPLAY TEST-VAR2 NO ADVANCING
000013             END-DISPLAY.
000014             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 ALPHANUMERIC   01   TEST-VAR1                      X(2)

00002 ALPHANUMERIC   01   TEST-VAR2                      X(2)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:534: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:534"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:534"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:535: diff progr.lst prog.lis"
at_fn_check_prepare_trace "listings.at:535"
( $at_check_trace; diff progr.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:535"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_278
#AT_START_279
at_fn_group_banner 279 'listings.at:540' \
  "COPY recursive replacement" "                     " 3
at_xfail=no
(
  $as_echo "279. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >copy-2.inc <<'_ATEOF'

       01 TEST-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >copy-1.inc <<'_ATEOF'

       COPY "copy-2.inc".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy-1.inc"
           REPLACING ==TEST-VAR== BY ==COPY-VAR==.
       PROCEDURE        DIVISION.
           DISPLAY COPY-VAR NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:566: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:566"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:566"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog6.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         COPY "copy-1.inc"
000007             REPLACING ==TEST-VAR== BY ==COPY-VAR==.
000001C
000002C        COPY "copy-2.inc".
000001C
000002C        01 COPY-VAR PIC X(2) VALUE "OK".
000008         PROCEDURE        DIVISION.
000009             DISPLAY COPY-VAR NO ADVANCING
000010             END-DISPLAY.
000011             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 ALPHANUMERIC   01   COPY-VAR                       X(2)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:600: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:600"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:600"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:601: diff prog6.lst prog.lis"
at_fn_check_prepare_trace "listings.at:601"
( $at_check_trace; diff prog6.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:601"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_279
#AT_START_280
at_fn_group_banner 280 'listings.at:606' \
  "COPY multiple files" "                            " 3
at_xfail=no
(
  $as_echo "280. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >copy-fd-1.inc <<'_ATEOF'

       FD  TEXTFILE-1        RECORD VARYING 1 TO 999 CHARACTERS
                                 DEPENDING ON TEXTFILE-1-SIZE.
       01  TEXTRECD-1.
           03 FILLER         PIC X(999).
      *
_ATEOF


cat >copy-fd-2.inc <<'_ATEOF'

       FD  TEXTFILE-2        RECORD VARYING 1 TO 999 CHARACTERS
                                 DEPENDING ON TEXTFILE-2-SIZE.
       01  TEXTRECD-2.
           03 FILLER         PIC X(999).
      *
_ATEOF


cat >copy-ws-1.inc <<'_ATEOF'

       01  TEXTFILE-1-NAME          PIC X(080)     VALUE "TEXTFILE.1".
       01  TEXTFILE-1-OCFG          PIC X(001)     VALUE "C".
           88 TEXTFILE-1-NOTOPEN    VALUE "C".
           88 TEXTFILE-1-IS-OPEN    VALUE "I", "O", "U".
       01  TEXTFILE-1-SIZE          PIC 9(004).
      *
_ATEOF


cat >copy-ws-2.inc <<'_ATEOF'

       01  TEXTFILE-2-NAME          PIC X(080)     VALUE "TEXTFILE.2".
       01  TEXTFILE-2-OCFG          PIC X(001)     VALUE "C".
           88 TEXTFILE-2-NOTOPEN    VALUE "C".
           88 TEXTFILE-2-IS-OPEN    VALUE "I", "O", "U".
       01  TEXTFILE-2-SIZE          PIC 9(004).
      *
_ATEOF


cat >copy-sl-1.inc <<'_ATEOF'

           SELECT TEXTFILE-1   ASSIGN TO DISK    TEXTFILE-1-NAME
                               ORGANIZATION      LINE SEQUENTIAL
                               ACCESS MODE       SEQUENTIAL.
      *
_ATEOF


cat >copy-sl-2.inc <<'_ATEOF'

           SELECT TEXTFILE-2   ASSIGN TO DISK    TEXTFILE-2-NAME
                               ORGANIZATION      LINE SEQUENTIAL
                               ACCESS MODE       SEQUENTIAL.
      *
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. tstcpybk.
      *
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
      *
       SOURCE-COMPUTER. LINUX.
       OBJECT-COMPUTER. LINUX.

       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           COPY "copy-sl-1.inc".
           COPY "copy-sl-2.inc".

       DATA DIVISION.
       FILE SECTION.
           COPY "copy-fd-1.inc".
           COPY "copy-fd-2.inc".

       WORKING-STORAGE SECTION.
       01  FILLER.
           03 FILLER         PIC X(016)     VALUE 'FCSI CodeWerks:'.
           03 FILLER         PIC X(064)     VALUE
              'Name:tstcpybk.cbl  Version:1.7.1  Date:2017-03-15'.
           03 FILLER         PIC X(002)     VALUE LOW-VALUES.
      *
           COPY "copy-ws-1.inc".
           COPY "copy-ws-2.inc".

       PROCEDURE DIVISION.
       MAIN-PROCEDURE SECTION.
       MAIN-PROCEDURE-0000.
           CONTINUE.
       MAIN-PROCEDURE-EXIT.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:697: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:697"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:697"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog3.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION DIVISION.
000003         PROGRAM-ID. tstcpybk.
000004        *
000005         ENVIRONMENT DIVISION.
000006         CONFIGURATION SECTION.
000007        *
000008         SOURCE-COMPUTER. LINUX.
000009         OBJECT-COMPUTER. LINUX.
000010
000011         INPUT-OUTPUT SECTION.
000012         FILE-CONTROL.
000013             COPY "copy-sl-1.inc".
000001C
000002C            SELECT TEXTFILE-1   ASSIGN TO DISK    TEXTFILE-1-NAME
000003C                                ORGANIZATION      LINE SEQUENTIAL
000004C                                ACCESS MODE       SEQUENTIAL.
000005C       *
000014             COPY "copy-sl-2.inc".
000001C
000002C            SELECT TEXTFILE-2   ASSIGN TO DISK    TEXTFILE-2-NAME
000003C                                ORGANIZATION      LINE SEQUENTIAL
000004C                                ACCESS MODE       SEQUENTIAL.
000005C       *
000015
000016         DATA DIVISION.
000017         FILE SECTION.
000018             COPY "copy-fd-1.inc".
000001C
000002C        FD  TEXTFILE-1        RECORD VARYING 1 TO 999 CHARACTERS
000003C                                  DEPENDING ON TEXTFILE-1-SIZE.
000004C        01  TEXTRECD-1.
000005C            03 FILLER         PIC X(999).
000006C       *
000019             COPY "copy-fd-2.inc".
000001C
000002C        FD  TEXTFILE-2        RECORD VARYING 1 TO 999 CHARACTERS
000003C                                  DEPENDING ON TEXTFILE-2-SIZE.
000004C        01  TEXTRECD-2.
000005C            03 FILLER         PIC X(999).
000006C       *
000020
000021         WORKING-STORAGE SECTION.
000022         01  FILLER.
000023             03 FILLER         PIC X(016)     VALUE 'FCSI CodeWerks:'.
000024             03 FILLER         PIC X(064)     VALUE
000025                'Name:tstcpybk.cbl  Version:1.7.1  Date:2017-03-15'.
000026             03 FILLER         PIC X(002)     VALUE LOW-VALUES.
000027        *
000028             COPY "copy-ws-1.inc".
000001C
000002C        01  TEXTFILE-1-NAME          PIC X(080)     VALUE "TEXTFILE.1".
000003C        01  TEXTFILE-1-OCFG          PIC X(001)     VALUE "C".
000004C            88 TEXTFILE-1-NOTOPEN    VALUE "C".
000005C            88 TEXTFILE-1-IS-OPEN    VALUE "I", "O", "U".
000006C        01  TEXTFILE-1-SIZE          PIC 9(004).
000007C       *
000029             COPY "copy-ws-2.inc".
000001C
000002C        01  TEXTFILE-2-NAME          PIC X(080)     VALUE "TEXTFILE.2".
000003C        01  TEXTFILE-2-OCFG          PIC X(001)     VALUE "C".
000004C            88 TEXTFILE-2-NOTOPEN    VALUE "C".
000005C            88 TEXTFILE-2-IS-OPEN    VALUE "I", "O", "U".
000006C        01  TEXTFILE-2-SIZE          PIC 9(004).
000007C       *
000030
000031         PROCEDURE DIVISION.
000032         MAIN-PROCEDURE SECTION.
000033         MAIN-PROCEDURE-0000.
000034             CONTINUE.
000035         MAIN-PROCEDURE-EXIT.
000036             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

00999 FILE                TEXTFILE-1
00999 GROUP          01   TEXTRECD-1
00999 ALPHANUMERIC   03   FILLER                         X(999)

00999 FILE                TEXTFILE-2
00999 GROUP          01   TEXTRECD-2
00999 ALPHANUMERIC   03   FILLER                         X(999)

      WORKING-STORAGE SECTION

00082 GROUP          01   FILLER
00016 ALPHANUMERIC   03   FILLER                         X(016)
00064 ALPHANUMERIC   03   FILLER                         X(064)
00002 ALPHANUMERIC   03   FILLER                         X(002)

00080 ALPHANUMERIC   01   TEXTFILE-1-NAME                X(080)

00001 ALPHANUMERIC   01   TEXTFILE-1-OCFG                X(001)
      CONDITIONAL    88   TEXTFILE-1-NOTOPEN
      CONDITIONAL    88   TEXTFILE-1-IS-OPEN

00004 ALPHANUMERIC   01   TEXTFILE-1-SIZE                9(004)

00080 ALPHANUMERIC   01   TEXTFILE-2-NAME                X(080)

00001 ALPHANUMERIC   01   TEXTFILE-2-OCFG                X(001)
      CONDITIONAL    88   TEXTFILE-2-NOTOPEN
      CONDITIONAL    88   TEXTFILE-2-IS-OPEN

00004 ALPHANUMERIC   01   TEXTFILE-2-SIZE                9(004)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:815: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:815"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:815"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:816: diff prog3.lst prog.lis"
at_fn_check_prepare_trace "listings.at:816"
( $at_check_trace; diff prog3.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:816"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_280
#AT_START_281
at_fn_group_banner 281 'listings.at:821' \
  "Error/Warning messages" "                         " 3
at_xfail=no
(
  $as_echo "281. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >copy.inc <<'_ATEOF'

       01 TEST-VAR PIC X(2) VULUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc".
       PROCEDURE        DIVISION.
           DISPLAY FIRST-MATCH NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:842: \$COMPILE_ONLY -t prog.lst -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tsymbols prog.cob" "listings.at:842"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "copy.inc: 2: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
prog.cob: 8: error: 'FIRST-MATCH' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/listings.at:842"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog12.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         COPY "copy.inc".
000001C
000002C        01 TEST-VAR PIC X(2) VULUE "OK".
error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
000007         PROCEDURE        DIVISION.
000008             DISPLAY FIRST-MATCH NO ADVANCING
error: 'FIRST-MATCH' is not defined
000009             END-DISPLAY.
000010             STOP RUN.
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0002

SIZE  TYPE           LVL  NAME                           PICTURE

      No fields defined.


GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0003

Error/Warning summary:

copy.inc: 2: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
prog.cob: 8: error: 'FIRST-MATCH' is not defined

0 warnings in compilation group
2 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:884: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:884"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:884"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:885: diff prog12.lst prog.lis"
at_fn_check_prepare_trace "listings.at:885"
( $at_check_trace; diff prog12.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:885"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 TEST-VAR PIC X(2) VULUE "OK".
       PROCEDURE        DIVISION.
           DISPLAY FIRST-MATCH NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:899: \$COMPILE_ONLY -t prog.lst -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tsymbols prog.cob" "listings.at:899"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
prog.cob: 8: error: 'FIRST-MATCH' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/listings.at:899"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog13.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         01 TEST-VAR PIC X(2) VULUE "OK".
error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
000007         PROCEDURE        DIVISION.
000008             DISPLAY FIRST-MATCH NO ADVANCING
error: 'FIRST-MATCH' is not defined
000009             END-DISPLAY.
000010             STOP RUN.
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0002

SIZE  TYPE           LVL  NAME                           PICTURE

      No fields defined.


GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0003

Error/Warning summary:

prog.cob: 6: error: syntax error, unexpected Identifier, expecting EXTERNAL or GLOBAL
prog.cob: 8: error: 'FIRST-MATCH' is not defined

0 warnings in compilation group
2 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:939: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:939"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:939"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:940: diff prog13.lst prog.lis"
at_fn_check_prepare_trace "listings.at:940"
( $at_check_trace; diff prog13.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:940"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 TEST-VAR PIC 9(2) VALUE 'F1'.
       PROCEDURE        DIVISION.
           DISPLAY TEST-VAR NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:954: \$COMPILE_ONLY -t prog.lst -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tsymbols prog.cob" "listings.at:954"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: warning: numeric value is expected
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:954"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog14.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         01 TEST-VAR PIC 9(2) VALUE 'F1'.
warning: numeric value is expected
000007         PROCEDURE        DIVISION.
000008             DISPLAY TEST-VAR NO ADVANCING
000009             END-DISPLAY.
000010             STOP RUN.
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0002

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 NUMERIC        01   TEST-VAR                       9(2)


GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0003

Error/Warning summary:

prog.cob: 6: warning: numeric value is expected

1 warning in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:993: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:993"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:993"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:994: diff prog14.lst prog.lis"
at_fn_check_prepare_trace "listings.at:994"
( $at_check_trace; diff prog14.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:994"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/listings.at:997: \$COMPILE_ONLY -t prog.lst crud.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst crud.cob" "listings.at:997"
( $at_check_trace; $COMPILE_ONLY -t prog.lst crud.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "cobc: crud.cob: No such file or directory
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/listings.at:997"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog15.lst <<'_ATEOF'
GnuCOBOL V.R.P          crud.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

cobc: crud.cob: No such file or directory


0 warnings in compilation group
1 error in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1011: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:1011"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1011"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1012: diff prog15.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1012"
( $at_check_trace; diff prog15.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1012"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog.cpy <<'_ATEOF'

       78  I   VALUE 20.
       78  J   VALUE 5000.
       78  M   VALUE 5.
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 TEST-VAR PIC 9(2) VALUE 12.
       COPY 'prog.cpy'.
       PROCEDURE        DIVISION.
           DISPLAY TEST-VAR NO ADVANCING
           END-DISPLAY
           MOVE 'AA' TO TEST-VAR
           DISPLAY TEST-VAR NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1036: \$COBC \$FLAGS -E prog.cob"
at_fn_check_prepare_dynamic "$COBC $FLAGS -E prog.cob" "listings.at:1036"
( $at_check_trace; $COBC $FLAGS -E prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1036"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1037: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.i"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.i" "listings.at:1037"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.i
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: warning: numeric value is expected
prog.cob: 6: warning: 'TEST-VAR' defined here as PIC 9(2)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1037"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog17.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.i                     DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001  #line 1 "prog.cob"
000001
000002   IDENTIFICATION   DIVISION.
000003   PROGRAM-ID. prog.
000004   DATA DIVISION.
000005   WORKING-STORAGE SECTION.
000006   01 TEST-VAR PIC 9(2) VALUE 12.
000007
000001  #line 1 "prog.cpy"
000001
000002   78 I VALUE 20.
000003   78 J VALUE 5000.
000004   78 M VALUE 5.
000007  #line 7 "prog.cob"
000007
000008   PROCEDURE DIVISION.
000009   DISPLAY TEST-VAR NO ADVANCING
000010   END-DISPLAY
000011   MOVE 'AA' TO TEST-VAR
warning: numeric value is expected
000012   DISPLAY TEST-VAR NO ADVANCING
000013   END-DISPLAY
000014   STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 NUMERIC        01   TEST-VAR                       9(2)



Error/Warning summary:

prog.cob: 11: warning: numeric value is expected

1 warning in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1087: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:1087"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1087"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1088: diff prog17.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1088"
( $at_check_trace; diff prog17.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1088"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 TEST-VAR PIC 9(2) VALUE 12.
       COPY 'CRUD.CPY'.
       PROCEDURE        DIVISION.
           DISPLAY TEST-VAR NO ADVANCING
           END-DISPLAY
           MOVE 'AA' TO TEST-VAR
           DISPLAY TEST-VAR NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1106: \$COMPILE_ONLY -t prog.lst -tlines=0 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 prog.cob" "listings.at:1106"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: CRUD.CPY: No such file or directory
prog.cob: 11: warning: numeric value is expected
prog.cob: 6: warning: 'TEST-VAR' defined here as PIC 9(2)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/listings.at:1106"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog16.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         01 TEST-VAR PIC 9(2) VALUE 12.
000007         COPY 'CRUD.CPY'.
error: CRUD.CPY: No such file or directory
000008         PROCEDURE        DIVISION.
000009             DISPLAY TEST-VAR NO ADVANCING
000010             END-DISPLAY
000011             MOVE 'AA' TO TEST-VAR
warning: numeric value is expected
000012             DISPLAY TEST-VAR NO ADVANCING
000013             END-DISPLAY
000014             STOP RUN.



Error/Warning summary:

prog.cob: 7: error: CRUD.CPY: No such file or directory
prog.cob: 11: warning: numeric value is expected

1 warning in compilation group
1 error in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1145: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:1145"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1145"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1146: diff prog16.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1146"
( $at_check_trace; diff prog16.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1146"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/listings.at:1148: \$COMPILE_ONLY -t prog.lst -tlines=0 -fmax-errors=0 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -fmax-errors=0 prog.cob" "listings.at:1148"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -fmax-errors=0 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: error: CRUD.CPY: No such file or directory
cobc: too many errors
cobc: aborting compile of prog.cob at line 7 (unknown: unknown)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 97 $at_status "$at_srcdir/listings.at:1148"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog17.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         01 TEST-VAR PIC 9(2) VALUE 12.
000007         COPY 'CRUD.CPY'.
error: CRUD.CPY: No such file or directory
000008         PROCEDURE        DIVISION.
000009             DISPLAY TEST-VAR NO ADVANCING
000010             END-DISPLAY
000011             MOVE 'AA' TO TEST-VAR
000012             DISPLAY TEST-VAR NO ADVANCING
000013             END-DISPLAY
000014             STOP RUN.



Error/Warning summary:

prog.cob: 7: error: CRUD.CPY: No such file or directory

0 warnings in compilation group
1 error in compilation group
Too many errors in compilation group: 0 maximum errors
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1186: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:1186"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1186"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1187: diff prog17.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1187"
( $at_check_trace; diff prog17.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1187"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }



  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_281
#AT_START_282
at_fn_group_banner 282 'listings.at:1193' \
  "Two source files" "                               " 3
at_xfail=no
(
  $as_echo "282. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
      *COPY "copy.inc".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


cat >prog1.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
      *COPY "copy.inc".
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1218: \$COMPILE_ONLY -t prog.lst prog.cob prog1.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst prog.cob prog1.cob" "listings.at:1218"
( $at_check_trace; $COMPILE_ONLY -t prog.lst prog.cob prog1.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1218"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog11.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006        *COPY "copy.inc".
000007         PROCEDURE        DIVISION.
000008             STOP RUN.


0 warnings in compilation group
0 errors in compilation group
GnuCOBOL V.R.P          prog1.cob            DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006        *COPY "copy.inc".
000007         PROCEDURE        DIVISION.
000008             STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1255: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:1255"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1255"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1256: diff prog11.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1256"
( $at_check_trace; diff prog11.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1256"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_282
#AT_START_283
at_fn_group_banner 283 'listings.at:1261' \
  "Multiple programs in one file" "                  " 3
at_xfail=no
(
  $as_echo "283. $at_setup_line: testing $at_desc ..."
  $at_traceon






cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-1.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  blah PIC x.

       END PROGRAM prog-1.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-2.
       END PROGRAM prog-2.
_ATEOF


cat >prog20.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION DIVISION.
000003         PROGRAM-ID. prog-1.
000004
000005         DATA DIVISION.
000006         WORKING-STORAGE SECTION.
000007         01  blah PIC x.
000008
000009         END PROGRAM prog-1.
000010
000011         IDENTIFICATION DIVISION.
000012         PROGRAM-ID. prog-2.
000013         END PROGRAM prog-2.
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0002

SIZE  TYPE           LVL  NAME                           PICTURE

      PROGRAM             prog-1

      WORKING-STORAGE SECTION

00001 ALPHANUMERIC   01   blah                           X

      PROGRAM             prog-2

      No fields defined.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


# Check once with $COMPILE and once with $COMPILE_ONLY.
# This tests whether codegen affects the listing.
{ set +x
$as_echo "$at_srcdir/listings.at:1321: \$COMPILE -t prog.lst -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -t prog.lst -tsymbols prog.cob" "listings.at:1321"
( $at_check_trace; $COMPILE -t prog.lst -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1321"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1322: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:1322"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1322"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1323: diff prog20.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1323"
( $at_check_trace; diff prog20.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1323"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1324: \$COMPILE_ONLY -t prog2.lst -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog2.lst -tsymbols prog.cob" "listings.at:1324"
( $at_check_trace; $COMPILE_ONLY -t prog2.lst -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1324"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1325: \$UNIFY_LISTING prog2.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog2.lst prog.lis" "listings.at:1325"
( $at_check_trace; $UNIFY_LISTING prog2.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1325"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1326: diff prog20.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1326"
( $at_check_trace; diff prog20.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1326"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/listings.at:1328: rm -f prog.lst prog2.lst"
at_fn_check_prepare_trace "listings.at:1328"
( $at_check_trace; rm -f prog.lst prog2.lst
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1328"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }


cat >progb.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-1.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  blah PIC x.

       PROCEDURE DIVISION.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-2.
       PROCEDURE DIVISION.
       END PROGRAM prog-2.

       END PROGRAM prog-1.
_ATEOF


cat >prog20b.lst <<'_ATEOF'
GnuCOBOL V.R.P          progb.cob            DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION DIVISION.
000003         PROGRAM-ID. prog-1.
000004
000005         DATA DIVISION.
000006         WORKING-STORAGE SECTION.
000007         01  blah PIC x.
000008
000009         PROCEDURE DIVISION.
000010
000011         IDENTIFICATION DIVISION.
000012         PROGRAM-ID. prog-2.
000013         PROCEDURE DIVISION.
000014         END PROGRAM prog-2.
000015
000016         END PROGRAM prog-1.
GnuCOBOL V.R.P          progb.cob            DDD MMM dd HH:MM:SS YYYY  Page 0002

SIZE  TYPE           LVL  NAME                           PICTURE

      PROGRAM             prog-1

      WORKING-STORAGE SECTION

00001 ALPHANUMERIC   01   blah                           X

      PROGRAM             prog-2

      No fields defined.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


# Check once with $COMPILE and once with $COMPILE_ONLY.
# This tests whether codegen affects the listing.
{ set +x
$as_echo "$at_srcdir/listings.at:1390: \$COMPILE -t prog.lst -tsymbols progb.cob"
at_fn_check_prepare_dynamic "$COMPILE -t prog.lst -tsymbols progb.cob" "listings.at:1390"
( $at_check_trace; $COMPILE -t prog.lst -tsymbols progb.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1390"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1391: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:1391"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1391"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1392: diff prog20b.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1392"
( $at_check_trace; diff prog20b.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1392"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1393: \$COMPILE_ONLY -t prog2.lst -tsymbols progb.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog2.lst -tsymbols progb.cob" "listings.at:1393"
( $at_check_trace; $COMPILE_ONLY -t prog2.lst -tsymbols progb.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1393"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1394: \$UNIFY_LISTING prog2.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog2.lst prog.lis" "listings.at:1394"
( $at_check_trace; $UNIFY_LISTING prog2.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1394"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1395: diff prog20b.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1395"
( $at_check_trace; diff prog20b.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1395"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/listings.at:1397: rm -f prog.lst prog2.lst"
at_fn_check_prepare_trace "listings.at:1397"
( $at_check_trace; rm -f prog.lst prog2.lst
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1397"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }


cat >progc.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-1.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  blah PIC x.

       PROCEDURE DIVISION.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog-2.
       PROCEDURE.
       END PROGRAM prog-2.

       END PROGRAM prog-1.
_ATEOF


cat >prog20c.lst <<'_ATEOF'
GnuCOBOL V.R.P          progc.cob            DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION DIVISION.
000003         PROGRAM-ID. prog-1.
000004
000005         DATA DIVISION.
000006         WORKING-STORAGE SECTION.
000007         01  blah PIC x.
000008
000009         PROCEDURE DIVISION.
000010
000011         IDENTIFICATION DIVISION.
000012         PROGRAM-ID. prog-2.
000013         PROCEDURE.
error: syntax error, unexpected ., expecting DIVISION
000014         END PROGRAM prog-2.
000015
000016         END PROGRAM prog-1.
GnuCOBOL V.R.P          progc.cob            DDD MMM dd HH:MM:SS YYYY  Page 0002

SIZE  TYPE           LVL  NAME                           PICTURE

      PROGRAM             prog-1

      WORKING-STORAGE SECTION

00001 ALPHANUMERIC   01   blah                           X

      PROGRAM             prog-2

      No fields defined.


GnuCOBOL V.R.P          progc.cob            DDD MMM dd HH:MM:SS YYYY  Page 0003

Error/Warning summary:

progc.cob: 13: error: syntax error, unexpected ., expecting DIVISION

0 warnings in compilation group
1 error in compilation group
_ATEOF


# Check once with $COMPILE and once with $COMPILE_ONLY.
# This tests whether codegen affects the listing.
{ set +x
$as_echo "$at_srcdir/listings.at:1466: \$COMPILE -t prog.lst -tsymbols progc.cob"
at_fn_check_prepare_dynamic "$COMPILE -t prog.lst -tsymbols progc.cob" "listings.at:1466"
( $at_check_trace; $COMPILE -t prog.lst -tsymbols progc.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "progc.cob: 13: error: syntax error, unexpected ., expecting DIVISION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/listings.at:1466"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1469: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:1469"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1469"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1470: diff prog20c.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1470"
( $at_check_trace; diff prog20c.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1470"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1471: \$COMPILE_ONLY -t prog2.lst -tsymbols progc.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog2.lst -tsymbols progc.cob" "listings.at:1471"
( $at_check_trace; $COMPILE_ONLY -t prog2.lst -tsymbols progc.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "progc.cob: 13: error: syntax error, unexpected ., expecting DIVISION
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/listings.at:1471"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1474: \$UNIFY_LISTING prog2.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog2.lst prog.lis" "listings.at:1474"
( $at_check_trace; $UNIFY_LISTING prog2.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1474"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1475: diff prog20c.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1475"
( $at_check_trace; diff prog20c.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1475"
$at_failed && at_fn_log_failure  \
"prog.lst" \
"prog2.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_283
#AT_START_284
at_fn_group_banner 284 'listings.at:1480' \
  "Wide listing" "                                   " 3
at_xfail=no
(
  $as_echo "284. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.                                       PROG001
       PROGRAM-ID.      prog.                                           PROG002
       DATA             DIVISION.                                       PROG003
       WORKING-STORAGE  SECTION.                                        PROG004
      /                                                                 PROG005
       PROCEDURE        DIVISION.                                       PROG006
           STOP RUN.                                                    PROG007
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1495: \$COMPILE_ONLY -T prog.lst prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -T prog.lst prog.cob" "listings.at:1495"
( $at_check_trace; $COMPILE_ONLY -T prog.lst prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1495"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog9.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog.cob                                                      DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................SEQUENCE

000001
000002         IDENTIFICATION   DIVISION.                                       PROG001
000003         PROGRAM-ID.      prog.                                           PROG002
000004         DATA             DIVISION.                                       PROG003
000005         WORKING-STORAGE  SECTION.                                        PROG004
GnuCOBOL V.R.P          prog.cob                                                      DDD MMM dd HH:MM:SS YYYY  Page 0002

LINE    PG/LN  A...B............................................................SEQUENCE

000006        /                                                                 PROG005
000007         PROCEDURE        DIVISION.                                       PROG006
000008             STOP RUN.                                                    PROG007


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1520: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:1520"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1520"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1521: diff prog9.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1521"
( $at_check_trace; diff prog9.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1521"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog2.cob <<'_ATEOF'

  IDENTIFICATION   DIVISION.
  PROGRAM-ID.      prog2.
  DATA             DIVISION.
  WORKING-STORAGE  SECTION.
  >> PAGE  page  feed  comment
  PROCEDURE        DIVISION.
 DISPLAY
 '3456&'.
  STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1535: \$COMPILE_ONLY -T prog.lst -free prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -T prog.lst -free prog2.cob" "listings.at:1535"
( $at_check_trace; $COMPILE_ONLY -T prog.lst -free prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1535"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog10.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog2.cob                                                     DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    .....................................................SOURCE.....................................................

000001
000002    IDENTIFICATION   DIVISION.
000003    PROGRAM-ID.      prog2.
000004    DATA             DIVISION.
000005    WORKING-STORAGE  SECTION.
GnuCOBOL V.R.P          prog2.cob                                                     DDD MMM dd HH:MM:SS YYYY  Page 0002

LINE    .....................................................SOURCE.....................................................

000006    >> PAGE  page  feed  comment
000007    PROCEDURE        DIVISION.
000008   DISPLAY
000009   '3456&'.
000010    STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1562: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:1562"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1562"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1563: diff prog10.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1563"
( $at_check_trace; diff prog10.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1563"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_284
#AT_START_285
at_fn_group_banner 285 'listings.at:1568' \
  "Symbols: simple" "                                " 3
at_xfail=no
(
  $as_echo "285. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 WS-ONE    PIC 9(4) VALUE 37.
       01 WS-TWO    PIC A(4) VALUE 'HIGH'.
       01 WS-THREE  PIC X(4) VALUE 'BAR'.
       01 WS-FOUR            COMP-1 VALUE 37.
       01 WS-FIVE            COMP-2 VALUE 37.
       01 WS-SIX    PIC S999 COMP-3 VALUE -37.
       01 WS-SEVEN  PIC $$,$$$,$$9.99 VALUE ZERO.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1589: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:1589"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1589"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog15.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         01 WS-ONE    PIC 9(4) VALUE 37.
000007         01 WS-TWO    PIC A(4) VALUE 'HIGH'.
000008         01 WS-THREE  PIC X(4) VALUE 'BAR'.
000009         01 WS-FOUR            COMP-1 VALUE 37.
000010         01 WS-FIVE            COMP-2 VALUE 37.
000011         01 WS-SIX    PIC S999 COMP-3 VALUE -37.
000012         01 WS-SEVEN  PIC $$,$$$,$$9.99 VALUE ZERO.
000013         PROCEDURE        DIVISION.
000014             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00004 NUMERIC        01   WS-ONE                         9(4)

00004 ALPHABETIC     01   WS-TWO                         A(4)

00004 ALPHANUMERIC   01   WS-THREE                       X(4)

00004 NUMERIC        01   WS-FOUR                        S9(7)V9(8) COMP-1

00008 NUMERIC        01   WS-FIVE                        S9(17)V9(17) COMP-2

00002 NUMERIC        01   WS-SIX                         S999 COMP-3

00013 NUMERIC        01   WS-SEVEN                       $$,$$$,$$9.99


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1634: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:1634"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1634"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1635: diff prog15.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1635"
( $at_check_trace; diff prog15.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1635"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 WS-ONE    PIC 9(4).
       01 WS-TWO    PIC A(4).
       01 WS-THREE  PIC X(4).
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1649: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog2.cob" "listings.at:1649"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1649"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog16.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog2.cob                  DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         LINKAGE          SECTION.
000006         01 WS-ONE    PIC 9(4).
000007         01 WS-TWO    PIC A(4).
000008         01 WS-THREE  PIC X(4).
000009         PROCEDURE        DIVISION.
000010             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      LINKAGE SECTION

00004 ALPHANUMERIC   01   WS-ONE                         9(4)

00004 ALPHANUMERIC   01   WS-TWO                         A(4)

00004 ALPHANUMERIC   01   WS-THREE                       X(4)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1682: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:1682"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1682"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1683: diff prog16.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1683"
( $at_check_trace; diff prog16.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1683"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog-1.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 WS-ONE    PIC 9(4) VALUE 37.
       01 WS-TWO    PIC A(4) VALUE 'HIGH'.
       01 WS-THREE  PIC X(4) VALUE 'BAR'.
       01 WS-FOUR            COMP-1 VALUE 37.
       01 WS-FIVE            COMP-2 VALUE 37.
       01 WS-SIX    PIC S999 COMP-3 VALUE -37.
       01 WS-SEVEN  PIC $$,$$$,$$9.99 VALUE ZERO.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1701: \$COMPILE_ONLY -t prog.lst prog-1.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst prog-1.cob" "listings.at:1701"
( $at_check_trace; $COMPILE_ONLY -t prog.lst prog-1.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1701"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog15-1.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog-1.cob           DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         01 WS-ONE    PIC 9(4) VALUE 37.
000007         01 WS-TWO    PIC A(4) VALUE 'HIGH'.
000008         01 WS-THREE  PIC X(4) VALUE 'BAR'.
000009         01 WS-FOUR            COMP-1 VALUE 37.
000010         01 WS-FIVE            COMP-2 VALUE 37.
000011         01 WS-SIX    PIC S999 COMP-3 VALUE -37.
000012         01 WS-SEVEN  PIC $$,$$$,$$9.99 VALUE ZERO.
000013         PROCEDURE        DIVISION.
000014             STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1728: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:1728"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1728"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:1729: diff prog15-1.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1729"
( $at_check_trace; diff prog15-1.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1729"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_285
#AT_START_286
at_fn_group_banner 286 'listings.at:1734' \
  "Symbols: pointer" "                               " 3
at_xfail=no
(
  $as_echo "286. $at_setup_line: testing $at_desc ..."
  $at_traceon





# Check for 32/64bit first
cat >P64.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      P64.
       DATA             DIVISION.
       PROCEDURE        DIVISION.
       >>IF P64 SET
           DISPLAY '64' WITH NO ADVANCING
           END-DISPLAY.
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1752: \$COMPILE P64.cob"
at_fn_check_prepare_dynamic "$COMPILE P64.cob" "listings.at:1752"
( $at_check_trace; $COMPILE P64.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1752"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77  WS-Where           pic x(512).

       01  ws-mysql.
           02  ws-mysql-cid                        usage pointer.
           02  ws-mysql-result                     usage pointer.
           02  ws-mysql-result-2                   usage pointer.
           02  ws-mysql-result-3                   usage pointer.
           02  ws-mysql-count-rows                 pic s9(9) comp.
           02  ws-mysql-error-number               pic x(4).
           02  ws-mysql-error-message              pic x(80).
           02  ws-mysql-host-name                  pic x(64).
           02  ws-mysql-implementation             pic x(64).
           02  ws-mysql-password                   pic x(64).
           02  ws-mysql-base-name                  pic x(64).
           02  ws-mysql-port-number                pic x(4).
           02  ws-mysql-socket                     pic x(64).
           02  ws-mysql-command                    pic x(4096).

       01  ws-No-Paragraph pic 9(4).
       local-storage section.
       01  subscripts usage comp-5.
           12 J                    pic s9(4).
           12 K                    pic s9(4).
           12 L                    pic s9(4).

       SCREEN           SECTION.
       01  Display-Message-1 foreground-color 2.
           03  value "WS-Where=" line 23 col  1.
           03  from WS-Where (1:J) pic x(69) col 10.
       01  Display-Message-2 foreground-color 2.
           03  value "ST004 SQL Err No.=" line 4 col  1.
           03  using ws-mysql-error-number pic x(4) col 19.
           03  value " Para=" col 23.
           03  using WS-No-Paragraph pic 9(3) col 29.
           03  value " SQL Cmd=" col 32.
           03  using ws-mysql-command pic x(199) col 41.
           03  value "SQL Err Msg=" line 7 col  1.
           03  using ws-mysql-error-message pic x(67) col 13.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1801: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog3.cob" "listings.at:1801"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1801"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/listings.at:1803: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:1803"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1803"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/listings.at:1805: ./P64"
at_fn_check_prepare_trace "listings.at:1805"
( $at_check_trace; ./P64
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "64" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1805"
if $at_failed; then :
  # Previous test "failed" --> P64 did not show '64' --> 32 bit

cat >prog17-32.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog3.cob                  DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         77  WS-Where           pic x(512).
000007
000008         01  ws-mysql.
000009             02  ws-mysql-cid                        usage pointer.
000010             02  ws-mysql-result                     usage pointer.
000011             02  ws-mysql-result-2                   usage pointer.
000012             02  ws-mysql-result-3                   usage pointer.
000013             02  ws-mysql-count-rows                 pic s9(9) comp.
000014             02  ws-mysql-error-number               pic x(4).
000015             02  ws-mysql-error-message              pic x(80).
000016             02  ws-mysql-host-name                  pic x(64).
000017             02  ws-mysql-implementation             pic x(64).
000018             02  ws-mysql-password                   pic x(64).
000019             02  ws-mysql-base-name                  pic x(64).
000020             02  ws-mysql-port-number                pic x(4).
000021             02  ws-mysql-socket                     pic x(64).
000022             02  ws-mysql-command                    pic x(4096).
000023
000024         01  ws-No-Paragraph pic 9(4).
000025         local-storage section.
000026         01  subscripts usage comp-5.
000027             12 J                    pic s9(4).
000028             12 K                    pic s9(4).
000029             12 L                    pic s9(4).
000030
000031         SCREEN           SECTION.
000032         01  Display-Message-1 foreground-color 2.
000033             03  value "WS-Where=" line 23 col  1.
000034             03  from WS-Where (1:J) pic x(69) col 10.
000035         01  Display-Message-2 foreground-color 2.
000036             03  value "ST004 SQL Err No.=" line 4 col  1.
000037             03  using ws-mysql-error-number pic x(4) col 19.
000038             03  value " Para=" col 23.
000039             03  using WS-No-Paragraph pic 9(3) col 29.
000040             03  value " SQL Cmd=" col 32.
000041             03  using ws-mysql-command pic x(199) col 41.
000042             03  value "SQL Err Msg=" line 7 col  1.
000043             03  using ws-mysql-error-message pic x(67) col 13.
000044         PROCEDURE        DIVISION.
000045             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00512 ALPHANUMERIC   77   WS-Where                       X(512)

04524 GROUP          01   ws-mysql
00004 POINTER        02   ws-mysql-cid
00004 POINTER        02   ws-mysql-result
00004 POINTER        02   ws-mysql-result-2
00004 POINTER        02   ws-mysql-result-3
00004 NUMERIC        02   ws-mysql-count-rows            S9(9) COMP
00004 ALPHANUMERIC   02   ws-mysql-error-number          X(4)
00080 ALPHANUMERIC   02   ws-mysql-error-message         X(80)
00064 ALPHANUMERIC   02   ws-mysql-host-name             X(64)
00064 ALPHANUMERIC   02   ws-mysql-implementation        X(64)
00064 ALPHANUMERIC   02   ws-mysql-password              X(64)
00064 ALPHANUMERIC   02   ws-mysql-base-name             X(64)
00004 ALPHANUMERIC   02   ws-mysql-port-number           X(4)
00064 ALPHANUMERIC   02   ws-mysql-socket                X(64)
04096 ALPHANUMERIC   02   ws-mysql-command               X(4096)

00004 ALPHANUMERIC   01   ws-No-Paragraph                9(4)

      LOCAL-STORAGE SECTION

00006 GROUP          01   subscripts
00002 NUMERIC        12   J                              S9(4) COMP-5
00002 NUMERIC        12   K                              S9(4) COMP-5
00002 NUMERIC        12   L                              S9(4) COMP-5

      SCREEN SECTION

00078 GROUP          01   Display-Message-1
00009 ALPHANUMERIC   03   FILLER                         X(9)
00069 ALPHANUMERIC   03   FILLER                         X(69)

00318 GROUP          01   Display-Message-2
00018 ALPHANUMERIC   03   FILLER                         X(18)
00004 ALPHANUMERIC   03   FILLER                         X(4)
00006 ALPHANUMERIC   03   FILLER                         X(6)
00003 ALPHANUMERIC   03   FILLER                         9(3)
00009 ALPHANUMERIC   03   FILLER                         X(9)
00199 ALPHANUMERIC   03   FILLER                         X(199)
00012 ALPHANUMERIC   03   FILLER                         X(12)
00067 ALPHANUMERIC   03   FILLER                         X(67)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1805: diff prog17-32.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1805"
( $at_check_trace; diff prog17-32.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1805"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }



else
  # Previous test "passed" --> P64 showed '64' --> 64 bit

cat >prog17-64.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog3.cob                  DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         77  WS-Where           pic x(512).
000007
000008         01  ws-mysql.
000009             02  ws-mysql-cid                        usage pointer.
000010             02  ws-mysql-result                     usage pointer.
000011             02  ws-mysql-result-2                   usage pointer.
000012             02  ws-mysql-result-3                   usage pointer.
000013             02  ws-mysql-count-rows                 pic s9(9) comp.
000014             02  ws-mysql-error-number               pic x(4).
000015             02  ws-mysql-error-message              pic x(80).
000016             02  ws-mysql-host-name                  pic x(64).
000017             02  ws-mysql-implementation             pic x(64).
000018             02  ws-mysql-password                   pic x(64).
000019             02  ws-mysql-base-name                  pic x(64).
000020             02  ws-mysql-port-number                pic x(4).
000021             02  ws-mysql-socket                     pic x(64).
000022             02  ws-mysql-command                    pic x(4096).
000023
000024         01  ws-No-Paragraph pic 9(4).
000025         local-storage section.
000026         01  subscripts usage comp-5.
000027             12 J                    pic s9(4).
000028             12 K                    pic s9(4).
000029             12 L                    pic s9(4).
000030
000031         SCREEN           SECTION.
000032         01  Display-Message-1 foreground-color 2.
000033             03  value "WS-Where=" line 23 col  1.
000034             03  from WS-Where (1:J) pic x(69) col 10.
000035         01  Display-Message-2 foreground-color 2.
000036             03  value "ST004 SQL Err No.=" line 4 col  1.
000037             03  using ws-mysql-error-number pic x(4) col 19.
000038             03  value " Para=" col 23.
000039             03  using WS-No-Paragraph pic 9(3) col 29.
000040             03  value " SQL Cmd=" col 32.
000041             03  using ws-mysql-command pic x(199) col 41.
000042             03  value "SQL Err Msg=" line 7 col  1.
000043             03  using ws-mysql-error-message pic x(67) col 13.
000044         PROCEDURE        DIVISION.
000045             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00512 ALPHANUMERIC   77   WS-Where                       X(512)

04540 GROUP          01   ws-mysql
00008 POINTER        02   ws-mysql-cid
00008 POINTER        02   ws-mysql-result
00008 POINTER        02   ws-mysql-result-2
00008 POINTER        02   ws-mysql-result-3
00004 NUMERIC        02   ws-mysql-count-rows            S9(9) COMP
00004 ALPHANUMERIC   02   ws-mysql-error-number          X(4)
00080 ALPHANUMERIC   02   ws-mysql-error-message         X(80)
00064 ALPHANUMERIC   02   ws-mysql-host-name             X(64)
00064 ALPHANUMERIC   02   ws-mysql-implementation        X(64)
00064 ALPHANUMERIC   02   ws-mysql-password              X(64)
00064 ALPHANUMERIC   02   ws-mysql-base-name             X(64)
00004 ALPHANUMERIC   02   ws-mysql-port-number           X(4)
00064 ALPHANUMERIC   02   ws-mysql-socket                X(64)
04096 ALPHANUMERIC   02   ws-mysql-command               X(4096)

00004 ALPHANUMERIC   01   ws-No-Paragraph                9(4)

      LOCAL-STORAGE SECTION

00006 GROUP          01   subscripts
00002 NUMERIC        12   J                              S9(4) COMP-5
00002 NUMERIC        12   K                              S9(4) COMP-5
00002 NUMERIC        12   L                              S9(4) COMP-5

      SCREEN SECTION

00078 GROUP          01   Display-Message-1
00009 ALPHANUMERIC   03   FILLER                         X(9)
00069 ALPHANUMERIC   03   FILLER                         X(69)

00318 GROUP          01   Display-Message-2
00018 ALPHANUMERIC   03   FILLER                         X(18)
00004 ALPHANUMERIC   03   FILLER                         X(4)
00006 ALPHANUMERIC   03   FILLER                         X(6)
00003 ALPHANUMERIC   03   FILLER                         9(3)
00009 ALPHANUMERIC   03   FILLER                         X(9)
00199 ALPHANUMERIC   03   FILLER                         X(199)
00012 ALPHANUMERIC   03   FILLER                         X(12)
00067 ALPHANUMERIC   03   FILLER                         X(67)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:1805: diff prog17-64.lst prog.lis"
at_fn_check_prepare_trace "listings.at:1805"
( $at_check_trace; diff prog17-64.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:1805"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }



fi
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }



  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_286
#AT_START_287
at_fn_group_banner 287 'listings.at:2029' \
  "Symbols: mutliple programs/functions" "           " 3
at_xfail=no
(
  $as_echo "287. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog4.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     WITHPAR.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 PAR-IN        PIC 9.
       01 PAR-OUT       PIC 9.
       PROCEDURE DIVISION USING PAR-IN RETURNING PAR-OUT.
           ADD 1 TO PAR-IN GIVING PAR-OUT END-ADD.
           GOBACK.
       END FUNCTION WITHPAR.

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     WITHOUTPAR.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 PAR           PIC 9.
       PROCEDURE DIVISION RETURNING PAR.
           MOVE 1 TO PAR.
           GOBACK.
       END FUNCTION WITHOUTPAR.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       REPOSITORY.
           FUNCTION     WITHPAR
           FUNCTION     WITHOUTPAR.
       PROCEDURE        DIVISION.
           IF WITHPAR(1) NOT = 2
              DISPLAY WITHPAR(1)
              END-DISPLAY
           END-IF.
           IF WITHOUTPAR NOT = 1
              DISPLAY WITHOUTPAR
              END-DISPLAY
           END-IF.
           STOP RUN.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2076: \$COMPILE_ONLY -t prog.lst -tsymbols prog4.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tsymbols prog4.cob" "listings.at:2076"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tsymbols prog4.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2076"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog18.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog4.cob            DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         FUNCTION-ID.     WITHPAR.
000004         DATA             DIVISION.
000005         LINKAGE          SECTION.
000006         01 PAR-IN        PIC 9.
000007         01 PAR-OUT       PIC 9.
000008         PROCEDURE DIVISION USING PAR-IN RETURNING PAR-OUT.
000009             ADD 1 TO PAR-IN GIVING PAR-OUT END-ADD.
000010             GOBACK.
000011         END FUNCTION WITHPAR.
000012
000013         IDENTIFICATION   DIVISION.
000014         FUNCTION-ID.     WITHOUTPAR.
000015         DATA             DIVISION.
000016         LINKAGE          SECTION.
000017         01 PAR           PIC 9.
000018         PROCEDURE DIVISION RETURNING PAR.
000019             MOVE 1 TO PAR.
000020             GOBACK.
000021         END FUNCTION WITHOUTPAR.
000022
000023         IDENTIFICATION   DIVISION.
000024         PROGRAM-ID.      prog.
000025         ENVIRONMENT      DIVISION.
000026         CONFIGURATION    SECTION.
000027         REPOSITORY.
000028             FUNCTION     WITHPAR
000029             FUNCTION     WITHOUTPAR.
000030         PROCEDURE        DIVISION.
000031             IF WITHPAR(1) NOT = 2
000032                DISPLAY WITHPAR(1)
000033                END-DISPLAY
000034             END-IF.
000035             IF WITHOUTPAR NOT = 1
000036                DISPLAY WITHOUTPAR
000037                END-DISPLAY
000038             END-IF.
000039             STOP RUN.
000040         END PROGRAM prog.
GnuCOBOL V.R.P          prog4.cob            DDD MMM dd HH:MM:SS YYYY  Page 0002

SIZE  TYPE           LVL  NAME                           PICTURE

      FUNCTION            WITHPAR

      LINKAGE SECTION

00001 NUMERIC        01   PAR-IN                         9

00001 NUMERIC        01   PAR-OUT                        9

      FUNCTION            WITHOUTPAR

      LINKAGE SECTION

00001 NUMERIC        01   PAR                            9

      PROGRAM             prog

      No fields defined.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2150: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:2150"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2150"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:2151: diff prog18.lst prog.lis"
at_fn_check_prepare_trace "listings.at:2151"
( $at_check_trace; diff prog18.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2151"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_287
#AT_START_288
at_fn_group_banner 288 'listings.at:2156' \
  "Symbols: OCCURS/REDEFINES" "                      " 3
at_xfail=no
(
  $as_echo "288. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       78  I   VALUE 20.
       78  J   VALUE 5000.
       78  M   VALUE 5.
       01  SETUP-REC.
           05  FL1       PIC X(04).
           05  FL2       PIC ZZZZZ.
           05  FL3       PIC 9(04).
           05  FL4       PIC 9(08) COMP.
           05  FL5       PIC 9(04) COMP-4.
           05  FL6       PIC Z,ZZZ.99.
           05  FL7       PIC S9(05) SIGN LEADING SEPARATE.
           05  FL8       PIC X(04).
           05  FL9 REDEFINES FL8 PIC 9(04).
           05  FLA.
               10  FLB OCCURS I TIMES.
                   15  FLC PIC X(02).
               10  FLD   PIC X(20).
           05  FLD1      PIC X(100).
           05  FLD2 OCCURS M TO J TIMES DEPENDING ON FL5.
               10  FILLER PIC X(01).
           05  FLD3      PIC X(3).
           05  FLD4      PIC X(4).
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2194: \$COMPILE_ONLY -fcomplex-odo -t prog.lst -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fcomplex-odo -t prog.lst -tsymbols prog.cob" "listings.at:2194"
( $at_check_trace; $COMPILE_ONLY -fcomplex-odo -t prog.lst -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2194"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog19.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         ENVIRONMENT DIVISION.
000005         CONFIGURATION SECTION.
000006         DATA             DIVISION.
000007         WORKING-STORAGE  SECTION.
000008         78  I   VALUE 20.
000009         78  J   VALUE 5000.
000010         78  M   VALUE 5.
000011         01  SETUP-REC.
000012             05  FL1       PIC X(04).
000013             05  FL2       PIC ZZZZZ.
000014             05  FL3       PIC 9(04).
000015             05  FL4       PIC 9(08) COMP.
000016             05  FL5       PIC 9(04) COMP-4.
000017             05  FL6       PIC Z,ZZZ.99.
000018             05  FL7       PIC S9(05) SIGN LEADING SEPARATE.
000019             05  FL8       PIC X(04).
000020             05  FL9 REDEFINES FL8 PIC 9(04).
000021             05  FLA.
000022                 10  FLB OCCURS I TIMES.
000023                     15  FLC PIC X(02).
000024                 10  FLD   PIC X(20).
000025             05  FLD1      PIC X(100).
000026             05  FLD2 OCCURS M TO J TIMES DEPENDING ON FL5.
000027                 10  FILLER PIC X(01).
000028             05  FLD3      PIC X(3).
000029             05  FLD4      PIC X(4).
000030         PROCEDURE        DIVISION.
000031             STOP RUN.
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0002

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

05204 GROUP          01   SETUP-REC
00004 ALPHANUMERIC   05   FL1                            X(04)
00005 ALPHANUMERIC   05   FL2                            ZZZZZ
00004 ALPHANUMERIC   05   FL3                            9(04)
00004 NUMERIC        05   FL4                            9(08) COMP
00002 NUMERIC        05   FL5                            9(04) COMP
00008 ALPHANUMERIC   05   FL6                            Z,ZZZ.99
00006 ALPHANUMERIC   05   FL7                            S9(05)
00004 ALPHANUMERIC   05   FL8                            X(04)
00004 ALPHANUMERIC   05   FL9                            9(04), REDEFINES FL8
00060 GROUP          05   FLA
00040 GROUP          10   FLB                            OCCURS 20
00002 ALPHANUMERIC   15   FLC                            X(02)
00020 ALPHANUMERIC   10   FLD                            X(20)
00100 ALPHANUMERIC   05   FLD1                           X(100)
05000 GROUP          05   FLD2                           OCCURS 5 TO 5000
00001 ALPHANUMERIC   10   FILLER                         X(01)
00003 ALPHANUMERIC   05   FLD3                           X(3)
00004 ALPHANUMERIC   05   FLD4                           X(4)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2263: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:2263"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2263"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:2264: diff prog19.lst prog.lis"
at_fn_check_prepare_trace "listings.at:2264"
( $at_check_trace; diff prog19.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2264"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_288
#AT_START_289
at_fn_group_banner 289 'listings.at:2269' \
  "Conditional compilation" "                        " 3
at_xfail=no
(
  $as_echo "289. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
       >>IF ACTIVATE DEFINED
           DISPLAY "NOTOK" NO ADVANCING
           END-DISPLAY
       >>ELIF ACTIVATE2 DEFINED
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
       >>ELSE
           DISPLAY "NOTOK" NO ADVANCING
           END-DISPLAY
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2293: \$COMPILE_ONLY -DACTIVATE2 -t prog.lst prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -DACTIVATE2 -t prog.lst prog.cob" "listings.at:2293"
( $at_check_trace; $COMPILE_ONLY -DACTIVATE2 -t prog.lst prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2293"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog16.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         PROCEDURE        DIVISION.
000007         >>IF ACTIVATE DEFINED
000008X            DISPLAY "NOTOK" NO ADVANCING
000009X            END-DISPLAY
000010         >>ELIF ACTIVATE2 DEFINED
000011             DISPLAY "OK" NO ADVANCING
000012             END-DISPLAY
000013         >>ELSE
000014X            DISPLAY "NOTOK" NO ADVANCING
000015X            END-DISPLAY
000016         >>END-IF
000017             STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2323: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:2323"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2323"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:2324: diff prog16.lst prog.lis"
at_fn_check_prepare_trace "listings.at:2324"
( $at_check_trace; diff prog16.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2324"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_289
#AT_START_290
at_fn_group_banner 290 'listings.at:2329' \
  "File descriptions" "                              " 3
at_xfail=no
(
  $as_echo "290. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT OLD-VERSION  ASSIGN TO "SYSUT1"
                               ORGANIZATION LINE SEQUENTIAL.
           SELECT NEW-VERSION  ASSIGN TO "SYSUT2"
                               ORGANIZATION LINE SEQUENTIAL.
           SELECT PRT-VERSION  ASSIGN TO "SYSUT2"
                               ORGANIZATION LINE SEQUENTIAL.
           SELECT MODIFICATION ASSIGN TO "SYSIN1"
                               ORGANIZATION LINE SEQUENTIAL.
           SELECT COMMENTARY   ASSIGN TO "SYSOU1"
                               ORGANIZATION LINE SEQUENTIAL.
       DATA DIVISION.
       FILE SECTION.

       FD  OLD-VERSION
           LABEL RECORDS ARE STANDARD
           BLOCK CONTAINS 80 CHARACTERS
           DATA RECORD IS OLD-RECORD.

       01  OLD-RECORD.
           02 OLD-STATEMENT       PICTURE X(75).
           02 OLD-NUMBER          PICTURE X(5).

       FD  NEW-VERSION
           LABEL RECORDS ARE STANDARD
           BLOCK CONTAINS 80 CHARACTERS
           DATA RECORD IS NEW-RECORD.

       01  NEW-RECORD.
           02 NEW-STATEMENT       PICTURE X(75).
           02 NEW-NUMBER          PICTURE X(5).

       FD  MODIFICATION
           LABEL RECORDS ARE OMITTED
           BLOCK CONTAINS 80 CHARACTERS
           DATA RECORD IS UPDATE-ORDER.

       01  UPDATE-ORDER.
           02 INSERTION.
              03 COMMAND          PICTURE X(6).
                 88 ENDJOB        VALUE "ENDJOB".
                 88 ENDSET        VALUE "ENDSET".
                 88 REMOVE        VALUE "REMOVE".
                 88 ADDNEW        VALUE "INSERT".
                 88 CHANGE        VALUE "CHANGE".
                 88 DISPLY        VALUE "DISPLY".
              03 FILLER           PICTURE X.
              03 A-FIELD          PICTURE 9(5).
              03 A-ALPHA REDEFINES A-FIELD    PICTURE X(5).
                 88 A-BLANK       VALUE SPACES.
              03 FILLER           PICTURE X(4).
              03 B-FIELD          PICTURE 9(5).
              03 B-ALPHA REDEFINES B-FIELD    PICTURE X(5).
                 88 B-BLANK       VALUE SPACES.
              03 FILLER           PICTURE X(54).
           02 FILLER              PICTURE X(5).

       FD  COMMENTARY
           LABEL RECORDS ARE OMITTED
           BLOCK CONTAINS 82 CHARACTERS
           DATA RECORD IS COMMENT-LINE.

       01  COMMENT-LINE.
           02 FILLER              PICTURE X(82).

       WORKING-STORAGE  SECTION.

       01  HEADINGS-LINE.
           02 FILLER              PICTURE X(15) VALUE "EDITOR VERSION".
           02 FILLER              PICTURE X(20) VALUE "1.1 - 206/72".
           02 PHASE               PICTURE X(17) VALUE "UPDATING AS OF".
           02 MONTH-RUN           PICTURE XX.
           02 FILLER              PICTURE X VALUE "/".
           02 DAY-RUN             PICTURE XX.
           02 FILLER              PICTURE X VALUE "/".
           02 YEAR-RUN            PICTURE XX.
           02 FILLER              PICTURE X(8) VALUE SPACES.
           02 FILLER              PICTURE X(8) VALUE "  PAGE: ".
           02 PAGE-NUMBER         PICTURE 9(4) VALUE 0.

       01  COMMAND-LISTING.
           02 FILLER              PICTURE X(2) VALUE SPACES.
           02 COMMAND-IMAGE       PICTURE X(80).

       01  ACTIVITIES-LISTING.
           02 DISPOSITION         PICTURE X(2).
           02 ACTIVE-IMAGE        PICTURE X(80).

       01  UPSI-BYTE.
           02 UPSI-BIT OCCURS 8 TIMES  PICTURE X.

       01  MESSAGE-LOG.
           02 FILLER              PICTURE X(2) VALUE SPACES.
           02 MESSAGE-TEXT        PICTURE X(80).

       01  DISPLAY-MESSAGE.
           02 FILLER              PICTURE X(2) VALUE SPACES.
           02 DISPLAY-TEMP        PICTURE X(6).
           02 FILLER              PICTURE X(2) VALUE SPACES.
           02 DISPLAY-TEXT        PICTURE X(60).

       PROCEDURE DIVISION.
           OPEN INPUT OLD-VERSION, MODIFICATION,
                OUTPUT NEW-VERSION, COMMENTARY.
           CLOSE OLD-VERSION, NEW-VERSION, MODIFICATION, COMMENTARY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2447: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:2447"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 21: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 23: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 30: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 32: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 39: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 41: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 64: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 66: warning: DATA RECORDS is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2447"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }



cat >prog18.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION DIVISION.
000003         PROGRAM-ID. prog.
000004         ENVIRONMENT DIVISION.
000005         INPUT-OUTPUT SECTION.
000006         FILE-CONTROL.
000007             SELECT OLD-VERSION  ASSIGN TO "SYSUT1"
000008                                 ORGANIZATION LINE SEQUENTIAL.
000009             SELECT NEW-VERSION  ASSIGN TO "SYSUT2"
000010                                 ORGANIZATION LINE SEQUENTIAL.
000011             SELECT PRT-VERSION  ASSIGN TO "SYSUT2"
000012                                 ORGANIZATION LINE SEQUENTIAL.
000013             SELECT MODIFICATION ASSIGN TO "SYSIN1"
000014                                 ORGANIZATION LINE SEQUENTIAL.
000015             SELECT COMMENTARY   ASSIGN TO "SYSOU1"
000016                                 ORGANIZATION LINE SEQUENTIAL.
000017         DATA DIVISION.
000018         FILE SECTION.
000019
000020         FD  OLD-VERSION
000021             LABEL RECORDS ARE STANDARD
warning: LABEL RECORDS is obsolete in GnuCOBOL
000022             BLOCK CONTAINS 80 CHARACTERS
000023             DATA RECORD IS OLD-RECORD.
warning: DATA RECORDS is obsolete in GnuCOBOL
000024
000025         01  OLD-RECORD.
000026             02 OLD-STATEMENT       PICTURE X(75).
000027             02 OLD-NUMBER          PICTURE X(5).
000028
000029         FD  NEW-VERSION
000030             LABEL RECORDS ARE STANDARD
warning: LABEL RECORDS is obsolete in GnuCOBOL
000031             BLOCK CONTAINS 80 CHARACTERS
000032             DATA RECORD IS NEW-RECORD.
warning: DATA RECORDS is obsolete in GnuCOBOL
000033
000034         01  NEW-RECORD.
000035             02 NEW-STATEMENT       PICTURE X(75).
000036             02 NEW-NUMBER          PICTURE X(5).
000037
000038         FD  MODIFICATION
000039             LABEL RECORDS ARE OMITTED
warning: LABEL RECORDS is obsolete in GnuCOBOL
000040             BLOCK CONTAINS 80 CHARACTERS
000041             DATA RECORD IS UPDATE-ORDER.
warning: DATA RECORDS is obsolete in GnuCOBOL
000042
000043         01  UPDATE-ORDER.
000044             02 INSERTION.
000045                03 COMMAND          PICTURE X(6).
000046                   88 ENDJOB        VALUE "ENDJOB".
000047                   88 ENDSET        VALUE "ENDSET".
000048                   88 REMOVE        VALUE "REMOVE".
000049                   88 ADDNEW        VALUE "INSERT".
000050                   88 CHANGE        VALUE "CHANGE".
000051                   88 DISPLY        VALUE "DISPLY".
000052                03 FILLER           PICTURE X.
000053                03 A-FIELD          PICTURE 9(5).
000054                03 A-ALPHA REDEFINES A-FIELD    PICTURE X(5).
000055                   88 A-BLANK       VALUE SPACES.
000056                03 FILLER           PICTURE X(4).
000057                03 B-FIELD          PICTURE 9(5).
000058                03 B-ALPHA REDEFINES B-FIELD    PICTURE X(5).
000059                   88 B-BLANK       VALUE SPACES.
000060                03 FILLER           PICTURE X(54).
000061             02 FILLER              PICTURE X(5).
000062
000063         FD  COMMENTARY
000064             LABEL RECORDS ARE OMITTED
warning: LABEL RECORDS is obsolete in GnuCOBOL
000065             BLOCK CONTAINS 82 CHARACTERS
000066             DATA RECORD IS COMMENT-LINE.
warning: DATA RECORDS is obsolete in GnuCOBOL
000067
000068         01  COMMENT-LINE.
000069             02 FILLER              PICTURE X(82).
000070
000071         WORKING-STORAGE  SECTION.
000072
000073         01  HEADINGS-LINE.
000074             02 FILLER              PICTURE X(15) VALUE "EDITOR VERSION".
000075             02 FILLER              PICTURE X(20) VALUE "1.1 - 206/72".
000076             02 PHASE               PICTURE X(17) VALUE "UPDATING AS OF".
000077             02 MONTH-RUN           PICTURE XX.
000078             02 FILLER              PICTURE X VALUE "/".
000079             02 DAY-RUN             PICTURE XX.
000080             02 FILLER              PICTURE X VALUE "/".
000081             02 YEAR-RUN            PICTURE XX.
000082             02 FILLER              PICTURE X(8) VALUE SPACES.
000083             02 FILLER              PICTURE X(8) VALUE "  PAGE: ".
000084             02 PAGE-NUMBER         PICTURE 9(4) VALUE 0.
000085
000086         01  COMMAND-LISTING.
000087             02 FILLER              PICTURE X(2) VALUE SPACES.
000088             02 COMMAND-IMAGE       PICTURE X(80).
000089
000090         01  ACTIVITIES-LISTING.
000091             02 DISPOSITION         PICTURE X(2).
000092             02 ACTIVE-IMAGE        PICTURE X(80).
000093
000094         01  UPSI-BYTE.
000095             02 UPSI-BIT OCCURS 8 TIMES  PICTURE X.
000096
000097         01  MESSAGE-LOG.
000098             02 FILLER              PICTURE X(2) VALUE SPACES.
000099             02 MESSAGE-TEXT        PICTURE X(80).
000100
000101         01  DISPLAY-MESSAGE.
000102             02 FILLER              PICTURE X(2) VALUE SPACES.
000103             02 DISPLAY-TEMP        PICTURE X(6).
000104             02 FILLER              PICTURE X(2) VALUE SPACES.
000105             02 DISPLAY-TEXT        PICTURE X(60).
000106
000107         PROCEDURE DIVISION.
000108             OPEN INPUT OLD-VERSION, MODIFICATION,
000109                  OUTPUT NEW-VERSION, COMMENTARY.
000110             CLOSE OLD-VERSION, NEW-VERSION, MODIFICATION, COMMENTARY.
000111             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

00080 FILE                OLD-VERSION
00080 GROUP          01   OLD-RECORD
00075 ALPHANUMERIC   02   OLD-STATEMENT                  X(75)
00005 ALPHANUMERIC   02   OLD-NUMBER                     X(5)

00080 FILE                NEW-VERSION
00080 GROUP          01   NEW-RECORD
00075 ALPHANUMERIC   02   NEW-STATEMENT                  X(75)
00005 ALPHANUMERIC   02   NEW-NUMBER                     X(5)

00032 FILE                PRT-VERSION

00080 FILE                MODIFICATION
00080 GROUP          01   UPDATE-ORDER
00075 GROUP          02   INSERTION
00006 ALPHANUMERIC   03   COMMAND                        X(6)
      CONDITIONAL    88   ENDJOB
      CONDITIONAL    88   ENDSET
      CONDITIONAL    88   REMOVE
      CONDITIONAL    88   ADDNEW
      CONDITIONAL    88   CHANGE
      CONDITIONAL    88   DISPLY
00001 ALPHANUMERIC   03   FILLER                         X
00005 ALPHANUMERIC   03   A-FIELD                        9(5)
00005 ALPHANUMERIC   03   A-ALPHA                        X(5), REDEFINES A-FIELD
      CONDITIONAL    88   A-BLANK
00004 ALPHANUMERIC   03   FILLER                         X(4)
00005 ALPHANUMERIC   03   B-FIELD                        9(5)
00005 ALPHANUMERIC   03   B-ALPHA                        X(5), REDEFINES B-FIELD
      CONDITIONAL    88   B-BLANK
00054 ALPHANUMERIC   03   FILLER                         X(54)
00005 ALPHANUMERIC   02   FILLER                         X(5)

00082 FILE                COMMENTARY
00082 GROUP          01   COMMENT-LINE
00082 ALPHANUMERIC   02   FILLER                         X(82)

      WORKING-STORAGE SECTION

00080 GROUP          01   HEADINGS-LINE
00015 ALPHANUMERIC   02   FILLER                         X(15)
00020 ALPHANUMERIC   02   FILLER                         X(20)
00017 ALPHANUMERIC   02   PHASE                          X(17)
00002 ALPHANUMERIC   02   MONTH-RUN                      XX
00001 ALPHANUMERIC   02   FILLER                         X
00002 ALPHANUMERIC   02   DAY-RUN                        XX
00001 ALPHANUMERIC   02   FILLER                         X
00002 ALPHANUMERIC   02   YEAR-RUN                       XX
00008 ALPHANUMERIC   02   FILLER                         X(8)
00008 ALPHANUMERIC   02   FILLER                         X(8)
00004 NUMERIC        02   PAGE-NUMBER                    9(4)

00082 GROUP          01   COMMAND-LISTING
00002 ALPHANUMERIC   02   FILLER                         X(2)
00080 ALPHANUMERIC   02   COMMAND-IMAGE                  X(80)

00082 GROUP          01   ACTIVITIES-LISTING
00002 ALPHANUMERIC   02   DISPOSITION                    X(2)
00080 ALPHANUMERIC   02   ACTIVE-IMAGE                   X(80)

00008 GROUP          01   UPSI-BYTE
00001 ALPHANUMERIC   02   UPSI-BIT                       X, OCCURS 8

00082 GROUP          01   MESSAGE-LOG
00002 ALPHANUMERIC   02   FILLER                         X(2)
00080 ALPHANUMERIC   02   MESSAGE-TEXT                   X(80)

00070 GROUP          01   DISPLAY-MESSAGE
00002 ALPHANUMERIC   02   FILLER                         X(2)
00006 ALPHANUMERIC   02   DISPLAY-TEMP                   X(6)
00002 ALPHANUMERIC   02   FILLER                         X(2)
00060 ALPHANUMERIC   02   DISPLAY-TEXT                   X(60)



Error/Warning summary:

prog.cob: 21: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 23: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 30: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 32: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 39: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 41: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 64: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 66: warning: DATA RECORDS is obsolete in GnuCOBOL

8 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2676: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:2676"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2676"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:2677: diff prog18.lst prog.lis"
at_fn_check_prepare_trace "listings.at:2677"
( $at_check_trace; diff prog18.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2677"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_290
#AT_START_291
at_fn_group_banner 291 'listings.at:2682' \
  "Invalid PICTURE strings" "                        " 3
at_xfail=no
(
  $as_echo "291. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  empty-pic PIC.
       01  too-long-pic PIC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
       01  too-long-pic2 PIC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
       01  mutiple-symbols.
           03  PIC 9CRCR.
           03  PIC SS99S.
           03  PIC $+99$-.
       01  non-symbols.
           03  PIC 9K.
       01  too-many-digits PIC 9(50).
       01  too-long-number-in-parens PIC 9(11111111111111).
       01  nested-parens PIC 9((100)).
       01  unbalanced-parens PIC 9(.
       01  multiple-pairs-of-parens PIC 9(5)(3).
       01  no-digit-in-parens PIC 9().
       01  mutually-exclusive-symbols.
           03  PIC 9V.9.
           03  PIC Z*.
           03  PIC +(5)--.
           03  PIC AN.
           03  PIC SA.
           03  PIC +++9+.
           03  PIC +9(5)CR.
       01 non-rightmost-leftmost-symbols.
           03  PIC BBB+BB99.
           03  PIC 99-B.
           03  PIC 9CRB.
           03  PIC DB9(5).
           03  PIC 99$$$.
           03  PIC 99$B.
           03  PIC 0$99.
           03  PIC PPPVP9.
       01  missing-symbols.
           03  PIC B(5).
       01  valid-pics.
           03  PIC VP9B.
           03  PIC B9P(3).
           03  PIC B$$$.
           03  PIC 0000+B0+++0B,+.
           03  PIC +(5)P(3).
           03  PIC ++.++.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2741: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:2741"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: warning: continuation of COBOL words used
prog.cob: 11: warning: continuation of COBOL words used
prog.cob: 12: warning: continuation of COBOL words used
prog.cob: 13: warning: continuation of COBOL words used
prog.cob: 14: warning: continuation of COBOL words used
prog.cob: 7: error: missing PICTURE string
prog.cob: 10: error: PICTURE string may not contain more than 255 characters; contains 301 characters
prog.cob: 16: error: CR or DB may only occur once in a PICTURE string
prog.cob: 17: error: S may only occur once in a PICTURE string
prog.cob: 17: error: S must be at start of PICTURE string
prog.cob: 18: error: a leading +/- sign cannot follow a leading currency symbol
prog.cob: 18: error: a trailing currency symbol cannot follow a leading currency symbol
prog.cob: 18: error: a trailing +/- sign cannot follow a leading +/- sign
prog.cob: 20: error: invalid PICTURE character 'K'
prog.cob: 21: error: numeric field cannot be larger than 38 digits
prog.cob: 22: error: only up to 9 significant digits are permitted within parentheses
prog.cob: 23: error: '(100' is not defined
prog.cob: 23: error: invalid PICTURE character ')'
prog.cob: 24: error: unbalanced parentheses
prog.cob: 25: error: only one set of parentheses is permitted
prog.cob: 26: error: parentheses must contain (a constant-name defined as) a positive integer
prog.cob: 28: error: . cannot follow V
prog.cob: 29: error: cannot have both Z and * in PICTURE string
prog.cob: 30: error: a trailing +/- sign cannot follow a floating +/- string which is before the decimal point
prog.cob: 30: error: a trailing +/- sign may only occur once in a PICTURE string
prog.cob: 31: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed
prog.cob: 31: error: N cannot follow A or X
prog.cob: 32: error: A or X cannot follow S
prog.cob: 33: error: a trailing +/- sign cannot follow a floating +/- string which is before the decimal point
prog.cob: 34: error: CR or DB cannot follow a leading +/- sign
prog.cob: 36: error: a leading +/- sign cannot follow B, 0 or /
prog.cob: 37: error: a leading +/- sign cannot follow 9
prog.cob: 38: error: B, 0 or / cannot follow CR or DB
prog.cob: 39: error: 9 cannot follow CR or DB
prog.cob: 40: error: a floating currency symbol string which is before the decimal point cannot follow 9
prog.cob: 41: error: a leading currency symbol cannot follow 9
prog.cob: 42: error: a leading currency symbol cannot follow B, 0 or /
prog.cob: 43: error: P must be at start or end of PICTURE string
prog.cob: 43: error: V cannot follow a P which is after the decimal point
prog.cob: 45: error: PICTURE string must contain at least one of the set A, N, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/listings.at:2741"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog19.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION DIVISION.
000003         PROGRAM-ID. prog.
000004
000005         DATA DIVISION.
000006         WORKING-STORAGE SECTION.
000007         01  empty-pic PIC.
error: missing PICTURE string
000008         01  too-long-pic PIC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
000009        -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
warning: continuation of COBOL words used
000010         01  too-long-pic2 PIC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
error: PICTURE string may not contain more than 255 characters; contains 301
     + characters
000011        -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
warning: continuation of COBOL words used
000012        -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
warning: continuation of COBOL words used
000013        -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
warning: continuation of COBOL words used
000014        -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
warning: continuation of COBOL words used
000015         01  mutiple-symbols.
000016             03  PIC 9CRCR.
error: CR or DB may only occur once in a PICTURE string
000017             03  PIC SS99S.
error: S may only occur once in a PICTURE string
error: S must be at start of PICTURE string
000018             03  PIC $+99$-.
error: a leading +/- sign cannot follow a leading currency symbol
error: a trailing currency symbol cannot follow a leading currency symbol
error: a trailing +/- sign cannot follow a leading +/- sign
000019         01  non-symbols.
000020             03  PIC 9K.
error: invalid PICTURE character 'K'
000021         01  too-many-digits PIC 9(50).
error: numeric field cannot be larger than 38 digits
000022         01  too-long-number-in-parens PIC 9(11111111111111).
error: only up to 9 significant digits are permitted within parentheses
000023         01  nested-parens PIC 9((100)).
error: '(100' is not defined
error: invalid PICTURE character ')'
000024         01  unbalanced-parens PIC 9(.
error: unbalanced parentheses
000025         01  multiple-pairs-of-parens PIC 9(5)(3).
error: only one set of parentheses is permitted
000026         01  no-digit-in-parens PIC 9().
error: parentheses must contain (a constant-name defined as) a positive integer
000027         01  mutually-exclusive-symbols.
000028             03  PIC 9V.9.
error: . cannot follow V
000029             03  PIC Z*.
error: cannot have both Z and * in PICTURE string
000030             03  PIC +(5)--.
error: a trailing +/- sign cannot follow a floating +/- string which is before
     + the decimal point
error: a trailing +/- sign may only occur once in a PICTURE string
000031             03  PIC AN.
warning: handling of USAGE NATIONAL is unfinished; implementation is likely to
       + be changed
error: N cannot follow A or X
000032             03  PIC SA.
error: A or X cannot follow S
000033             03  PIC +++9+.
error: a trailing +/- sign cannot follow a floating +/- string which is before
     + the decimal point
000034             03  PIC +9(5)CR.
error: CR or DB cannot follow a leading +/- sign
000035         01 non-rightmost-leftmost-symbols.
000036             03  PIC BBB+BB99.
error: a leading +/- sign cannot follow B, 0 or /
000037             03  PIC 99-B.
error: a leading +/- sign cannot follow 9
000038             03  PIC 9CRB.
error: B, 0 or / cannot follow CR or DB
000039             03  PIC DB9(5).
error: 9 cannot follow CR or DB
000040             03  PIC 99$$$.
error: a floating currency symbol string which is before the decimal point
     + cannot follow 9
000041             03  PIC 99$B.
error: a leading currency symbol cannot follow 9
000042             03  PIC 0$99.
error: a leading currency symbol cannot follow B, 0 or /
000043             03  PIC PPPVP9.
error: P must be at start or end of PICTURE string
error: V cannot follow a P which is after the decimal point
000044         01  missing-symbols.
000045             03  PIC B(5).
error: PICTURE string must contain at least one of the set A, N, X, Z, 1, 9
     + and *; or at least two of the set +, - and the currency symbol
000046         01  valid-pics.
000047             03  PIC VP9B.
000048             03  PIC B9P(3).
000049             03  PIC B$$$.
000050             03  PIC 0000+B0+++0B,+.
000051             03  PIC +(5)P(3).
000052             03  PIC ++.++.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00000 ALPHANUMERIC   01   empty-pic                      INVALID

00077 ALPHANUMERIC   01   too-long-pic                   XXXXXXXXXXXXXXXXXXXXXXX

00000 ALPHANUMERIC   01   too-long-pic2                  INVALID

00000 GROUP          01   mutiple-symbols
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID

00000 GROUP          01   non-symbols
00000 ALPHANUMERIC   03   FILLER                         INVALID

00050 ALPHANUMERIC   01   too-many-digits                9(50)

00000 ALPHANUMERIC   01   too-long-number-in-parens      INVALID

00000 ALPHANUMERIC   01   nested-parens                  INVALID

00000 ALPHANUMERIC   01   unbalanced-parens              INVALID

00000 ALPHANUMERIC   01   multiple-pairs-of-parens       INVALID

00000 ALPHANUMERIC   01   no-digit-in-parens             INVALID

00000 GROUP          01   mutually-exclusive-symbols
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID

00000 GROUP          01   non-rightmost-leftmost-symbols
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID
00000 ALPHANUMERIC   03   FILLER                         INVALID

00000 GROUP          01   missing-symbols
00000 ALPHANUMERIC   03   FILLER                         INVALID

00032 GROUP          01   valid-pics
00002 ALPHANUMERIC   03   FILLER                         VP9B
00002 ALPHANUMERIC   03   FILLER                         B9P(3)
00004 ALPHANUMERIC   03   FILLER                         B$$$
00014 ALPHANUMERIC   03   FILLER                         0000+B0+++0B,+
00005 ALPHANUMERIC   03   FILLER                         +(5)P(3)
00005 ALPHANUMERIC   03   FILLER                         ++.++



Error/Warning summary:

prog.cob: 9: warning: continuation of COBOL words used
prog.cob: 11: warning: continuation of COBOL words used
prog.cob: 12: warning: continuation of COBOL words used
prog.cob: 13: warning: continuation of COBOL words used
prog.cob: 14: warning: continuation of COBOL words used
prog.cob: 7: error: missing PICTURE string
prog.cob: 10: error: PICTURE string may not contain more than 255 characters; contains 301 characters
prog.cob: 16: error: CR or DB may only occur once in a PICTURE string
prog.cob: 17: error: S may only occur once in a PICTURE string
prog.cob: 17: error: S must be at start of PICTURE string
prog.cob: 18: error: a leading +/- sign cannot follow a leading currency symbol
prog.cob: 18: error: a trailing currency symbol cannot follow a leading currency symbol
prog.cob: 18: error: a trailing +/- sign cannot follow a leading +/- sign
prog.cob: 20: error: invalid PICTURE character 'K'
prog.cob: 21: error: numeric field cannot be larger than 38 digits
prog.cob: 22: error: only up to 9 significant digits are permitted within parentheses
prog.cob: 23: error: '(100' is not defined
prog.cob: 23: error: invalid PICTURE character ')'
prog.cob: 24: error: unbalanced parentheses
prog.cob: 25: error: only one set of parentheses is permitted
prog.cob: 26: error: parentheses must contain (a constant-name defined as) a positive integer
prog.cob: 28: error: . cannot follow V
prog.cob: 29: error: cannot have both Z and * in PICTURE string
prog.cob: 30: error: a trailing +/- sign cannot follow a floating +/- string which is before the decimal point
prog.cob: 30: error: a trailing +/- sign may only occur once in a PICTURE string
prog.cob: 31: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed
prog.cob: 31: error: N cannot follow A or X
prog.cob: 32: error: A or X cannot follow S
prog.cob: 33: error: a trailing +/- sign cannot follow a floating +/- string which is before the decimal point
prog.cob: 34: error: CR or DB cannot follow a leading +/- sign
prog.cob: 36: error: a leading +/- sign cannot follow B, 0 or /
prog.cob: 37: error: a leading +/- sign cannot follow 9
prog.cob: 38: error: B, 0 or / cannot follow CR or DB
prog.cob: 39: error: 9 cannot follow CR or DB
prog.cob: 40: error: a floating currency symbol string which is before the decimal point cannot follow 9
prog.cob: 41: error: a leading currency symbol cannot follow 9
prog.cob: 42: error: a leading currency symbol cannot follow B, 0 or /
prog.cob: 43: error: P must be at start or end of PICTURE string
prog.cob: 43: error: V cannot follow a P which is after the decimal point
prog.cob: 45: error: PICTURE string must contain at least one of the set A, N, X, Z, 1, 9 and *; or at least two of the set +, - and the currency symbol

6 warnings in compilation group
34 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:2997: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:2997"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2997"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:2998: diff prog19.lst prog.lis"
at_fn_check_prepare_trace "listings.at:2998"
( $at_check_trace; diff prog19.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:2998"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_291
#AT_START_292
at_fn_group_banner 292 'listings.at:3003' \
  "Variable format" "                                " 3
at_xfail=no
(
  $as_echo "292. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'
000001 $SET SOURCEFORMAT "VARIABLE"
000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. prog.
000030* blah blah blah
000040 PROCEDURE DIVISION.
000050                                                                  DISPLAY "Hello!"
000060     .
000070 END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3019: \$COMPILE_ONLY -t prog.lst -tlines=0 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 prog.cob" "listings.at:3019"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3019"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog20.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001  000001 $SET SOURCEFORMAT "VARIABLE"
000002  000010 IDENTIFICATION DIVISION.
000003  000020 PROGRAM-ID. prog.
000004  000030* blah blah blah
000005  000040 PROCEDURE DIVISION.
000006  000050
000006+ DISPLAY "Hello!"
000007  000060     .
000008  000070 END PROGRAM prog.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3041: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:3041"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3041"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:3042: diff prog20.lst prog.lis"
at_fn_check_prepare_trace "listings.at:3042"
( $at_check_trace; diff prog20.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3042"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_292
#AT_START_293
at_fn_group_banner 293 'listings.at:3047' \
  "LISTING directive" "                              " 3
at_xfail=no
(
  $as_echo "293. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >copy.inc <<'_ATEOF'

       >>LISTING OFF
       01 TEST1-VAR PIC X(2) VALUE "OK".
       01 TEST2-VAR PIC X(2) VALUE "OK".
       01 TEST3-VAR PIC X(2) VALUE "OK".
       01 TEST4-VAR PIC X(2) VALUE "OK".
       >>LISTING ON
       01 TEST5-VAR PIC X(2) VALUE "OK".
       01 TEST6-VAR PIC X(2) VALUE "OK".
       01 TEST7-VAR PIC X(2) VALUE "OK".
       01 TEST8-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >copy2.inc <<'_ATEOF'
       >> LISTING OFF
       01 TEST9-VAR PIC X(2) VALUE "OK".
       >>LISTING
       01 TESTA-VAR PIC X(2) VALUE "OK".
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       COPY "copy.inc".
       COPY "copy2.inc".
       PROCEDURE        DIVISION.
           DISPLAY TEST1-VAR NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3084: \$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:3084"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3084"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog17.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
000006         COPY "copy.inc".
000001C
000002C        >>LISTING OFF
000007C        >>LISTING ON
000008C        01 TEST5-VAR PIC X(2) VALUE "OK".
000009C        01 TEST6-VAR PIC X(2) VALUE "OK".
000010C        01 TEST7-VAR PIC X(2) VALUE "OK".
000011C        01 TEST8-VAR PIC X(2) VALUE "OK".
000007         COPY "copy2.inc".
000001C        >> LISTING OFF
000003C        >>LISTING
000004C        01 TESTA-VAR PIC X(2) VALUE "OK".
000008         PROCEDURE        DIVISION.
000009             DISPLAY TEST1-VAR NO ADVANCING
000010             END-DISPLAY.
000011             STOP RUN.

SIZE  TYPE           LVL  NAME                           PICTURE

      WORKING-STORAGE SECTION

00002 ALPHANUMERIC   01   TEST1-VAR                      X(2)

00002 ALPHANUMERIC   01   TEST2-VAR                      X(2)

00002 ALPHANUMERIC   01   TEST3-VAR                      X(2)

00002 ALPHANUMERIC   01   TEST4-VAR                      X(2)

00002 ALPHANUMERIC   01   TEST5-VAR                      X(2)

00002 ALPHANUMERIC   01   TEST6-VAR                      X(2)

00002 ALPHANUMERIC   01   TEST7-VAR                      X(2)

00002 ALPHANUMERIC   01   TEST8-VAR                      X(2)

00002 ALPHANUMERIC   01   TEST9-VAR                      X(2)

00002 ALPHANUMERIC   01   TESTA-VAR                      X(2)


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3142: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:3142"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3142"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:3143: diff prog17.lst prog.lis"
at_fn_check_prepare_trace "listings.at:3143"
( $at_check_trace; diff prog17.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3143"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_293
#AT_START_294
at_fn_group_banner 294 'listings.at:3148' \
  "Listing-directive statements" "                   " 3
at_xfail=no
(
  $as_echo "294. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'
           TITLE "GnuCOBOL lists IBM"
       IDENTIFICATION   DIVISION.
           SKIP1
       PROGRAM-ID.      prog.
           SKIP2
       DATA             DIVISION.
           SKIP3
       WORKING-STORAGE  SECTION.
           TITLE "here goes the code"
       PROCEDURE        DIVISION.
       EJECT
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3167: \$COMPILE_ONLY -t prog.lst -std=ibm prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -std=ibm prog.cob" "listings.at:3167"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -std=ibm prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3167"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >expect.lst <<'_ATEOF'
GnuCOBOL lists IBM      prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000002         IDENTIFICATION   DIVISION.


000004         PROGRAM-ID.      prog.



000006         DATA             DIVISION.




000008         WORKING-STORAGE  SECTION.
here goes the code      prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0002

LINE    PG/LN  A...B............................................................

000010         PROCEDURE        DIVISION.
here goes the code      prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0003

LINE    PG/LN  A...B............................................................

000012             STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3203: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:3203"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3203"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:3204: diff expect.lst prog.lis"
at_fn_check_prepare_trace "listings.at:3204"
( $at_check_trace; diff expect.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3204"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_294
#AT_START_295
at_fn_group_banner 295 'listings.at:3209' \
  "Eject page" "                                     " 3
at_xfail=no
(
  $as_echo "295. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
      /
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3224: \$COMPILE_ONLY -t prog.lst prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst prog.cob" "listings.at:3224"
( $at_check_trace; $COMPILE_ONLY -t prog.lst prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3224"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog7.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003         PROGRAM-ID.      prog.
000004         DATA             DIVISION.
000005         WORKING-STORAGE  SECTION.
GnuCOBOL V.R.P          prog.cob             DDD MMM dd HH:MM:SS YYYY  Page 0002

LINE    PG/LN  A...B............................................................

000006        /
000007         PROCEDURE        DIVISION.
000008             STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3249: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:3249"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3249"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:3250: diff prog7.lst prog.lis"
at_fn_check_prepare_trace "listings.at:3250"
( $at_check_trace; diff prog7.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3250"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog2.cob <<'_ATEOF'

  IDENTIFICATION   DIVISION.
  PROGRAM-ID.      prog2.
  DATA             DIVISION.
  WORKING-STORAGE  SECTION.
>>PAGE
  PROCEDURE        DIVISION.
  STOP RUN.
_ATEOF



{ set +x
$as_echo "$at_srcdir/listings.at:3263: \$COMPILE_ONLY -t prog.lst -free prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -free prog2.cob" "listings.at:3263"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -free prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3263"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog8.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog2.cob            DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    .....................SOURCE.............................................

000001
000002    IDENTIFICATION   DIVISION.
000003    PROGRAM-ID.      prog2.
000004    DATA             DIVISION.
000005    WORKING-STORAGE  SECTION.
GnuCOBOL V.R.P          prog2.cob            DDD MMM dd HH:MM:SS YYYY  Page 0002

LINE    .....................SOURCE.............................................

000006  >>PAGE
000007    PROCEDURE        DIVISION.
000008    STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3288: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:3288"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3288"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:3289: diff prog8.lst prog.lis"
at_fn_check_prepare_trace "listings.at:3289"
( $at_check_trace; diff prog8.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3289"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.

       PROGRAM-ID.      prog3.


       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77 WS-VAR PIC X(2).
      /
       77 WS-VA2 PIC X(2).


       LOCAL-STORAGE  SECTION.
       77 LS-VAR PIC 9(2).


       PROCEDURE        DIVISION.

           DISPLAY WS-VAR
           MOVE 99 TO LS-VAR

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3316: \$COMPILE_ONLY -t prog.lst prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst prog3.cob" "listings.at:3316"
( $at_check_trace; $COMPILE_ONLY -t prog.lst prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3316"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog9.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog3.cob            DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003
000004         PROGRAM-ID.      prog3.
000005
000006
000007         DATA             DIVISION.
000008         WORKING-STORAGE  SECTION.
000009         77 WS-VAR PIC X(2).
GnuCOBOL V.R.P          prog3.cob            DDD MMM dd HH:MM:SS YYYY  Page 0002

LINE    PG/LN  A...B............................................................

000010        /
000011         77 WS-VA2 PIC X(2).
000012
000013
000014         LOCAL-STORAGE  SECTION.
000015         77 LS-VAR PIC 9(2).
000016
000017
000018         PROCEDURE        DIVISION.
000019
000020             DISPLAY WS-VAR
000021             MOVE 99 TO LS-VAR
000022
000023             STOP RUN.


0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3356: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:3356"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3356"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:3357: diff prog9.lst prog.lis"
at_fn_check_prepare_trace "listings.at:3357"
( $at_check_trace; diff prog9.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3357"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/listings.at:3359: \$COMPILE_ONLY -t prog.lst -tlines=8 prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -t prog.lst -tlines=8 prog3.cob" "listings.at:3359"
( $at_check_trace; $COMPILE_ONLY -t prog.lst -tlines=8 prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3359"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


cat >prog10.lst <<'_ATEOF'
GnuCOBOL V.R.P          prog3.cob            DDD MMM dd HH:MM:SS YYYY  Page 0001

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION   DIVISION.
000003
000004         PROGRAM-ID.      prog3.
000005
GnuCOBOL V.R.P          prog3.cob            DDD MMM dd HH:MM:SS YYYY  Page 0002

LINE    PG/LN  A...B............................................................

000006
000007         DATA             DIVISION.
000008         WORKING-STORAGE  SECTION.
000009         77 WS-VAR PIC X(2).
GnuCOBOL V.R.P          prog3.cob            DDD MMM dd HH:MM:SS YYYY  Page 0003

LINE    PG/LN  A...B............................................................

000010        /
000011         77 WS-VA2 PIC X(2).
000012
000013
000014         LOCAL-STORAGE  SECTION.
GnuCOBOL V.R.P          prog3.cob            DDD MMM dd HH:MM:SS YYYY  Page 0004

LINE    PG/LN  A...B............................................................

000015         77 LS-VAR PIC 9(2).
000016
000017
000018         PROCEDURE        DIVISION.
000019
GnuCOBOL V.R.P          prog3.cob            DDD MMM dd HH:MM:SS YYYY  Page 0005

LINE    PG/LN  A...B............................................................

000020             DISPLAY WS-VAR
000021             MOVE 99 TO LS-VAR
000022
000023             STOP RUN.

GnuCOBOL V.R.P          prog3.cob            DDD MMM dd HH:MM:SS YYYY  Page 0006

0 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3412: \$UNIFY_LISTING prog.lst prog.lis"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis" "listings.at:3412"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3412"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:3413: diff prog10.lst prog.lis"
at_fn_check_prepare_trace "listings.at:3413"
( $at_check_trace; diff prog10.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3413"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_295
#AT_START_296
at_fn_group_banner 296 'listings.at:3418' \
  "Cross reference" "                                " 3
at_xfail=no
(
  $as_echo "296. $at_setup_line: testing $at_desc ..."
  $at_traceon





cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.                                         EDIT0001
       PROGRAM-ID.                                                      EDIT0002
           EDITOR.                                                      EDIT0003
                                                                        EDIT0008
      *NOTE.                                                            EDIT0009
      *    THIS VERSION OF EDITOR 1 COMPRISES AN ENTIRE RE_WRITE        EDIT0010
      *    OF THE BASIC EDITOR WITH ONLY ONE CHANGE IN THE COMMAND      EDIT0011
      *    STRUCTURE, THAT BEING THE ADDITION OF A "CHANGE" COMMAND     EDIT0012
      *    TO SERVE IN PLACE OF THE INSERT-DELETE COMBINATION WHICH     EDIT0013
      *    WAS REQUIRED IN PREVIOUS VERSIONS. RECORD NUMBER FIELDS      EDIT0014
      *    HAVE ALSO BEEN REDUCED FROM 5 DIGITS TO 4.                   EDIT0015
      *    CHANGE 1.                                                    EDIT0016
      *       MODIFY TO RUN ON TI-990.                                  EDIT0017
      *    CHANGE 2.                                                    EDIT0018
      *       MODIFY TO RUN ON GNUCOBOL.                                EDIT0019
                                                                        EDIT0020
       ENVIRONMENT DIVISION.                                            EDIT0021
       CONFIGURATION SECTION.                                           EDIT0022
       SOURCE-COMPUTER.                                                 EDIT0023
           IBM-360.                                                     EDIT0024
       OBJECT-COMPUTER.                                                 EDIT0025
           IBM-360.                                                     EDIT0026
       INPUT-OUTPUT SECTION.                                            EDIT0027
       FILE-CONTROL.                                                    EDIT0028
           SELECT OLD-VERSION  ASSIGN TO "SYSUT1"                       EDIT0029
                               ORGANIZATION LINE SEQUENTIAL.            EDIT0030
           SELECT NEW-VERSION  ASSIGN TO "SYSUT2"                       EDIT0031
                               ORGANIZATION LINE SEQUENTIAL.            EDIT0032
           SELECT PRT-VERSION  ASSIGN TO "SYSUT2"                       EDIT0033
                               ORGANIZATION LINE SEQUENTIAL.            EDIT0034
           SELECT MODIFICATION ASSIGN TO "SYSIN1"                       EDIT0035
                               ORGANIZATION LINE SEQUENTIAL.            EDIT0036
           SELECT COMMENTARY   ASSIGN TO "SYSOU1"                       EDIT0037
                               ORGANIZATION LINE SEQUENTIAL.            EDIT0038
                                                                        EDIT0039
       DATA DIVISION.                                                   EDIT0040
                                                                        EDIT0041
       FILE SECTION.                                                    EDIT0042
                                                                        EDIT0043
       FD  OLD-VERSION                                                  EDIT0044
           LABEL RECORDS ARE STANDARD                                   EDIT0045
           BLOCK CONTAINS 80 CHARACTERS                                 EDIT0046
           DATA RECORD IS OLD-RECORD.                                   EDIT0047
                                                                        EDIT0048
       01  OLD-RECORD.                                                  EDIT0049
           02 OLD-STATEMENT       PICTURE X(75).                        EDIT0050
           02 OLD-NUMBER          PICTURE X(5).                         EDIT0051
                                                                        EDIT0052
       FD  NEW-VERSION                                                  EDIT0053
           LABEL RECORDS ARE STANDARD                                   EDIT0054
           BLOCK CONTAINS 80 CHARACTERS                                 EDIT0055
           DATA RECORD IS NEW-RECORD.                                   EDIT0056
                                                                        EDIT0057
       01  NEW-RECORD.                                                  EDIT0058
           02 NEW-STATEMENT       PICTURE X(75).                        EDIT0059
           02 NEW-NUMBER          PICTURE X(5).                         EDIT0060
                                                                        EDIT0061
       FD  MODIFICATION                                                 EDIT0062
           LABEL RECORDS ARE OMITTED                                    EDIT0063
           BLOCK CONTAINS 80 CHARACTERS                                 EDIT0064
           DATA RECORD IS UPDATE-ORDER.                                 EDIT0065
                                                                        EDIT0066
       01  UPDATE-ORDER.                                                EDIT0067
           02 INSERTION.                                                EDIT0068
              03 COMMAND          PICTURE X(6).                         EDIT0069
                 88 ENDJOB        VALUE "ENDJOB".                       EDIT0070
                 88 ENDSET        VALUE "ENDSET".                       EDIT0071
                 88 REMOVE        VALUE "REMOVE".                       EDIT0072
                 88 ADDNEW        VALUE "INSERT".                       EDIT0073
                 88 CHANGE        VALUE "CHANGE".                       EDIT0074
                 88 DISPLY        VALUE "DISPLY".                       EDIT0075
              03 FILLER           PICTURE X.                            EDIT0076
              03 A-FIELD          PICTURE 9(5).                         EDIT0077
              03 A-ALPHA REDEFINES A-FIELD    PICTURE X(5).             EDIT0078
                 88 A-BLANK       VALUE SPACES.                         EDIT0079
              03 FILLER           PICTURE X(4).                         EDIT0080
              03 B-FIELD          PICTURE 9(5).                         EDIT0081
              03 B-ALPHA REDEFINES B-FIELD    PICTURE X(5).             EDIT0082
                 88 B-BLANK       VALUE SPACES.                         EDIT0083
              03 FILLER           PICTURE X(54).                        EDIT0084
           02 FILLER              PICTURE X(5).                         EDIT0085
                                                                        EDIT0086
       FD  COMMENTARY                                                   EDIT0087
           LABEL RECORDS ARE OMITTED                                    EDIT0088
           BLOCK CONTAINS 82 CHARACTERS                                 EDIT0089
           DATA RECORD IS COMMENT-LINE.                                 EDIT0090
                                                                        EDIT0091
       01  COMMENT-LINE.                                                EDIT0092
           02 FILLER              PICTURE X(82).                        EDIT0093
                                                                        EDIT0094
       WORKING-STORAGE SECTION.                                         EDIT0095
                                                                        EDIT0096
       77  COMMAND-ADDITIONS      PICTURE 9(3) COMPUTATIONAL VALUE 0.   EDIT0097
       77  COMMAND-SUBTRACTIONS   PICTURE 9(3) COMPUTATIONAL VALUE 0.   EDIT0098
       77  TOTAL-INSERTED         PICTURE 9(3) COMPUTATIONAL VALUE 0.   EDIT0099
       77  TOTAL-DELETED          PICTURE 9(3) COMPUTATIONAL VALUE 0.   EDIT0100
       77  OUTPUT-COUNT           PICTURE 9(5) COMPUTATIONAL VALUE 0.   EDIT0101
       77  LINE-COUNT             PICTURE 9(2) COMPUTATIONAL VALUE 0.   EDIT0102
       77  FIELDA                 PICTURE 9(5) VALUE 0.                 EDIT0103
       77  FIELDB                 PICTURE 9(5) VALUE 0.                 EDIT0104
       77  BLANK-LINE             PICTURE X(82) VALUE SPACES.           EDIT0105
                                                                        EDIT0106
       01  DATE-FROM-SYS.                                               EDIT0107
           02 DFSYS OCCURS 3 TIMES PICTURE 99.                          EDIT0108
                                                                        EDIT0109
       01  HEADINGS-LINE.                                               EDIT0110
           02 FILLER              PICTURE X(15) VALUE "EDITOR VERSION". EDIT0111
           02 FILLER              PICTURE X(20) VALUE "1.1 - 206/72".   EDIT0112
           02 PHASE               PICTURE X(17) VALUE "UPDATING AS OF". EDIT0113
           02 MONTH-RUN           PICTURE XX.                           EDIT0114
           02 FILLER              PICTURE X VALUE "/".                  EDIT0115
           02 DAY-RUN             PICTURE XX.                           EDIT0116
           02 FILLER              PICTURE X VALUE "/".                  EDIT0117
           02 YEAR-RUN            PICTURE XX.                           EDIT0118
           02 FILLER              PICTURE X(8) VALUE SPACES.            EDIT0119
           02 FILLER              PICTURE X(8) VALUE "  PAGE: ".        EDIT0120
           02 PAGE-NUMBER         PICTURE 9(4) VALUE 0.                 EDIT0121
                                                                        EDIT0122
       01  COMMAND-LISTING.                                             EDIT0123
           02 FILLER              PICTURE X(2) VALUE SPACES.            EDIT0124
           02 COMMAND-IMAGE       PICTURE X(80).                        EDIT0125
                                                                        EDIT0126
       01  ACTIVITIES-LISTING.                                          EDIT0127
           02 DISPOSITION         PICTURE X(2).                         EDIT0128
           02 ACTIVE-IMAGE        PICTURE X(80).                        EDIT0129
                                                                        EDIT0130
       01  UPSI-BYTE.                                                   EDIT0131
           02 UPSI-BIT OCCURS 8 TIMES  PICTURE X.                       EDIT0132
                                                                        EDIT0133
       01  MESSAGE-LOG.                                                 EDIT0134
           02 FILLER              PICTURE X(2) VALUE SPACES.            EDIT0135
           02 MESSAGE-TEXT        PICTURE X(80).                        EDIT0136
                                                                        EDIT0137
       01  DISPLAY-MESSAGE.                                             EDIT0138
           02 FILLER              PICTURE X(2) VALUE SPACES.            EDIT0139
           02 DISPLAY-TEMP        PICTURE X(6).                         EDIT0140
           02 FILLER              PICTURE X(2) VALUE SPACES.            EDIT0141
           02 DISPLAY-TEXT        PICTURE X(60).                        EDIT0142
                                                                        EDIT0143
       77  END-JOB-PROCESS        PICTURE 9 VALUE 0.                    EDIT0144
       77  DELETE-PROCESS         PICTURE 9 VALUE 1.                    EDIT0145
       77  INSERT-PROCESS         PICTURE 9 VALUE 2.                    EDIT0146
       77  WRITE-PROCESS          PICTURE 9 VALUE 3.                    EDIT0147
                                                                        EDIT0148
       01  SELECTORS.                                                   EDIT0149
           02 RETURN-SELECT       PICTURE 9 VALUE 0.                    EDIT0150
           02 NEXT-JOB-SELECT     PICTURE 9 VALUE 0.                    EDIT0151
                                                                        EDIT0152
       PROCEDURE DIVISION.                                              EDIT0153
                                                                        EDIT0154
       START-SECTION.                                                   EDIT0155
           OPEN INPUT OLD-VERSION, MODIFICATION,                        EDIT0156
                OUTPUT NEW-VERSION, COMMENTARY.                         EDIT0157
           MOVE "F" TO UPSI-BIT (1), UPSI-BIT (2).                      EDIT0158
           ACCEPT DATE-FROM-SYS FROM DATE.                              EDIT0159
           MOVE DFSYS (1) TO YEAR-RUN.                                  EDIT0160
           MOVE DFSYS (2) TO MONTH-RUN.                                 EDIT0161
           MOVE DFSYS (3) TO DAY-RUN.                                   EDIT0162
           READ OLD-VERSION AT END                                      EDIT0163
              MOVE "NO OLD VERSION FOUND" TO MESSAGE-TEXT               EDIT0164
              WRITE COMMENT-LINE FROM MESSAGE-LOG                       EDIT0165
              GO TO END-JOB.                                            EDIT0166
           MOVE OLD-STATEMENT TO NEW-STATEMENT.                         EDIT0167
           PERFORM OUTPUT-A-RECORD.                                     EDIT0168
                                                                        EDIT0169
       TOP-OF-PAGE-ROUTINE.                                             EDIT0170
           ADD 1 TO PAGE-NUMBER.                                        EDIT0171
           MOVE ZERO TO LINE-COUNT.                                     EDIT0172
           WRITE COMMENT-LINE FROM HEADINGS-LINE AFTER PAGE.            EDIT0173
           WRITE COMMENT-LINE FROM BLANK-LINE.                          EDIT0174
                                                                        EDIT0175
       READ-A-COMMAND.                                                  EDIT0176
           READ MODIFICATION AT END                                     EDIT0177
              MOVE "MODIFICATION FILE ENDED " TO MESSAGE-TEXT           EDIT0178
              WRITE COMMENT-LINE FROM MESSAGE-LOG                       EDIT0179
              GO TO FINISH-JOB.                                         EDIT0180
           MOVE UPDATE-ORDER TO COMMAND-IMAGE.                          EDIT0181
           WRITE COMMENT-LINE FROM COMMAND-LISTING.                     EDIT0182
           ADD 2 TO LINE-COUNT.                                         EDIT0183
           IF A-BLANK MOVE ZEROES TO A-FIELD.                           EDIT0184
           IF B-BLANK MOVE ZEROES TO B-FIELD.                           EDIT0185
           MOVE A-FIELD TO FIELDA.                                      EDIT0186
           MOVE B-FIELD TO FIELDB.                                      EDIT0187
                                                                        EDIT0188
       TEST-COMMAND-TYPE.                                               EDIT0189
           IF CHANGE GO TO CHANGE-A-RECORD.                             EDIT0190
           IF REMOVE GO TO DELETE-A-RECORD.                             EDIT0191
           IF DISPLY MOVE "T" TO UPSI-BIT (2)                           EDIT0192
              GO TO FINISH-JOB.                                         EDIT0193
           IF ENDJOB GO TO FINISH-JOB.                                  EDIT0194
           IF ADDNEW GO TO INSERT-A-RECORD.                             EDIT0195
           MOVE "INVALID COMMAND IGNORED." TO MESSAGE-TEXT.             EDIT0196
           WRITE COMMENT-LINE FROM MESSAGE-LOG.                         EDIT0197
           GO TO READ-A-COMMAND.                                        EDIT0198
                                                                        EDIT0199
       CHANGE-A-RECORD.                                                 EDIT0200
           ALTER RETURN-TO-USER TO PROCEED TO INSERTION-PROCESS.        EDIT0201
           ALTER NEXT-JOB-STEP TO PROCEED TO DELETION-PROCESS.          EDIT0202
                                                                        EDIT0205
       FIND-FIELDA.                                                     EDIT0206
           IF OLD-NUMBER IS GREATER THAN FIELDA                         EDIT0207
              MOVE "RECORD ALREADY PASSED" TO MESSAGE-TEXT              EDIT0208
              WRITE COMMENT-LINE FROM MESSAGE-LOG                       EDIT0209
              GO TO READ-A-COMMAND.                                     EDIT0210
           READ OLD-VERSION AT END                                      EDIT0211
              MOVE "NOT FOUND IN OLD VERSION" TO DISPLAY-TEXT           EDIT0212
              MOVE FIELDA TO DISPLAY-TEMP                               EDIT0213
              WRITE COMMENT-LINE FROM DISPLAY-MESSAGE                   EDIT0214
              GO TO END-JOB.                                            EDIT0215
           IF OLD-NUMBER IS LESS THAN FIELDA                            EDIT0216
              MOVE OLD-STATEMENT TO NEW-STATEMENT                       EDIT0217
              PERFORM OUTPUT-A-RECORD                                   EDIT0218
              GO TO FIND-FIELDA.                                        EDIT0219
                                                                        EDIT0220
       RETURN-TO-USER.                                                  EDIT0221
           GO TO END-JOB.                                               EDIT0223
                                                                        EDIT0228
       INSERT-A-RECORD.                                                 EDIT0229
           ALTER RETURN-TO-USER TO PROCEED TO INSERTION-PROCESS.        EDIT0230
           ALTER NEXT-JOB-STEP TO PROCEED TO FORCED-WRITE.              EDIT0231
           GO TO FIND-FIELDA.                                           EDIT0234
                                                                        EDIT0235
       INSERTION-PROCESS.                                               EDIT0236
           READ MODIFICATION AT END                                     EDIT0237
              MOVE "NO ENDSET FOUND" TO MESSAGE-TEXT                    EDIT0238
              WRITE COMMENT-LINE FROM MESSAGE-LOG                       EDIT0239
              GO TO END-JOB.                                            EDIT0240
           IF ENDSET                                                    EDIT0241
              MOVE COMMAND-ADDITIONS TO DISPLAY-TEMP                    EDIT0242
              MOVE "RECORDS INSERTED." TO DISPLAY-TEXT                  EDIT0243
              WRITE COMMENT-LINE FROM DISPLAY-MESSAGE                   EDIT0244
              ADD COMMAND-ADDITIONS TO TOTAL-INSERTED                   EDIT0245
              MOVE ZEROES TO COMMAND-ADDITIONS                          EDIT0246
              GO TO NEXT-JOB-STEP.                                      EDIT0247
           MOVE INSERTION TO NEW-STATEMENT, ACTIVE-IMAGE.               EDIT0248
           MOVE "I " TO DISPOSITION.                                    EDIT0249
           PERFORM OUTPUT-A-RECORD.                                     EDIT0250
           WRITE COMMENT-LINE FROM ACTIVITIES-LISTING.                  EDIT0251
           ADD 1 TO COMMAND-ADDITIONS.                                  EDIT0252
           ADD 1 TO LINE-COUNT.                                         EDIT0253
           IF LINE-COUNT EQUAL 56 PERFORM TOP-OF-PAGE-ROUTINE.          EDIT0254
           GO TO INSERTION-PROCESS.                                     EDIT0255
                                                                        EDIT0256
       NEXT-JOB-STEP.                                                   EDIT0257
           GO TO END-JOB.                                               EDIT0259
                                                                        EDIT0264
       FORCED-WRITE.                                                    EDIT0265
           MOVE OLD-STATEMENT TO NEW-STATEMENT.                         EDIT0266
           PERFORM OUTPUT-A-RECORD.                                     EDIT0267
           GO TO READ-A-COMMAND.                                        EDIT0268
                                                                        EDIT0269
       DELETE-A-RECORD.                                                 EDIT0270
           ALTER RETURN-TO-USER TO PROCEED TO DELETION-PROCESS.         EDIT0271
           GO TO FIND-FIELDA.                                           EDIT0273
                                                                        EDIT0274
       DELETION-PROCESS.                                                EDIT0275
           MOVE OLD-RECORD TO ACTIVE-IMAGE.                             EDIT0276
           MOVE "D " TO DISPOSITION.                                    EDIT0277
           WRITE COMMENT-LINE FROM ACTIVITIES-LISTING.                  EDIT0278
           ADD 1 TO LINE-COUNT.                                         EDIT0279
           IF LINE-COUNT EQUAL 56 PERFORM TOP-OF-PAGE-ROUTINE.          EDIT0280
           ADD 1 TO COMMAND-SUBTRACTIONS.                               EDIT0281
           IF OLD-NUMBER IS NOT LESS THAN FIELDB                        EDIT0282
              MOVE COMMAND-SUBTRACTIONS TO DISPLAY-TEMP                 EDIT0283
              MOVE "RECORDS DELETED." TO DISPLAY-TEXT                   EDIT0284
              WRITE COMMENT-LINE FROM DISPLAY-MESSAGE                   EDIT0285
              ADD COMMAND-SUBTRACTIONS TO TOTAL-DELETED                 EDIT0286
              MOVE OLD-STATEMENT TO NEW-STATEMENT                       EDIT0287
              MOVE ZEROES TO COMMAND-SUBTRACTIONS                       EDIT0288
              GO TO READ-A-COMMAND.                                     EDIT0289
           READ OLD-VERSION AT END                                      EDIT0290
              MOVE "NOT FOUND IN OLD VERSION DOING DELETE"              EDIT0291
                    TO DISPLAY-TEXT                                     EDIT0292
              WRITE COMMENT-LINE FROM DISPLAY-MESSAGE                   EDIT0293
              GO TO END-JOB.                                            EDIT0294
           GO TO DELETION-PROCESS.                                      EDIT0295
                                                                        EDIT0296
       OUTPUT-A-RECORD.                                                 EDIT0297
           ADD 1 TO OUTPUT-COUNT.                                       EDIT0298
           MOVE OUTPUT-COUNT TO NEW-NUMBER.                             EDIT0299
           WRITE NEW-RECORD.                                            EDIT0300
                                                                        EDIT0301
       FINISH-JOB.                                                      EDIT0302
           READ OLD-VERSION AT END GO TO TEST-FOR-LISTING.              EDIT0303
           MOVE OLD-STATEMENT TO NEW-STATEMENT.                         EDIT0304
           GO TO OUTPUT-A-RECORD.                                       EDIT0305
                                                                        EDIT0306
       TEST-FOR-LISTING.                                                EDIT0307
           PERFORM TOP-OF-PAGE-ROUTINE.                                 EDIT0308
           MOVE OLD-NUMBER TO DISPLAY-TEMP.                             EDIT0309
           MOVE "RECORDS READ." TO DISPLAY-TEXT.                        EDIT0310
           WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.                     EDIT0311
           MOVE TOTAL-INSERTED TO DISPLAY-TEMP.                         EDIT0312
           MOVE "RECORDS ADDED." TO DISPLAY-TEXT.                       EDIT0313
           WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.                     EDIT0314
           MOVE TOTAL-DELETED TO DISPLAY-TEMP.                          EDIT0315
           MOVE "RECORDS DROPPED." TO DISPLAY-TEXT.                     EDIT0316
           WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.                     EDIT0317
           MOVE OUTPUT-COUNT TO DISPLAY-TEMP.                           EDIT0318
           MOVE "RECORDS IN NEW FILE." TO DISPLAY-TEXT.                 EDIT0319
           WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.                     EDIT0320
           IF UPSI-BIT (2) EQUAL "F" GO TO END-JOB.                     EDIT0321
           CLOSE NEW-VERSION.                                           EDIT0322
           OPEN INPUT NEW-VERSION.                                      EDIT0323
           MOVE "UPDATED LISTING" TO PHASE.                             EDIT0324
           MOVE ZEROES TO PAGE-NUMBER.                                  EDIT0325
           PERFORM TOP-OF-PAGE-ROUTINE.                                 EDIT0326
           MOVE SPACES TO DISPOSITION.                                  EDIT0327
                                                                        EDIT0328
       LISTING-LOOP.                                                    EDIT0329
           READ NEW-VERSION AT END GO TO END-JOB.                       EDIT0330
           MOVE NEW-RECORD TO ACTIVE-IMAGE.                             EDIT0331
           WRITE COMMENT-LINE FROM ACTIVITIES-LISTING.                  EDIT0332
           ADD 1 TO LINE-COUNT.                                         EDIT0333
           IF LINE-COUNT EQUAL 56 PERFORM TOP-OF-PAGE-ROUTINE.          EDIT0334
           GO TO LISTING-LOOP.                                          EDIT0335
                                                                        EDIT0336
       END-JOB.                                                         EDIT0337
           MOVE "PROGRAM TERMINATION" TO MESSAGE-TEXT.                  EDIT0338
           WRITE COMMENT-LINE FROM MESSAGE-LOG.                         EDIT0339
           CLOSE OLD-VERSION, NEW-VERSION, MODIFICATION, COMMENTARY.    EDIT0340
           STOP RUN.                                                    EDIT0341
                                                                        EDIT0342
       END PROGRAM EDITOR.                                              EDIT0343
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:3750: \$COMPILE_ONLY -Xref -t prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -Xref -t prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:3750"
( $at_check_trace; $COMPILE_ONLY -Xref -t prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 42: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 44: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 51: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 53: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 60: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 62: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 85: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 87: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: in paragraph 'CHANGE-A-RECORD':
prog.cob: 198: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 199: warning: ALTER is obsolete in GnuCOBOL
prog.cob: in paragraph 'INSERT-A-RECORD':
prog.cob: 220: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 221: warning: ALTER is obsolete in GnuCOBOL
prog.cob: in paragraph 'DELETE-A-RECORD':
prog.cob: 254: warning: ALTER is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:3750"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }



cat >prog18.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                   DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................

000001
000002         IDENTIFICATION DIVISION.
000003         PROGRAM-ID.
000004             EDITOR.
000005
000006        *NOTE.
000007        *    THIS VERSION OF EDITOR 1 COMPRISES AN ENTIRE RE_WRITE
000008        *    OF THE BASIC EDITOR WITH ONLY ONE CHANGE IN THE COMMAND
000009        *    STRUCTURE, THAT BEING THE ADDITION OF A "CHANGE" COMMAND
000010        *    TO SERVE IN PLACE OF THE INSERT-DELETE COMBINATION WHICH
000011        *    WAS REQUIRED IN PREVIOUS VERSIONS. RECORD NUMBER FIELDS
000012        *    HAVE ALSO BEEN REDUCED FROM 5 DIGITS TO 4.
000013        *    CHANGE 1.
000014        *       MODIFY TO RUN ON TI-990.
000015        *    CHANGE 2.
000016        *       MODIFY TO RUN ON GNUCOBOL.
000017
000018         ENVIRONMENT DIVISION.
000019         CONFIGURATION SECTION.
000020         SOURCE-COMPUTER.
000021             IBM-360.
000022         OBJECT-COMPUTER.
000023             IBM-360.
000024         INPUT-OUTPUT SECTION.
000025         FILE-CONTROL.
000026             SELECT OLD-VERSION  ASSIGN TO "SYSUT1"
000027                                 ORGANIZATION LINE SEQUENTIAL.
000028             SELECT NEW-VERSION  ASSIGN TO "SYSUT2"
000029                                 ORGANIZATION LINE SEQUENTIAL.
000030             SELECT PRT-VERSION  ASSIGN TO "SYSUT2"
000031                                 ORGANIZATION LINE SEQUENTIAL.
000032             SELECT MODIFICATION ASSIGN TO "SYSIN1"
000033                                 ORGANIZATION LINE SEQUENTIAL.
000034             SELECT COMMENTARY   ASSIGN TO "SYSOU1"
000035                                 ORGANIZATION LINE SEQUENTIAL.
000036
000037         DATA DIVISION.
000038
000039         FILE SECTION.
000040
000041         FD  OLD-VERSION
000042             LABEL RECORDS ARE STANDARD
warning: LABEL RECORDS is obsolete in GnuCOBOL
000043             BLOCK CONTAINS 80 CHARACTERS
000044             DATA RECORD IS OLD-RECORD.
warning: DATA RECORDS is obsolete in GnuCOBOL
000045
000046         01  OLD-RECORD.
000047             02 OLD-STATEMENT       PICTURE X(75).
000048             02 OLD-NUMBER          PICTURE X(5).
000049
000050         FD  NEW-VERSION
000051             LABEL RECORDS ARE STANDARD
warning: LABEL RECORDS is obsolete in GnuCOBOL
000052             BLOCK CONTAINS 80 CHARACTERS
000053             DATA RECORD IS NEW-RECORD.
warning: DATA RECORDS is obsolete in GnuCOBOL
000054
000055         01  NEW-RECORD.
000056             02 NEW-STATEMENT       PICTURE X(75).
000057             02 NEW-NUMBER          PICTURE X(5).
000058
000059         FD  MODIFICATION
000060             LABEL RECORDS ARE OMITTED
warning: LABEL RECORDS is obsolete in GnuCOBOL
000061             BLOCK CONTAINS 80 CHARACTERS
000062             DATA RECORD IS UPDATE-ORDER.
warning: DATA RECORDS is obsolete in GnuCOBOL
000063
000064         01  UPDATE-ORDER.
000065             02 INSERTION.
000066                03 COMMAND          PICTURE X(6).
000067                   88 ENDJOB        VALUE "ENDJOB".
000068                   88 ENDSET        VALUE "ENDSET".
000069                   88 REMOVE        VALUE "REMOVE".
000070                   88 ADDNEW        VALUE "INSERT".
000071                   88 CHANGE        VALUE "CHANGE".
000072                   88 DISPLY        VALUE "DISPLY".
000073                03 FILLER           PICTURE X.
000074                03 A-FIELD          PICTURE 9(5).
000075                03 A-ALPHA REDEFINES A-FIELD    PICTURE X(5).
000076                   88 A-BLANK       VALUE SPACES.
000077                03 FILLER           PICTURE X(4).
000078                03 B-FIELD          PICTURE 9(5).
000079                03 B-ALPHA REDEFINES B-FIELD    PICTURE X(5).
000080                   88 B-BLANK       VALUE SPACES.
000081                03 FILLER           PICTURE X(54).
000082             02 FILLER              PICTURE X(5).
000083
000084         FD  COMMENTARY
000085             LABEL RECORDS ARE OMITTED
warning: LABEL RECORDS is obsolete in GnuCOBOL
000086             BLOCK CONTAINS 82 CHARACTERS
000087             DATA RECORD IS COMMENT-LINE.
warning: DATA RECORDS is obsolete in GnuCOBOL
000088
000089         01  COMMENT-LINE.
000090             02 FILLER              PICTURE X(82).
000091
000092         WORKING-STORAGE SECTION.
000093
000094         77  COMMAND-ADDITIONS      PICTURE 9(3) COMPUTATIONAL VALUE 0.
000095         77  COMMAND-SUBTRACTIONS   PICTURE 9(3) COMPUTATIONAL VALUE 0.
000096         77  TOTAL-INSERTED         PICTURE 9(3) COMPUTATIONAL VALUE 0.
000097         77  TOTAL-DELETED          PICTURE 9(3) COMPUTATIONAL VALUE 0.
000098         77  OUTPUT-COUNT           PICTURE 9(5) COMPUTATIONAL VALUE 0.
000099         77  LINE-COUNT             PICTURE 9(2) COMPUTATIONAL VALUE 0.
000100         77  FIELDA                 PICTURE 9(5) VALUE 0.
000101         77  FIELDB                 PICTURE 9(5) VALUE 0.
000102         77  BLANK-LINE             PICTURE X(82) VALUE SPACES.
000103
000104         01  DATE-FROM-SYS.
000105             02 DFSYS OCCURS 3 TIMES PICTURE 99.
000106
000107         01  HEADINGS-LINE.
000108             02 FILLER              PICTURE X(15) VALUE "EDITOR VERSION".
000109             02 FILLER              PICTURE X(20) VALUE "1.1 - 206/72".
000110             02 PHASE               PICTURE X(17) VALUE "UPDATING AS OF".
000111             02 MONTH-RUN           PICTURE XX.
000112             02 FILLER              PICTURE X VALUE "/".
000113             02 DAY-RUN             PICTURE XX.
000114             02 FILLER              PICTURE X VALUE "/".
000115             02 YEAR-RUN            PICTURE XX.
000116             02 FILLER              PICTURE X(8) VALUE SPACES.
000117             02 FILLER              PICTURE X(8) VALUE "  PAGE: ".
000118             02 PAGE-NUMBER         PICTURE 9(4) VALUE 0.
000119
000120         01  COMMAND-LISTING.
000121             02 FILLER              PICTURE X(2) VALUE SPACES.
000122             02 COMMAND-IMAGE       PICTURE X(80).
000123
000124         01  ACTIVITIES-LISTING.
000125             02 DISPOSITION         PICTURE X(2).
000126             02 ACTIVE-IMAGE        PICTURE X(80).
000127
000128         01  UPSI-BYTE.
000129             02 UPSI-BIT OCCURS 8 TIMES  PICTURE X.
000130
000131         01  MESSAGE-LOG.
000132             02 FILLER              PICTURE X(2) VALUE SPACES.
000133             02 MESSAGE-TEXT        PICTURE X(80).
000134
000135         01  DISPLAY-MESSAGE.
000136             02 FILLER              PICTURE X(2) VALUE SPACES.
000137             02 DISPLAY-TEMP        PICTURE X(6).
000138             02 FILLER              PICTURE X(2) VALUE SPACES.
000139             02 DISPLAY-TEXT        PICTURE X(60).
000140
000141         77  END-JOB-PROCESS        PICTURE 9 VALUE 0.
000142         77  DELETE-PROCESS         PICTURE 9 VALUE 1.
000143         77  INSERT-PROCESS         PICTURE 9 VALUE 2.
000144         77  WRITE-PROCESS          PICTURE 9 VALUE 3.
000145
000146         01  SELECTORS.
000147             02 RETURN-SELECT       PICTURE 9 VALUE 0.
000148             02 NEXT-JOB-SELECT     PICTURE 9 VALUE 0.
000149
000150         PROCEDURE DIVISION.
000151
000152         START-SECTION.
000153             OPEN INPUT OLD-VERSION, MODIFICATION,
000154                  OUTPUT NEW-VERSION, COMMENTARY.
000155             MOVE "F" TO UPSI-BIT (1), UPSI-BIT (2).
000156             ACCEPT DATE-FROM-SYS FROM DATE.
000157             MOVE DFSYS (1) TO YEAR-RUN.
000158             MOVE DFSYS (2) TO MONTH-RUN.
000159             MOVE DFSYS (3) TO DAY-RUN.
000160             READ OLD-VERSION AT END
000161                MOVE "NO OLD VERSION FOUND" TO MESSAGE-TEXT
000162                WRITE COMMENT-LINE FROM MESSAGE-LOG
000163                GO TO END-JOB.
000164             MOVE OLD-STATEMENT TO NEW-STATEMENT.
000165             PERFORM OUTPUT-A-RECORD.
000166
000167         TOP-OF-PAGE-ROUTINE.
000168             ADD 1 TO PAGE-NUMBER.
000169             MOVE ZERO TO LINE-COUNT.
000170             WRITE COMMENT-LINE FROM HEADINGS-LINE AFTER PAGE.
000171             WRITE COMMENT-LINE FROM BLANK-LINE.
000172
000173         READ-A-COMMAND.
000174             READ MODIFICATION AT END
000175                MOVE "MODIFICATION FILE ENDED " TO MESSAGE-TEXT
000176                WRITE COMMENT-LINE FROM MESSAGE-LOG
000177                GO TO FINISH-JOB.
000178             MOVE UPDATE-ORDER TO COMMAND-IMAGE.
000179             WRITE COMMENT-LINE FROM COMMAND-LISTING.
000180             ADD 2 TO LINE-COUNT.
000181             IF A-BLANK MOVE ZEROES TO A-FIELD.
000182             IF B-BLANK MOVE ZEROES TO B-FIELD.
000183             MOVE A-FIELD TO FIELDA.
000184             MOVE B-FIELD TO FIELDB.
000185
000186         TEST-COMMAND-TYPE.
000187             IF CHANGE GO TO CHANGE-A-RECORD.
000188             IF REMOVE GO TO DELETE-A-RECORD.
000189             IF DISPLY MOVE "T" TO UPSI-BIT (2)
000190                GO TO FINISH-JOB.
000191             IF ENDJOB GO TO FINISH-JOB.
000192             IF ADDNEW GO TO INSERT-A-RECORD.
000193             MOVE "INVALID COMMAND IGNORED." TO MESSAGE-TEXT.
000194             WRITE COMMENT-LINE FROM MESSAGE-LOG.
000195             GO TO READ-A-COMMAND.
000196
000197         CHANGE-A-RECORD.
000198             ALTER RETURN-TO-USER TO PROCEED TO INSERTION-PROCESS.
warning: ALTER is obsolete in GnuCOBOL
000199             ALTER NEXT-JOB-STEP TO PROCEED TO DELETION-PROCESS.
warning: ALTER is obsolete in GnuCOBOL
000200
000201         FIND-FIELDA.
000202             IF OLD-NUMBER IS GREATER THAN FIELDA
000203                MOVE "RECORD ALREADY PASSED" TO MESSAGE-TEXT
000204                WRITE COMMENT-LINE FROM MESSAGE-LOG
000205                GO TO READ-A-COMMAND.
000206             READ OLD-VERSION AT END
000207                MOVE "NOT FOUND IN OLD VERSION" TO DISPLAY-TEXT
000208                MOVE FIELDA TO DISPLAY-TEMP
000209                WRITE COMMENT-LINE FROM DISPLAY-MESSAGE
000210                GO TO END-JOB.
000211             IF OLD-NUMBER IS LESS THAN FIELDA
000212                MOVE OLD-STATEMENT TO NEW-STATEMENT
000213                PERFORM OUTPUT-A-RECORD
000214                GO TO FIND-FIELDA.
000215
000216         RETURN-TO-USER.
000217             GO TO END-JOB.
000218
000219         INSERT-A-RECORD.
000220             ALTER RETURN-TO-USER TO PROCEED TO INSERTION-PROCESS.
warning: ALTER is obsolete in GnuCOBOL
000221             ALTER NEXT-JOB-STEP TO PROCEED TO FORCED-WRITE.
warning: ALTER is obsolete in GnuCOBOL
000222             GO TO FIND-FIELDA.
000223
000224         INSERTION-PROCESS.
000225             READ MODIFICATION AT END
000226                MOVE "NO ENDSET FOUND" TO MESSAGE-TEXT
000227                WRITE COMMENT-LINE FROM MESSAGE-LOG
000228                GO TO END-JOB.
000229             IF ENDSET
000230                MOVE COMMAND-ADDITIONS TO DISPLAY-TEMP
000231                MOVE "RECORDS INSERTED." TO DISPLAY-TEXT
000232                WRITE COMMENT-LINE FROM DISPLAY-MESSAGE
000233                ADD COMMAND-ADDITIONS TO TOTAL-INSERTED
000234                MOVE ZEROES TO COMMAND-ADDITIONS
000235                GO TO NEXT-JOB-STEP.
000236             MOVE INSERTION TO NEW-STATEMENT, ACTIVE-IMAGE.
000237             MOVE "I " TO DISPOSITION.
000238             PERFORM OUTPUT-A-RECORD.
000239             WRITE COMMENT-LINE FROM ACTIVITIES-LISTING.
000240             ADD 1 TO COMMAND-ADDITIONS.
000241             ADD 1 TO LINE-COUNT.
000242             IF LINE-COUNT EQUAL 56 PERFORM TOP-OF-PAGE-ROUTINE.
000243             GO TO INSERTION-PROCESS.
000244
000245         NEXT-JOB-STEP.
000246             GO TO END-JOB.
000247
000248         FORCED-WRITE.
000249             MOVE OLD-STATEMENT TO NEW-STATEMENT.
000250             PERFORM OUTPUT-A-RECORD.
000251             GO TO READ-A-COMMAND.
000252
000253         DELETE-A-RECORD.
000254             ALTER RETURN-TO-USER TO PROCEED TO DELETION-PROCESS.
warning: ALTER is obsolete in GnuCOBOL
000255             GO TO FIND-FIELDA.
000256
000257         DELETION-PROCESS.
000258             MOVE OLD-RECORD TO ACTIVE-IMAGE.
000259             MOVE "D " TO DISPOSITION.
000260             WRITE COMMENT-LINE FROM ACTIVITIES-LISTING.
000261             ADD 1 TO LINE-COUNT.
000262             IF LINE-COUNT EQUAL 56 PERFORM TOP-OF-PAGE-ROUTINE.
000263             ADD 1 TO COMMAND-SUBTRACTIONS.
000264             IF OLD-NUMBER IS NOT LESS THAN FIELDB
000265                MOVE COMMAND-SUBTRACTIONS TO DISPLAY-TEMP
000266                MOVE "RECORDS DELETED." TO DISPLAY-TEXT
000267                WRITE COMMENT-LINE FROM DISPLAY-MESSAGE
000268                ADD COMMAND-SUBTRACTIONS TO TOTAL-DELETED
000269                MOVE OLD-STATEMENT TO NEW-STATEMENT
000270                MOVE ZEROES TO COMMAND-SUBTRACTIONS
000271                GO TO READ-A-COMMAND.
000272             READ OLD-VERSION AT END
000273                MOVE "NOT FOUND IN OLD VERSION DOING DELETE"
000274                      TO DISPLAY-TEXT
000275                WRITE COMMENT-LINE FROM DISPLAY-MESSAGE
000276                GO TO END-JOB.
000277             GO TO DELETION-PROCESS.
000278
000279         OUTPUT-A-RECORD.
000280             ADD 1 TO OUTPUT-COUNT.
000281             MOVE OUTPUT-COUNT TO NEW-NUMBER.
000282             WRITE NEW-RECORD.
000283
000284         FINISH-JOB.
000285             READ OLD-VERSION AT END GO TO TEST-FOR-LISTING.
000286             MOVE OLD-STATEMENT TO NEW-STATEMENT.
000287             GO TO OUTPUT-A-RECORD.
000288
000289         TEST-FOR-LISTING.
000290             PERFORM TOP-OF-PAGE-ROUTINE.
000291             MOVE OLD-NUMBER TO DISPLAY-TEMP.
000292             MOVE "RECORDS READ." TO DISPLAY-TEXT.
000293             WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.
000294             MOVE TOTAL-INSERTED TO DISPLAY-TEMP.
000295             MOVE "RECORDS ADDED." TO DISPLAY-TEXT.
000296             WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.
000297             MOVE TOTAL-DELETED TO DISPLAY-TEMP.
000298             MOVE "RECORDS DROPPED." TO DISPLAY-TEXT.
000299             WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.
000300             MOVE OUTPUT-COUNT TO DISPLAY-TEMP.
000301             MOVE "RECORDS IN NEW FILE." TO DISPLAY-TEXT.
000302             WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.
000303             IF UPSI-BIT (2) EQUAL "F" GO TO END-JOB.
000304             CLOSE NEW-VERSION.
000305             OPEN INPUT NEW-VERSION.
000306             MOVE "UPDATED LISTING" TO PHASE.
000307             MOVE ZEROES TO PAGE-NUMBER.
000308             PERFORM TOP-OF-PAGE-ROUTINE.
000309             MOVE SPACES TO DISPOSITION.
000310
000311         LISTING-LOOP.
000312             READ NEW-VERSION AT END GO TO END-JOB.
000313             MOVE NEW-RECORD TO ACTIVE-IMAGE.
000314             WRITE COMMENT-LINE FROM ACTIVITIES-LISTING.
000315             ADD 1 TO LINE-COUNT.
000316             IF LINE-COUNT EQUAL 56 PERFORM TOP-OF-PAGE-ROUTINE.
000317             GO TO LISTING-LOOP.
000318
000319         END-JOB.
000320             MOVE "PROGRAM TERMINATION" TO MESSAGE-TEXT.
000321             WRITE COMMENT-LINE FROM MESSAGE-LOG.
000322             CLOSE OLD-VERSION, NEW-VERSION, MODIFICATION, COMMENTARY.
000323             STOP RUN.
000324
000325         END PROGRAM EDITOR.

SIZE  TYPE           LVL  NAME                           PICTURE

00080 FILE                OLD-VERSION
00080 GROUP          01   OLD-RECORD
00075 ALPHANUMERIC   02   OLD-STATEMENT                  X(75)
00005 ALPHANUMERIC   02   OLD-NUMBER                     X(5)

00080 FILE                NEW-VERSION
00080 GROUP          01   NEW-RECORD
00075 ALPHANUMERIC   02   NEW-STATEMENT                  X(75)
00005 ALPHANUMERIC   02   NEW-NUMBER                     X(5)

00032 FILE                PRT-VERSION

00080 FILE                MODIFICATION
00080 GROUP          01   UPDATE-ORDER
00075 GROUP          02   INSERTION
00006 ALPHANUMERIC   03   COMMAND                        X(6)
      CONDITIONAL    88   ENDJOB
      CONDITIONAL    88   ENDSET
      CONDITIONAL    88   REMOVE
      CONDITIONAL    88   ADDNEW
      CONDITIONAL    88   CHANGE
      CONDITIONAL    88   DISPLY
00001 ALPHANUMERIC   03   FILLER                         X
00005 NUMERIC        03   A-FIELD                        9(5)
00005 ALPHANUMERIC   03   A-ALPHA                        X(5), REDEFINES A-FIELD
      CONDITIONAL    88   A-BLANK
00004 ALPHANUMERIC   03   FILLER                         X(4)
00005 NUMERIC        03   B-FIELD                        9(5)
00005 ALPHANUMERIC   03   B-ALPHA                        X(5), REDEFINES B-FIELD
      CONDITIONAL    88   B-BLANK
00054 ALPHANUMERIC   03   FILLER                         X(54)
00005 ALPHANUMERIC   02   FILLER                         X(5)

00082 FILE                COMMENTARY
00082 GROUP          01   COMMENT-LINE
00082 ALPHANUMERIC   02   FILLER                         X(82)

      WORKING-STORAGE SECTION

00002 NUMERIC        77   COMMAND-ADDITIONS              9(3) COMP
00002 NUMERIC        77   COMMAND-SUBTRACTIONS           9(3) COMP
00002 NUMERIC        77   TOTAL-INSERTED                 9(3) COMP
00002 NUMERIC        77   TOTAL-DELETED                  9(3) COMP
00004 NUMERIC        77   OUTPUT-COUNT                   9(5) COMP
00001 NUMERIC        77   LINE-COUNT                     9(2) COMP
00005 NUMERIC        77   FIELDA                         9(5)
00005 NUMERIC        77   FIELDB                         9(5)
00082 ALPHANUMERIC   77   BLANK-LINE                     X(82)

00006 GROUP          01   DATE-FROM-SYS
00002 NUMERIC        02   DFSYS                          99, OCCURS 3

00080 GROUP          01   HEADINGS-LINE
00015 ALPHANUMERIC   02   FILLER                         X(15)
00020 ALPHANUMERIC   02   FILLER                         X(20)
00017 ALPHANUMERIC   02   PHASE                          X(17)
00002 ALPHANUMERIC   02   MONTH-RUN                      XX
00001 ALPHANUMERIC   02   FILLER                         X
00002 ALPHANUMERIC   02   DAY-RUN                        XX
00001 ALPHANUMERIC   02   FILLER                         X
00002 ALPHANUMERIC   02   YEAR-RUN                       XX
00008 ALPHANUMERIC   02   FILLER                         X(8)
00008 ALPHANUMERIC   02   FILLER                         X(8)
00004 NUMERIC        02   PAGE-NUMBER                    9(4)

00082 GROUP          01   COMMAND-LISTING
00002 ALPHANUMERIC   02   FILLER                         X(2)
00080 ALPHANUMERIC   02   COMMAND-IMAGE                  X(80)

00082 GROUP          01   ACTIVITIES-LISTING
00002 ALPHANUMERIC   02   DISPOSITION                    X(2)
00080 ALPHANUMERIC   02   ACTIVE-IMAGE                   X(80)

00008 GROUP          01   UPSI-BYTE
00001 ALPHANUMERIC   02   UPSI-BIT                       X, OCCURS 8

00082 GROUP          01   MESSAGE-LOG
00002 ALPHANUMERIC   02   FILLER                         X(2)
00080 ALPHANUMERIC   02   MESSAGE-TEXT                   X(80)

00070 GROUP          01   DISPLAY-MESSAGE
00002 ALPHANUMERIC   02   FILLER                         X(2)
00006 ALPHANUMERIC   02   DISPLAY-TEMP                   X(6)
00002 ALPHANUMERIC   02   FILLER                         X(2)
00060 ALPHANUMERIC   02   DISPLAY-TEXT                   X(60)

00001 NUMERIC        77   END-JOB-PROCESS                9
00001 NUMERIC        77   DELETE-PROCESS                 9
00001 NUMERIC        77   INSERT-PROCESS                 9
00001 NUMERIC        77   WRITE-PROCESS                  9

00002 GROUP          01   SELECTORS
00001 NUMERIC        02   RETURN-SELECT                  9
00001 NUMERIC        02   NEXT-JOB-SELECT                9


NAME                           DEFINED                REFERENCES

OLD-VERSION                    26       41      153     160     206     272
                                        285     322
OLD-RECORD                     46       44      258
OLD-STATEMENT                  47       164     212     249     269     286
OLD-NUMBER                     48       202     211     264     291

NEW-VERSION                    28       50      154     282     304     305
                                        312     322
NEW-RECORD                     55       53      282     313
NEW-STATEMENT                  56       164     212     236     249     269
                                        286
NEW-NUMBER                     57       281

PRT-VERSION                    30     not referenced

MODIFICATION                   32       59      153     174     225     322
UPDATE-ORDER                   64       62      178
INSERTION                      65       236
COMMAND                        66     referenced by parent/child
ENDJOB                         67       191
ENDSET                         68       229
REMOVE                         69       188
ADDNEW                         70       192
CHANGE                         71       187
DISPLY                         72       189
A-FIELD                        74       181     183
A-ALPHA                        75     referenced by parent/child
A-BLANK                        76       181
B-FIELD                        78       182     184
B-ALPHA                        79     referenced by parent/child
B-BLANK                        80       182

COMMENTARY                     34       84      154     162     170     171
                                        176     179     194     204     209
                                        227     232     239     260     267
                                        275     293     296     299     302
                                        314     321     322
COMMENT-LINE                   89       87      162     170     171     176
                                        179     194     204     209     227
                                        232     239     260     267     275
                                        293     296     299     302     314
                                        321

COMMAND-ADDITIONS              94       230     233     234     240
COMMAND-SUBTRACTIONS           95       263     265     268     270
TOTAL-INSERTED                 96       233     294
TOTAL-DELETED                  97       268     297
OUTPUT-COUNT                   98       280     281     300
LINE-COUNT                     99       169     180     241     242     261
                                        262     315     316
FIELDA                         100      183     202     208     211
FIELDB                         101      184     264
BLANK-LINE                     102      171
DATE-FROM-SYS                  104      156
DFSYS                          105      157     158     159
HEADINGS-LINE                  107      170
PHASE                          110      306
MONTH-RUN                      111      158
DAY-RUN                        113      159
YEAR-RUN                       115      157
PAGE-NUMBER                    118      168     307
COMMAND-LISTING                120      179
COMMAND-IMAGE                  122      178
ACTIVITIES-LISTING             124      239     260     314
DISPOSITION                    125      237     259     309
ACTIVE-IMAGE                   126      236     258     313
UPSI-BYTE                      128    referenced by child
UPSI-BIT                       129      155     189     303
MESSAGE-LOG                    131      162     176     194     204     227
                                        321
MESSAGE-TEXT                   133      161     175     193     203     226
                                        320
DISPLAY-MESSAGE                135      209     232     267     275     293
                                        296     299     302
DISPLAY-TEMP                   137      208     230     265     291     294
                                        297     300
DISPLAY-TEXT                   139      207     231     266     274     292
                                        295     298     301
END-JOB-PROCESS                141    not referenced
DELETE-PROCESS                 142    not referenced
INSERT-PROCESS                 143    not referenced
WRITE-PROCESS                  144    not referenced
SELECTORS                      146    not referenced
RETURN-SELECT                  147    not referenced
NEXT-JOB-SELECT                148    not referenced


LABEL                          DEFINED                REFERENCES

E EDITOR                       152
P START-SECTION                152    not referenced
P TOP-OF-PAGE-ROUTINE          167      242     262     290     308     316
P READ-A-COMMAND               173      195     205     251     271
P TEST-COMMAND-TYPE            186    not referenced
P CHANGE-A-RECORD              197      187
P FIND-FIELDA                  201      214     222     255
P RETURN-TO-USER               216      198     220     254
P INSERT-A-RECORD              219      192
P INSERTION-PROCESS            224      198     220     243
P NEXT-JOB-STEP                245      199     221     235
P FORCED-WRITE                 248      221
P DELETE-A-RECORD              253      188
P DELETION-PROCESS             257      199     254     277
P OUTPUT-A-RECORD              279      165     213     238     250     287
P FINISH-JOB                   284      177     190     191
P TEST-FOR-LISTING             289      285
P LISTING-LOOP                 311      317
P END-JOB                      319      163     210     217     228     246
                                        276     303     312


Error/Warning summary:

prog.cob: 42: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 44: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 51: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 53: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 60: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 62: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 85: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 87: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 198: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 199: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 220: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 221: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 254: warning: ALTER is obsolete in GnuCOBOL

13 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:4345: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:4345"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:4345"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:4346: diff prog18.lst prog.lis"
at_fn_check_prepare_trace "listings.at:4346"
( $at_check_trace; diff prog18.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:4346"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/listings.at:4348: \$COMPILE_ONLY -Xref -T prog.lst -tlines=0 -tsymbols prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -Xref -T prog.lst -tlines=0 -tsymbols prog.cob" "listings.at:4348"
( $at_check_trace; $COMPILE_ONLY -Xref -T prog.lst -tlines=0 -tsymbols prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 42: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 44: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 51: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 53: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 60: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 62: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 85: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 87: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: in paragraph 'CHANGE-A-RECORD':
prog.cob: 198: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 199: warning: ALTER is obsolete in GnuCOBOL
prog.cob: in paragraph 'INSERT-A-RECORD':
prog.cob: 220: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 221: warning: ALTER is obsolete in GnuCOBOL
prog.cob: in paragraph 'DELETE-A-RECORD':
prog.cob: 254: warning: ALTER is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:4348"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }



cat >prog19.lst <<'_ATEOF'
GnuCOBOL V.R.P               prog.cob                                                           DDD MMM dd HH:MM:SS YYYY

LINE    PG/LN  A...B............................................................SEQUENCE

000001
000002         IDENTIFICATION DIVISION.                                         EDIT0001
000003         PROGRAM-ID.                                                      EDIT0002
000004             EDITOR.                                                      EDIT0003
000005                                                                          EDIT0008
000006        *NOTE.                                                            EDIT0009
000007        *    THIS VERSION OF EDITOR 1 COMPRISES AN ENTIRE RE_WRITE        EDIT0010
000008        *    OF THE BASIC EDITOR WITH ONLY ONE CHANGE IN THE COMMAND      EDIT0011
000009        *    STRUCTURE, THAT BEING THE ADDITION OF A "CHANGE" COMMAND     EDIT0012
000010        *    TO SERVE IN PLACE OF THE INSERT-DELETE COMBINATION WHICH     EDIT0013
000011        *    WAS REQUIRED IN PREVIOUS VERSIONS. RECORD NUMBER FIELDS      EDIT0014
000012        *    HAVE ALSO BEEN REDUCED FROM 5 DIGITS TO 4.                   EDIT0015
000013        *    CHANGE 1.                                                    EDIT0016
000014        *       MODIFY TO RUN ON TI-990.                                  EDIT0017
000015        *    CHANGE 2.                                                    EDIT0018
000016        *       MODIFY TO RUN ON GNUCOBOL.                                EDIT0019
000017                                                                          EDIT0020
000018         ENVIRONMENT DIVISION.                                            EDIT0021
000019         CONFIGURATION SECTION.                                           EDIT0022
000020         SOURCE-COMPUTER.                                                 EDIT0023
000021             IBM-360.                                                     EDIT0024
000022         OBJECT-COMPUTER.                                                 EDIT0025
000023             IBM-360.                                                     EDIT0026
000024         INPUT-OUTPUT SECTION.                                            EDIT0027
000025         FILE-CONTROL.                                                    EDIT0028
000026             SELECT OLD-VERSION  ASSIGN TO "SYSUT1"                       EDIT0029
000027                                 ORGANIZATION LINE SEQUENTIAL.            EDIT0030
000028             SELECT NEW-VERSION  ASSIGN TO "SYSUT2"                       EDIT0031
000029                                 ORGANIZATION LINE SEQUENTIAL.            EDIT0032
000030             SELECT PRT-VERSION  ASSIGN TO "SYSUT2"                       EDIT0033
000031                                 ORGANIZATION LINE SEQUENTIAL.            EDIT0034
000032             SELECT MODIFICATION ASSIGN TO "SYSIN1"                       EDIT0035
000033                                 ORGANIZATION LINE SEQUENTIAL.            EDIT0036
000034             SELECT COMMENTARY   ASSIGN TO "SYSOU1"                       EDIT0037
000035                                 ORGANIZATION LINE SEQUENTIAL.            EDIT0038
000036                                                                          EDIT0039
000037         DATA DIVISION.                                                   EDIT0040
000038                                                                          EDIT0041
000039         FILE SECTION.                                                    EDIT0042
000040                                                                          EDIT0043
000041         FD  OLD-VERSION                                                  EDIT0044
000042             LABEL RECORDS ARE STANDARD                                   EDIT0045
warning: LABEL RECORDS is obsolete in GnuCOBOL
000043             BLOCK CONTAINS 80 CHARACTERS                                 EDIT0046
000044             DATA RECORD IS OLD-RECORD.                                   EDIT0047
warning: DATA RECORDS is obsolete in GnuCOBOL
000045                                                                          EDIT0048
000046         01  OLD-RECORD.                                                  EDIT0049
000047             02 OLD-STATEMENT       PICTURE X(75).                        EDIT0050
000048             02 OLD-NUMBER          PICTURE X(5).                         EDIT0051
000049                                                                          EDIT0052
000050         FD  NEW-VERSION                                                  EDIT0053
000051             LABEL RECORDS ARE STANDARD                                   EDIT0054
warning: LABEL RECORDS is obsolete in GnuCOBOL
000052             BLOCK CONTAINS 80 CHARACTERS                                 EDIT0055
000053             DATA RECORD IS NEW-RECORD.                                   EDIT0056
warning: DATA RECORDS is obsolete in GnuCOBOL
000054                                                                          EDIT0057
000055         01  NEW-RECORD.                                                  EDIT0058
000056             02 NEW-STATEMENT       PICTURE X(75).                        EDIT0059
000057             02 NEW-NUMBER          PICTURE X(5).                         EDIT0060
000058                                                                          EDIT0061
000059         FD  MODIFICATION                                                 EDIT0062
000060             LABEL RECORDS ARE OMITTED                                    EDIT0063
warning: LABEL RECORDS is obsolete in GnuCOBOL
000061             BLOCK CONTAINS 80 CHARACTERS                                 EDIT0064
000062             DATA RECORD IS UPDATE-ORDER.                                 EDIT0065
warning: DATA RECORDS is obsolete in GnuCOBOL
000063                                                                          EDIT0066
000064         01  UPDATE-ORDER.                                                EDIT0067
000065             02 INSERTION.                                                EDIT0068
000066                03 COMMAND          PICTURE X(6).                         EDIT0069
000067                   88 ENDJOB        VALUE "ENDJOB".                       EDIT0070
000068                   88 ENDSET        VALUE "ENDSET".                       EDIT0071
000069                   88 REMOVE        VALUE "REMOVE".                       EDIT0072
000070                   88 ADDNEW        VALUE "INSERT".                       EDIT0073
000071                   88 CHANGE        VALUE "CHANGE".                       EDIT0074
000072                   88 DISPLY        VALUE "DISPLY".                       EDIT0075
000073                03 FILLER           PICTURE X.                            EDIT0076
000074                03 A-FIELD          PICTURE 9(5).                         EDIT0077
000075                03 A-ALPHA REDEFINES A-FIELD    PICTURE X(5).             EDIT0078
000076                   88 A-BLANK       VALUE SPACES.                         EDIT0079
000077                03 FILLER           PICTURE X(4).                         EDIT0080
000078                03 B-FIELD          PICTURE 9(5).                         EDIT0081
000079                03 B-ALPHA REDEFINES B-FIELD    PICTURE X(5).             EDIT0082
000080                   88 B-BLANK       VALUE SPACES.                         EDIT0083
000081                03 FILLER           PICTURE X(54).                        EDIT0084
000082             02 FILLER              PICTURE X(5).                         EDIT0085
000083                                                                          EDIT0086
000084         FD  COMMENTARY                                                   EDIT0087
000085             LABEL RECORDS ARE OMITTED                                    EDIT0088
warning: LABEL RECORDS is obsolete in GnuCOBOL
000086             BLOCK CONTAINS 82 CHARACTERS                                 EDIT0089
000087             DATA RECORD IS COMMENT-LINE.                                 EDIT0090
warning: DATA RECORDS is obsolete in GnuCOBOL
000088                                                                          EDIT0091
000089         01  COMMENT-LINE.                                                EDIT0092
000090             02 FILLER              PICTURE X(82).                        EDIT0093
000091                                                                          EDIT0094
000092         WORKING-STORAGE SECTION.                                         EDIT0095
000093                                                                          EDIT0096
000094         77  COMMAND-ADDITIONS      PICTURE 9(3) COMPUTATIONAL VALUE 0.   EDIT0097
000095         77  COMMAND-SUBTRACTIONS   PICTURE 9(3) COMPUTATIONAL VALUE 0.   EDIT0098
000096         77  TOTAL-INSERTED         PICTURE 9(3) COMPUTATIONAL VALUE 0.   EDIT0099
000097         77  TOTAL-DELETED          PICTURE 9(3) COMPUTATIONAL VALUE 0.   EDIT0100
000098         77  OUTPUT-COUNT           PICTURE 9(5) COMPUTATIONAL VALUE 0.   EDIT0101
000099         77  LINE-COUNT             PICTURE 9(2) COMPUTATIONAL VALUE 0.   EDIT0102
000100         77  FIELDA                 PICTURE 9(5) VALUE 0.                 EDIT0103
000101         77  FIELDB                 PICTURE 9(5) VALUE 0.                 EDIT0104
000102         77  BLANK-LINE             PICTURE X(82) VALUE SPACES.           EDIT0105
000103                                                                          EDIT0106
000104         01  DATE-FROM-SYS.                                               EDIT0107
000105             02 DFSYS OCCURS 3 TIMES PICTURE 99.                          EDIT0108
000106                                                                          EDIT0109
000107         01  HEADINGS-LINE.                                               EDIT0110
000108             02 FILLER              PICTURE X(15) VALUE "EDITOR VERSION". EDIT0111
000109             02 FILLER              PICTURE X(20) VALUE "1.1 - 206/72".   EDIT0112
000110             02 PHASE               PICTURE X(17) VALUE "UPDATING AS OF". EDIT0113
000111             02 MONTH-RUN           PICTURE XX.                           EDIT0114
000112             02 FILLER              PICTURE X VALUE "/".                  EDIT0115
000113             02 DAY-RUN             PICTURE XX.                           EDIT0116
000114             02 FILLER              PICTURE X VALUE "/".                  EDIT0117
000115             02 YEAR-RUN            PICTURE XX.                           EDIT0118
000116             02 FILLER              PICTURE X(8) VALUE SPACES.            EDIT0119
000117             02 FILLER              PICTURE X(8) VALUE "  PAGE: ".        EDIT0120
000118             02 PAGE-NUMBER         PICTURE 9(4) VALUE 0.                 EDIT0121
000119                                                                          EDIT0122
000120         01  COMMAND-LISTING.                                             EDIT0123
000121             02 FILLER              PICTURE X(2) VALUE SPACES.            EDIT0124
000122             02 COMMAND-IMAGE       PICTURE X(80).                        EDIT0125
000123                                                                          EDIT0126
000124         01  ACTIVITIES-LISTING.                                          EDIT0127
000125             02 DISPOSITION         PICTURE X(2).                         EDIT0128
000126             02 ACTIVE-IMAGE        PICTURE X(80).                        EDIT0129
000127                                                                          EDIT0130
000128         01  UPSI-BYTE.                                                   EDIT0131
000129             02 UPSI-BIT OCCURS 8 TIMES  PICTURE X.                       EDIT0132
000130                                                                          EDIT0133
000131         01  MESSAGE-LOG.                                                 EDIT0134
000132             02 FILLER              PICTURE X(2) VALUE SPACES.            EDIT0135
000133             02 MESSAGE-TEXT        PICTURE X(80).                        EDIT0136
000134                                                                          EDIT0137
000135         01  DISPLAY-MESSAGE.                                             EDIT0138
000136             02 FILLER              PICTURE X(2) VALUE SPACES.            EDIT0139
000137             02 DISPLAY-TEMP        PICTURE X(6).                         EDIT0140
000138             02 FILLER              PICTURE X(2) VALUE SPACES.            EDIT0141
000139             02 DISPLAY-TEXT        PICTURE X(60).                        EDIT0142
000140                                                                          EDIT0143
000141         77  END-JOB-PROCESS        PICTURE 9 VALUE 0.                    EDIT0144
000142         77  DELETE-PROCESS         PICTURE 9 VALUE 1.                    EDIT0145
000143         77  INSERT-PROCESS         PICTURE 9 VALUE 2.                    EDIT0146
000144         77  WRITE-PROCESS          PICTURE 9 VALUE 3.                    EDIT0147
000145                                                                          EDIT0148
000146         01  SELECTORS.                                                   EDIT0149
000147             02 RETURN-SELECT       PICTURE 9 VALUE 0.                    EDIT0150
000148             02 NEXT-JOB-SELECT     PICTURE 9 VALUE 0.                    EDIT0151
000149                                                                          EDIT0152
000150         PROCEDURE DIVISION.                                              EDIT0153
000151                                                                          EDIT0154
000152         START-SECTION.                                                   EDIT0155
000153             OPEN INPUT OLD-VERSION, MODIFICATION,                        EDIT0156
000154                  OUTPUT NEW-VERSION, COMMENTARY.                         EDIT0157
000155             MOVE "F" TO UPSI-BIT (1), UPSI-BIT (2).                      EDIT0158
000156             ACCEPT DATE-FROM-SYS FROM DATE.                              EDIT0159
000157             MOVE DFSYS (1) TO YEAR-RUN.                                  EDIT0160
000158             MOVE DFSYS (2) TO MONTH-RUN.                                 EDIT0161
000159             MOVE DFSYS (3) TO DAY-RUN.                                   EDIT0162
000160             READ OLD-VERSION AT END                                      EDIT0163
000161                MOVE "NO OLD VERSION FOUND" TO MESSAGE-TEXT               EDIT0164
000162                WRITE COMMENT-LINE FROM MESSAGE-LOG                       EDIT0165
000163                GO TO END-JOB.                                            EDIT0166
000164             MOVE OLD-STATEMENT TO NEW-STATEMENT.                         EDIT0167
000165             PERFORM OUTPUT-A-RECORD.                                     EDIT0168
000166                                                                          EDIT0169
000167         TOP-OF-PAGE-ROUTINE.                                             EDIT0170
000168             ADD 1 TO PAGE-NUMBER.                                        EDIT0171
000169             MOVE ZERO TO LINE-COUNT.                                     EDIT0172
000170             WRITE COMMENT-LINE FROM HEADINGS-LINE AFTER PAGE.            EDIT0173
000171             WRITE COMMENT-LINE FROM BLANK-LINE.                          EDIT0174
000172                                                                          EDIT0175
000173         READ-A-COMMAND.                                                  EDIT0176
000174             READ MODIFICATION AT END                                     EDIT0177
000175                MOVE "MODIFICATION FILE ENDED " TO MESSAGE-TEXT           EDIT0178
000176                WRITE COMMENT-LINE FROM MESSAGE-LOG                       EDIT0179
000177                GO TO FINISH-JOB.                                         EDIT0180
000178             MOVE UPDATE-ORDER TO COMMAND-IMAGE.                          EDIT0181
000179             WRITE COMMENT-LINE FROM COMMAND-LISTING.                     EDIT0182
000180             ADD 2 TO LINE-COUNT.                                         EDIT0183
000181             IF A-BLANK MOVE ZEROES TO A-FIELD.                           EDIT0184
000182             IF B-BLANK MOVE ZEROES TO B-FIELD.                           EDIT0185
000183             MOVE A-FIELD TO FIELDA.                                      EDIT0186
000184             MOVE B-FIELD TO FIELDB.                                      EDIT0187
000185                                                                          EDIT0188
000186         TEST-COMMAND-TYPE.                                               EDIT0189
000187             IF CHANGE GO TO CHANGE-A-RECORD.                             EDIT0190
000188             IF REMOVE GO TO DELETE-A-RECORD.                             EDIT0191
000189             IF DISPLY MOVE "T" TO UPSI-BIT (2)                           EDIT0192
000190                GO TO FINISH-JOB.                                         EDIT0193
000191             IF ENDJOB GO TO FINISH-JOB.                                  EDIT0194
000192             IF ADDNEW GO TO INSERT-A-RECORD.                             EDIT0195
000193             MOVE "INVALID COMMAND IGNORED." TO MESSAGE-TEXT.             EDIT0196
000194             WRITE COMMENT-LINE FROM MESSAGE-LOG.                         EDIT0197
000195             GO TO READ-A-COMMAND.                                        EDIT0198
000196                                                                          EDIT0199
000197         CHANGE-A-RECORD.                                                 EDIT0200
000198             ALTER RETURN-TO-USER TO PROCEED TO INSERTION-PROCESS.        EDIT0201
warning: ALTER is obsolete in GnuCOBOL
000199             ALTER NEXT-JOB-STEP TO PROCEED TO DELETION-PROCESS.          EDIT0202
warning: ALTER is obsolete in GnuCOBOL
000200                                                                          EDIT0205
000201         FIND-FIELDA.                                                     EDIT0206
000202             IF OLD-NUMBER IS GREATER THAN FIELDA                         EDIT0207
000203                MOVE "RECORD ALREADY PASSED" TO MESSAGE-TEXT              EDIT0208
000204                WRITE COMMENT-LINE FROM MESSAGE-LOG                       EDIT0209
000205                GO TO READ-A-COMMAND.                                     EDIT0210
000206             READ OLD-VERSION AT END                                      EDIT0211
000207                MOVE "NOT FOUND IN OLD VERSION" TO DISPLAY-TEXT           EDIT0212
000208                MOVE FIELDA TO DISPLAY-TEMP                               EDIT0213
000209                WRITE COMMENT-LINE FROM DISPLAY-MESSAGE                   EDIT0214
000210                GO TO END-JOB.                                            EDIT0215
000211             IF OLD-NUMBER IS LESS THAN FIELDA                            EDIT0216
000212                MOVE OLD-STATEMENT TO NEW-STATEMENT                       EDIT0217
000213                PERFORM OUTPUT-A-RECORD                                   EDIT0218
000214                GO TO FIND-FIELDA.                                        EDIT0219
000215                                                                          EDIT0220
000216         RETURN-TO-USER.                                                  EDIT0221
000217             GO TO END-JOB.                                               EDIT0223
000218                                                                          EDIT0228
000219         INSERT-A-RECORD.                                                 EDIT0229
000220             ALTER RETURN-TO-USER TO PROCEED TO INSERTION-PROCESS.        EDIT0230
warning: ALTER is obsolete in GnuCOBOL
000221             ALTER NEXT-JOB-STEP TO PROCEED TO FORCED-WRITE.              EDIT0231
warning: ALTER is obsolete in GnuCOBOL
000222             GO TO FIND-FIELDA.                                           EDIT0234
000223                                                                          EDIT0235
000224         INSERTION-PROCESS.                                               EDIT0236
000225             READ MODIFICATION AT END                                     EDIT0237
000226                MOVE "NO ENDSET FOUND" TO MESSAGE-TEXT                    EDIT0238
000227                WRITE COMMENT-LINE FROM MESSAGE-LOG                       EDIT0239
000228                GO TO END-JOB.                                            EDIT0240
000229             IF ENDSET                                                    EDIT0241
000230                MOVE COMMAND-ADDITIONS TO DISPLAY-TEMP                    EDIT0242
000231                MOVE "RECORDS INSERTED." TO DISPLAY-TEXT                  EDIT0243
000232                WRITE COMMENT-LINE FROM DISPLAY-MESSAGE                   EDIT0244
000233                ADD COMMAND-ADDITIONS TO TOTAL-INSERTED                   EDIT0245
000234                MOVE ZEROES TO COMMAND-ADDITIONS                          EDIT0246
000235                GO TO NEXT-JOB-STEP.                                      EDIT0247
000236             MOVE INSERTION TO NEW-STATEMENT, ACTIVE-IMAGE.               EDIT0248
000237             MOVE "I " TO DISPOSITION.                                    EDIT0249
000238             PERFORM OUTPUT-A-RECORD.                                     EDIT0250
000239             WRITE COMMENT-LINE FROM ACTIVITIES-LISTING.                  EDIT0251
000240             ADD 1 TO COMMAND-ADDITIONS.                                  EDIT0252
000241             ADD 1 TO LINE-COUNT.                                         EDIT0253
000242             IF LINE-COUNT EQUAL 56 PERFORM TOP-OF-PAGE-ROUTINE.          EDIT0254
000243             GO TO INSERTION-PROCESS.                                     EDIT0255
000244                                                                          EDIT0256
000245         NEXT-JOB-STEP.                                                   EDIT0257
000246             GO TO END-JOB.                                               EDIT0259
000247                                                                          EDIT0264
000248         FORCED-WRITE.                                                    EDIT0265
000249             MOVE OLD-STATEMENT TO NEW-STATEMENT.                         EDIT0266
000250             PERFORM OUTPUT-A-RECORD.                                     EDIT0267
000251             GO TO READ-A-COMMAND.                                        EDIT0268
000252                                                                          EDIT0269
000253         DELETE-A-RECORD.                                                 EDIT0270
000254             ALTER RETURN-TO-USER TO PROCEED TO DELETION-PROCESS.         EDIT0271
warning: ALTER is obsolete in GnuCOBOL
000255             GO TO FIND-FIELDA.                                           EDIT0273
000256                                                                          EDIT0274
000257         DELETION-PROCESS.                                                EDIT0275
000258             MOVE OLD-RECORD TO ACTIVE-IMAGE.                             EDIT0276
000259             MOVE "D " TO DISPOSITION.                                    EDIT0277
000260             WRITE COMMENT-LINE FROM ACTIVITIES-LISTING.                  EDIT0278
000261             ADD 1 TO LINE-COUNT.                                         EDIT0279
000262             IF LINE-COUNT EQUAL 56 PERFORM TOP-OF-PAGE-ROUTINE.          EDIT0280
000263             ADD 1 TO COMMAND-SUBTRACTIONS.                               EDIT0281
000264             IF OLD-NUMBER IS NOT LESS THAN FIELDB                        EDIT0282
000265                MOVE COMMAND-SUBTRACTIONS TO DISPLAY-TEMP                 EDIT0283
000266                MOVE "RECORDS DELETED." TO DISPLAY-TEXT                   EDIT0284
000267                WRITE COMMENT-LINE FROM DISPLAY-MESSAGE                   EDIT0285
000268                ADD COMMAND-SUBTRACTIONS TO TOTAL-DELETED                 EDIT0286
000269                MOVE OLD-STATEMENT TO NEW-STATEMENT                       EDIT0287
000270                MOVE ZEROES TO COMMAND-SUBTRACTIONS                       EDIT0288
000271                GO TO READ-A-COMMAND.                                     EDIT0289
000272             READ OLD-VERSION AT END                                      EDIT0290
000273                MOVE "NOT FOUND IN OLD VERSION DOING DELETE"              EDIT0291
000274                      TO DISPLAY-TEXT                                     EDIT0292
000275                WRITE COMMENT-LINE FROM DISPLAY-MESSAGE                   EDIT0293
000276                GO TO END-JOB.                                            EDIT0294
000277             GO TO DELETION-PROCESS.                                      EDIT0295
000278                                                                          EDIT0296
000279         OUTPUT-A-RECORD.                                                 EDIT0297
000280             ADD 1 TO OUTPUT-COUNT.                                       EDIT0298
000281             MOVE OUTPUT-COUNT TO NEW-NUMBER.                             EDIT0299
000282             WRITE NEW-RECORD.                                            EDIT0300
000283                                                                          EDIT0301
000284         FINISH-JOB.                                                      EDIT0302
000285             READ OLD-VERSION AT END GO TO TEST-FOR-LISTING.              EDIT0303
000286             MOVE OLD-STATEMENT TO NEW-STATEMENT.                         EDIT0304
000287             GO TO OUTPUT-A-RECORD.                                       EDIT0305
000288                                                                          EDIT0306
000289         TEST-FOR-LISTING.                                                EDIT0307
000290             PERFORM TOP-OF-PAGE-ROUTINE.                                 EDIT0308
000291             MOVE OLD-NUMBER TO DISPLAY-TEMP.                             EDIT0309
000292             MOVE "RECORDS READ." TO DISPLAY-TEXT.                        EDIT0310
000293             WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.                     EDIT0311
000294             MOVE TOTAL-INSERTED TO DISPLAY-TEMP.                         EDIT0312
000295             MOVE "RECORDS ADDED." TO DISPLAY-TEXT.                       EDIT0313
000296             WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.                     EDIT0314
000297             MOVE TOTAL-DELETED TO DISPLAY-TEMP.                          EDIT0315
000298             MOVE "RECORDS DROPPED." TO DISPLAY-TEXT.                     EDIT0316
000299             WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.                     EDIT0317
000300             MOVE OUTPUT-COUNT TO DISPLAY-TEMP.                           EDIT0318
000301             MOVE "RECORDS IN NEW FILE." TO DISPLAY-TEXT.                 EDIT0319
000302             WRITE COMMENT-LINE FROM DISPLAY-MESSAGE.                     EDIT0320
000303             IF UPSI-BIT (2) EQUAL "F" GO TO END-JOB.                     EDIT0321
000304             CLOSE NEW-VERSION.                                           EDIT0322
000305             OPEN INPUT NEW-VERSION.                                      EDIT0323
000306             MOVE "UPDATED LISTING" TO PHASE.                             EDIT0324
000307             MOVE ZEROES TO PAGE-NUMBER.                                  EDIT0325
000308             PERFORM TOP-OF-PAGE-ROUTINE.                                 EDIT0326
000309             MOVE SPACES TO DISPOSITION.                                  EDIT0327
000310                                                                          EDIT0328
000311         LISTING-LOOP.                                                    EDIT0329
000312             READ NEW-VERSION AT END GO TO END-JOB.                       EDIT0330
000313             MOVE NEW-RECORD TO ACTIVE-IMAGE.                             EDIT0331
000314             WRITE COMMENT-LINE FROM ACTIVITIES-LISTING.                  EDIT0332
000315             ADD 1 TO LINE-COUNT.                                         EDIT0333
000316             IF LINE-COUNT EQUAL 56 PERFORM TOP-OF-PAGE-ROUTINE.          EDIT0334
000317             GO TO LISTING-LOOP.                                          EDIT0335
000318                                                                          EDIT0336
000319         END-JOB.                                                         EDIT0337
000320             MOVE "PROGRAM TERMINATION" TO MESSAGE-TEXT.                  EDIT0338
000321             WRITE COMMENT-LINE FROM MESSAGE-LOG.                         EDIT0339
000322             CLOSE OLD-VERSION, NEW-VERSION, MODIFICATION, COMMENTARY.    EDIT0340
000323             STOP RUN.                                                    EDIT0341
000324                                                                          EDIT0342
000325         END PROGRAM EDITOR.                                              EDIT0343

SIZE  TYPE           LVL  NAME                           PICTURE

00080 FILE                OLD-VERSION
00080 GROUP          01   OLD-RECORD
00075 ALPHANUMERIC   02   OLD-STATEMENT                  X(75)
00005 ALPHANUMERIC   02   OLD-NUMBER                     X(5)

00080 FILE                NEW-VERSION
00080 GROUP          01   NEW-RECORD
00075 ALPHANUMERIC   02   NEW-STATEMENT                  X(75)
00005 ALPHANUMERIC   02   NEW-NUMBER                     X(5)

00032 FILE                PRT-VERSION

00080 FILE                MODIFICATION
00080 GROUP          01   UPDATE-ORDER
00075 GROUP          02   INSERTION
00006 ALPHANUMERIC   03   COMMAND                        X(6)
      CONDITIONAL    88   ENDJOB
      CONDITIONAL    88   ENDSET
      CONDITIONAL    88   REMOVE
      CONDITIONAL    88   ADDNEW
      CONDITIONAL    88   CHANGE
      CONDITIONAL    88   DISPLY
00001 ALPHANUMERIC   03   FILLER                         X
00005 NUMERIC        03   A-FIELD                        9(5)
00005 ALPHANUMERIC   03   A-ALPHA                        X(5), REDEFINES A-FIELD
      CONDITIONAL    88   A-BLANK
00004 ALPHANUMERIC   03   FILLER                         X(4)
00005 NUMERIC        03   B-FIELD                        9(5)
00005 ALPHANUMERIC   03   B-ALPHA                        X(5), REDEFINES B-FIELD
      CONDITIONAL    88   B-BLANK
00054 ALPHANUMERIC   03   FILLER                         X(54)
00005 ALPHANUMERIC   02   FILLER                         X(5)

00082 FILE                COMMENTARY
00082 GROUP          01   COMMENT-LINE
00082 ALPHANUMERIC   02   FILLER                         X(82)

      WORKING-STORAGE SECTION

00002 NUMERIC        77   COMMAND-ADDITIONS              9(3) COMP
00002 NUMERIC        77   COMMAND-SUBTRACTIONS           9(3) COMP
00002 NUMERIC        77   TOTAL-INSERTED                 9(3) COMP
00002 NUMERIC        77   TOTAL-DELETED                  9(3) COMP
00004 NUMERIC        77   OUTPUT-COUNT                   9(5) COMP
00001 NUMERIC        77   LINE-COUNT                     9(2) COMP
00005 NUMERIC        77   FIELDA                         9(5)
00005 NUMERIC        77   FIELDB                         9(5)
00082 ALPHANUMERIC   77   BLANK-LINE                     X(82)

00006 GROUP          01   DATE-FROM-SYS
00002 NUMERIC        02   DFSYS                          99, OCCURS 3

00080 GROUP          01   HEADINGS-LINE
00015 ALPHANUMERIC   02   FILLER                         X(15)
00020 ALPHANUMERIC   02   FILLER                         X(20)
00017 ALPHANUMERIC   02   PHASE                          X(17)
00002 ALPHANUMERIC   02   MONTH-RUN                      XX
00001 ALPHANUMERIC   02   FILLER                         X
00002 ALPHANUMERIC   02   DAY-RUN                        XX
00001 ALPHANUMERIC   02   FILLER                         X
00002 ALPHANUMERIC   02   YEAR-RUN                       XX
00008 ALPHANUMERIC   02   FILLER                         X(8)
00008 ALPHANUMERIC   02   FILLER                         X(8)
00004 NUMERIC        02   PAGE-NUMBER                    9(4)

00082 GROUP          01   COMMAND-LISTING
00002 ALPHANUMERIC   02   FILLER                         X(2)
00080 ALPHANUMERIC   02   COMMAND-IMAGE                  X(80)

00082 GROUP          01   ACTIVITIES-LISTING
00002 ALPHANUMERIC   02   DISPOSITION                    X(2)
00080 ALPHANUMERIC   02   ACTIVE-IMAGE                   X(80)

00008 GROUP          01   UPSI-BYTE
00001 ALPHANUMERIC   02   UPSI-BIT                       X, OCCURS 8

00082 GROUP          01   MESSAGE-LOG
00002 ALPHANUMERIC   02   FILLER                         X(2)
00080 ALPHANUMERIC   02   MESSAGE-TEXT                   X(80)

00070 GROUP          01   DISPLAY-MESSAGE
00002 ALPHANUMERIC   02   FILLER                         X(2)
00006 ALPHANUMERIC   02   DISPLAY-TEMP                   X(6)
00002 ALPHANUMERIC   02   FILLER                         X(2)
00060 ALPHANUMERIC   02   DISPLAY-TEXT                   X(60)

00001 NUMERIC        77   END-JOB-PROCESS                9
00001 NUMERIC        77   DELETE-PROCESS                 9
00001 NUMERIC        77   INSERT-PROCESS                 9
00001 NUMERIC        77   WRITE-PROCESS                  9

00002 GROUP          01   SELECTORS
00001 NUMERIC        02   RETURN-SELECT                  9
00001 NUMERIC        02   NEXT-JOB-SELECT                9


NAME                           DEFINED                                    REFERENCES

OLD-VERSION                    26       41      153     160     206     272     285     322
OLD-RECORD                     46       44      258
OLD-STATEMENT                  47       164     212     249     269     286
OLD-NUMBER                     48       202     211     264     291

NEW-VERSION                    28       50      154     282     304     305     312     322
NEW-RECORD                     55       53      282     313
NEW-STATEMENT                  56       164     212     236     249     269     286
NEW-NUMBER                     57       281

PRT-VERSION                    30     not referenced

MODIFICATION                   32       59      153     174     225     322
UPDATE-ORDER                   64       62      178
INSERTION                      65       236
COMMAND                        66     referenced by parent/child
ENDJOB                         67       191
ENDSET                         68       229
REMOVE                         69       188
ADDNEW                         70       192
CHANGE                         71       187
DISPLY                         72       189
A-FIELD                        74       181     183
A-ALPHA                        75     referenced by parent/child
A-BLANK                        76       181
B-FIELD                        78       182     184
B-ALPHA                        79     referenced by parent/child
B-BLANK                        80       182

COMMENTARY                     34       84      154     162     170     171     176     179     194     204     209
                                        227     232     239     260     267     275     293     296     299     302
                                        314     321     322
COMMENT-LINE                   89       87      162     170     171     176     179     194     204     209     227
                                        232     239     260     267     275     293     296     299     302     314
                                        321

COMMAND-ADDITIONS              94       230     233     234     240
COMMAND-SUBTRACTIONS           95       263     265     268     270
TOTAL-INSERTED                 96       233     294
TOTAL-DELETED                  97       268     297
OUTPUT-COUNT                   98       280     281     300
LINE-COUNT                     99       169     180     241     242     261     262     315     316
FIELDA                         100      183     202     208     211
FIELDB                         101      184     264
BLANK-LINE                     102      171
DATE-FROM-SYS                  104      156
DFSYS                          105      157     158     159
HEADINGS-LINE                  107      170
PHASE                          110      306
MONTH-RUN                      111      158
DAY-RUN                        113      159
YEAR-RUN                       115      157
PAGE-NUMBER                    118      168     307
COMMAND-LISTING                120      179
COMMAND-IMAGE                  122      178
ACTIVITIES-LISTING             124      239     260     314
DISPOSITION                    125      237     259     309
ACTIVE-IMAGE                   126      236     258     313
UPSI-BYTE                      128    referenced by child
UPSI-BIT                       129      155     189     303
MESSAGE-LOG                    131      162     176     194     204     227     321
MESSAGE-TEXT                   133      161     175     193     203     226     320
DISPLAY-MESSAGE                135      209     232     267     275     293     296     299     302
DISPLAY-TEMP                   137      208     230     265     291     294     297     300
DISPLAY-TEXT                   139      207     231     266     274     292     295     298     301
END-JOB-PROCESS                141    not referenced
DELETE-PROCESS                 142    not referenced
INSERT-PROCESS                 143    not referenced
WRITE-PROCESS                  144    not referenced
SELECTORS                      146    not referenced
RETURN-SELECT                  147    not referenced
NEXT-JOB-SELECT                148    not referenced


LABEL                          DEFINED                                    REFERENCES

E EDITOR                       152
P START-SECTION                152    not referenced
P TOP-OF-PAGE-ROUTINE          167      242     262     290     308     316
P READ-A-COMMAND               173      195     205     251     271
P TEST-COMMAND-TYPE            186    not referenced
P CHANGE-A-RECORD              197      187
P FIND-FIELDA                  201      214     222     255
P RETURN-TO-USER               216      198     220     254
P INSERT-A-RECORD              219      192
P INSERTION-PROCESS            224      198     220     243
P NEXT-JOB-STEP                245      199     221     235
P FORCED-WRITE                 248      221
P DELETE-A-RECORD              253      188
P DELETION-PROCESS             257      199     254     277
P OUTPUT-A-RECORD              279      165     213     238     250     287
P FINISH-JOB                   284      177     190     191
P TEST-FOR-LISTING             289      285
P LISTING-LOOP                 311      317
P END-JOB                      319      163     210     217     228     246     276     303     312


Error/Warning summary:

prog.cob: 42: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 44: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 51: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 53: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 60: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 62: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 85: warning: LABEL RECORDS is obsolete in GnuCOBOL
prog.cob: 87: warning: DATA RECORDS is obsolete in GnuCOBOL
prog.cob: 198: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 199: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 220: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 221: warning: ALTER is obsolete in GnuCOBOL
prog.cob: 254: warning: ALTER is obsolete in GnuCOBOL

13 warnings in compilation group
0 errors in compilation group
_ATEOF


{ set +x
$as_echo "$at_srcdir/listings.at:4929: \$UNIFY_LISTING prog.lst prog.lis once"
at_fn_check_prepare_dynamic "$UNIFY_LISTING prog.lst prog.lis once" "listings.at:4929"
( $at_check_trace; $UNIFY_LISTING prog.lst prog.lis once
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:4929"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/listings.at:4930: diff prog19.lst prog.lis"
at_fn_check_prepare_trace "listings.at:4930"
( $at_check_trace; diff prog19.lst prog.lis
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/listings.at:4930"
$at_failed && at_fn_log_failure  \
"prog.lst"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_296
#AT_START_297
at_fn_group_banner 297 'run_fundamental.at:23' \
  "DISPLAY literals" "                               " 4
at_xfail=no
(
  $as_echo "297. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           DISPLAY "abc"
           END-DISPLAY.
           DISPLAY  123
           END-DISPLAY.
           DISPLAY +123
           END-DISPLAY.
           DISPLAY -123
           END-DISPLAY.
           DISPLAY  12.3
           END-DISPLAY.
           DISPLAY +12.3
           END-DISPLAY.
           DISPLAY -12.3
           END-DISPLAY.
           DISPLAY 1.23E0
           END-DISPLAY.
           DISPLAY +1.23E0
           END-DISPLAY.
           DISPLAY -1.23E0
           END-DISPLAY.
           DISPLAY 12.3E-2
           END-DISPLAY.
           DISPLAY +12.3E-2
           END-DISPLAY.
           DISPLAY -12.3E-2
           END-DISPLAY.
           DISPLAY B'0101'
           END-DISPLAY.
           DISPLAY BX'EC'
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:63: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:63"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:63"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:64: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:64"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "abc
123
+123
-123
12.3
+12.3
-12.3
1.23
+1.23
-1.23
.123
+.123
-.123
5
236
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:64"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_297
#AT_START_298
at_fn_group_banner 298 'run_fundamental.at:85' \
  "DISPLAY literals, DECIMAL-POINT is COMMA" "       " 4
at_xfail=no
(
  $as_echo "298. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT    IS COMMA.
       PROCEDURE        DIVISION.
           DISPLAY  12,3
           END-DISPLAY.
           DISPLAY +12,3
           END-DISPLAY.
           DISPLAY -12,3
           END-DISPLAY.
           DISPLAY 1,23E0
           END-DISPLAY.
           DISPLAY +1,23E0
           END-DISPLAY.
           DISPLAY -1,23E0
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:111: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:111"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:111"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:112: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:112"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "12,3
+12,3
-12,3
1,23
+1,23
-1,23
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_298
#AT_START_299
at_fn_group_banner 299 'run_fundamental.at:124' \
  "Hexadecimal literal" "                            " 4
at_xfail=no
(
  $as_echo "299. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *);
int dump (unsigned char *data)
{
  int i;
  for (i = 0; i < 4; i++)
    printf ("%02x", data[i]);
  puts ("");
  return 0;
}
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
       >>IF CHARSET = 'EBCDIC'
           DISPLAY X"F1F2F3"
       >>ELSE
           DISPLAY X"313233"
       >>END-IF
           END-DISPLAY.
           CALL "dump" USING X"000102"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:157: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_fundamental.at:157"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:157"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:158: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:158"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:158"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:159: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:159"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "123
00010200
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:159"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_299
#AT_START_300
at_fn_group_banner 300 'run_fundamental.at:167' \
  "DISPLAY data items with VALUE clause" "           " 4
at_xfail=no
(
  $as_echo "300. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-ABC         PIC XXX   VALUE "abc".
       01 X-123         PIC 999   VALUE  123.
       01 X-P123        PIC S999  VALUE +123.
       01 X-N123        PIC S999  VALUE -123.
       01 X-12-3        PIC 99V9  VALUE  12.3.
       01 X-P12-3       PIC S99V9 VALUE +12.3.
       01 X-N12-3       PIC S99V9 VALUE -12.3.
       PROCEDURE        DIVISION.
           DISPLAY X-ABC
           END-DISPLAY.
           DISPLAY X-123
           END-DISPLAY.
           DISPLAY X-P123
           END-DISPLAY.
           DISPLAY X-N123
           END-DISPLAY.
           DISPLAY X-12-3
           END-DISPLAY.
           DISPLAY X-P12-3
           END-DISPLAY.
           DISPLAY X-N12-3
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:200: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:200"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:200"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:201: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:201"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "abc
123
+123
-123
12.3
+12.3
-12.3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:201"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_300
#AT_START_301
at_fn_group_banner 301 'run_fundamental.at:214' \
  "DISPLAY data items with MOVE statement" "         " 4
at_xfail=no
(
  $as_echo "301. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-ABC         PIC XXX   VALUE "abc".
       01 X-123         PIC 999   VALUE  123.
       01 X-P123        PIC S999  VALUE +123.
       01 X-N123        PIC S999  VALUE -123.
       01 X-12-3        PIC 99V9  VALUE  12.3.
       01 X-P12-3       PIC S99V9 VALUE +12.3.
       01 X-N12-3       PIC S99V9 VALUE -12.3.
       PROCEDURE        DIVISION.
           MOVE "abc" TO X-ABC.
           DISPLAY X-ABC
           END-DISPLAY.
           MOVE  123  TO X-123.
           DISPLAY X-123
           END-DISPLAY.
           MOVE +123  TO X-P123.
           DISPLAY X-P123
           END-DISPLAY.
           MOVE -123  TO X-N123.
           DISPLAY X-N123
           END-DISPLAY.
           MOVE  12.3 TO X-12-3.
           DISPLAY X-12-3
           END-DISPLAY.
           MOVE +12.3 TO X-P12-3.
           DISPLAY X-P12-3
           END-DISPLAY.
           MOVE -12.3 TO X-N12-3.
           DISPLAY X-N12-3
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:254: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:254"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:254"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:255: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:255"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "abc
123
+123
-123
12.3
+12.3
-12.3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_301
#AT_START_302
at_fn_group_banner 302 'run_fundamental.at:268' \
  "MOVE to edited item (1)" "                        " 4
at_xfail=no
(
  $as_echo "302. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  SRC-1        PIC S99V99  VALUE   1.10.
       01  SRC-2        PIC S99V99  VALUE   0.02.
       01  SRC-3        PIC S99V99  VALUE  -0.03.
       01  SRC-4        PIC S99V99  VALUE  -0.04.
       01  SRC-5        PIC S99V99  VALUE  -0.05.
       01  EDT-1        PIC -(04)9.
       01  EDT-2        PIC -(04)9.
       01  EDT-3        PIC -(04)9.
       01  EDT-4        PIC +(04)9.
       01  EDT-5        PIC -(05).
       PROCEDURE        DIVISION.
           MOVE SRC-1   TO EDT-1.
           MOVE SRC-2   TO EDT-2.
           MOVE SRC-3   TO EDT-3.
           MOVE SRC-4   TO EDT-4.
           MOVE SRC-5   TO EDT-5.
           DISPLAY '>' EDT-1 '<'
           END-DISPLAY.
           DISPLAY '>' EDT-2 '<'
           END-DISPLAY.
           DISPLAY '>' EDT-3 '<'
           END-DISPLAY.
           DISPLAY '>' EDT-4 '<'
           END-DISPLAY.
           DISPLAY '>' EDT-5 '<'
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:305: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:305"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:305"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:306: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:306"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ">    1<
>    0<
>    0<
>   +0<
>     <
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:306"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_302
#AT_START_303
at_fn_group_banner 303 'run_fundamental.at:317' \
  "MOVE to edited item (2)" "                        " 4
at_xfail=no
(
  $as_echo "303. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  SRC-1        PIC S99V99  VALUE  -0.06.
       01  SRC-2        PIC S99V99  VALUE  -0.07.
       01  SRC-3        PIC S99V99  VALUE  -0.08.
       01  SRC-4        PIC S99V99  VALUE  -0.09.
       01  SRC-5        PIC S99V99  VALUE  -1.10.
       01  EDT-1        PIC 9(04)-.
       01  EDT-2        PIC 9(04)+.
       01  EDT-3        PIC Z(04)+.
       01  EDT-4        PIC 9(04)DB.
       01  EDT-5        PIC 9(04)DB.
       PROCEDURE        DIVISION.
           MOVE SRC-1   TO EDT-1.
           MOVE SRC-2   TO EDT-2.
           MOVE SRC-3   TO EDT-3.
           MOVE SRC-4   TO EDT-4.
           MOVE SRC-5   TO EDT-5.
           DISPLAY '>' EDT-1 '<'
           END-DISPLAY.
           DISPLAY '>' EDT-2 '<'
           END-DISPLAY.
           DISPLAY '>' EDT-3 '<'
           END-DISPLAY.
           DISPLAY '>' EDT-4 '<'
           END-DISPLAY.
           DISPLAY '>' EDT-5 '<'
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:354: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:354"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:354"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:355: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:355"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ">0000 <
>0000+<
>     <
>0000  <
>0001DB<
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:355"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_303
#AT_START_304
at_fn_group_banner 304 'run_fundamental.at:366' \
  "MOVE to item with simple and floating insertion" "" 4
at_xfail=no
(
  $as_echo "304. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 num-1 PIC -*B*99.
       01 num-2 PIC $BB**,***.**.

       PROCEDURE DIVISION.
           MOVE -123 TO num-1
           DISPLAY ">" num-1 "<"

           MOVE 1234.56 TO num-2
           DISPLAY ">" num-2 "<"
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:387: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:387"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:387"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:388: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:388"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ">-**123<
>\$  *1,234.56<
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:388"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_304
#AT_START_305
at_fn_group_banner 305 'run_fundamental.at:396' \
  "MOVE to JUSTIFIED item" "                         " 4
at_xfail=no
(
  $as_echo "305. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  SRC-1        PIC S9(04)          VALUE  11.
       01  SRC-2        PIC S9(04) COMP     VALUE  22.
       01  SRC-3        PIC S9(04) COMP-5   VALUE  33.
       01  SRC-4        PIC S9(04)PP        VALUE  4400.
       01  SRC-5        PIC S9(04)PPPPP     VALUE  55500000.
       01  EDT-FLD      PIC X(07)           JUSTIFIED RIGHT.
       PROCEDURE        DIVISION.
           MOVE SRC-1   TO EDT-FLD.
           DISPLAY '>' EDT-FLD '<'
           END-DISPLAY.
           MOVE SRC-2   TO EDT-FLD.
           DISPLAY '>' EDT-FLD '<'
           END-DISPLAY.
           MOVE SRC-3   TO EDT-FLD.
           DISPLAY '>' EDT-FLD '<'
           END-DISPLAY.
           MOVE SRC-4   TO EDT-FLD.
           DISPLAY '>' EDT-FLD '<'
           END-DISPLAY.
           MOVE SRC-5   TO EDT-FLD.
           DISPLAY '>' EDT-FLD '<'
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:429: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:429"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:429"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:430: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:430"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ">   0011<
>   0022<
>   0033<
> 004400<
>5500000<
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:430"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_305
#AT_START_306
at_fn_group_banner 306 'run_fundamental.at:441' \
  "MOVE integer literal to alphanumeric" "           " 4
at_xfail=no
(
  $as_echo "306. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(04) VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE 0 TO X.
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:457: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:457"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: alphanumeric value is expected
prog.cob: 6: warning: 'X' defined here as PIC X(04)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:457"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:461: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:461"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0   " | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:461"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_306
#AT_START_307
at_fn_group_banner 307 'run_fundamental.at:466' \
  "Check for equality of FLOAT-SHORT / FLOAT-LONG" " " 4
at_xfail=no
(
  $as_echo "307. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  SRC1          FLOAT-LONG VALUE 11.55.
       01  DST1          FLOAT-SHORT.
       01  SRC2          FLOAT-SHORT VALUE 11.55.
       01  DST2          FLOAT-LONG.

       PROCEDURE        DIVISION.
           MOVE SRC1 TO DST1.
           IF DST1 not = 11.55
               DISPLAY "error: move/compare FLOAT-LONG to FLOAT-SHORT fa
      -                "iled " DST1
               END-DISPLAY
           END-IF.

           MOVE SRC1 TO DST2.
           IF DST1 not = 11.55
               DISPLAY "error: move/compare FLOAT-LONG to FLOAT-LONG fai
      -                "led " DST2
               END-DISPLAY
           END-IF.

           MOVE ZERO TO DST1.
           MOVE ZERO TO DST2.

           MOVE SRC2 TO DST1.
           IF DST1 not = 11.55
               DISPLAY "error: move/compare FLOAT-SHORT to FLOAT-SHORT f
      -                "ailed: " DST1
               END-DISPLAY
           END-IF.

           MOVE SRC2 TO DST2.
           IF DST2 not = 11.55
               DISPLAY "error: move/compare FLOAT-SHORT to FLOAT-LONG fa
      -                "iled: " DST2
               END-DISPLAY
           END-IF.

           MOVE ZERO TO DST1.
           IF not (DST1 = 0 AND 0.0)
               DISPLAY "Zero compare failed: " DST1 END-DISPLAY
           END-IF.

           MOVE -0.0 TO DST1.
           IF not (DST1 = 0 AND 0.0)
               DISPLAY "Negative Zero compare failed: " DST1
               END-DISPLAY
           END-IF.

           MOVE 1.1234567 TO DST1.
           MOVE DST1 TO DST2.
           IF DST2 not = 1.1234567
               DISPLAY "move/compare number to FLOAT to DOUBLE failed: "
                       DST1 " - " DST2
               END-DISPLAY
           END-IF.

      * Check for Tolerance
           MOVE 1.1234567 TO DST1.
           MOVE 1.1234568 TO DST2.
           IF DST1 not = DST2 THEN
               DISPLAY "move/compare of very near numbers failed (not id
      -                "entical): " DST1 " - " DST2
               END-DISPLAY
           END-IF.

      * Within tolerance by definition, therefore not checked
      *     MULTIPLY 10000000000 BY DST1 DST2 END-MULTIPLY.
      *     IF DST1 = DST2 THEN
      *         DISPLAY "compare of very near numbers computed failed (id
      *-                "entical): " DST1 " - " DST2
      *         END-DISPLAY
      *     END-IF.

           MOVE 1.1234567 TO DST1.
           MOVE 1.1234569 TO DST2.
           IF DST1 = DST2 THEN
               DISPLAY "move/compare of near equal numbers failed (ident
      -                "ical): " DST1 " - " DST2
               END-DISPLAY
           END-IF.

           MOVE 0.0001 TO DST1.
           MOVE 0.0000 TO DST2.
           IF DST1 = DST2 THEN
               DISPLAY "move/compare of nearly equal very small numbers
      -                "failed  (identical): " DST1 " - " DST2
               END-DISPLAY
           END-IF.

           MOVE 1000001.0 TO DST1.
           MOVE 1000000.0 TO DST2.
           IF DST1 = DST2 THEN
               DISPLAY "move/compare of nearly equal big numbers failed
      -                "(identical): " DST1 " - " DST2
               END-DISPLAY
           END-IF.

      * Within tolerance by definition, therefore not checked
      *     MOVE 1000000000.0 TO DST1.
      *     MOVE 1000000001.0 TO DST2.
      *     IF DST1 = DST2 THEN
      *         DISPLAY "move/compare of nearly equal very big numbers fa
      *-                "iled (identical): " DST1 " - " DST2
      *         END-DISPLAY
      *     END-IF.

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:583: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:583"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:583"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:584: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:584"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:584"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_307
#AT_START_308
at_fn_group_banner 308 'run_fundamental.at:589' \
  "Overlapping MOVE" "                               " 4
at_xfail=no
(
  $as_echo "308. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >subprog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. subprog.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        LINKAGE SECTION.
        01 F1 PIC X(10).
        01 F2 PIC X(15).

        PROCEDURE DIVISION USING F1 F2.
        MOVE F2(1:6) TO F1 (1:8).
        IF F1 not = "Hallo1  90"
           DISPLAY "error: 3: " F1
           END-DISPLAY
        END-IF

        GOBACK.
_ATEOF


cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.

        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01 STRUCTURE.
            05 FIELD1 PIC X(5).
            05 FIELD2 PIC X(10).

        PROCEDURE DIVISION.
           MOVE "Hallo" TO FIELD1.
           MOVE "1234567890" TO FIELD2.

           MOVE FIELD2 TO STRUCTURE.
           IF FIELD1 not = "12345"
              DISPLAY "error: 1: " FIELD1
              END-DISPLAY
           END-IF
           IF FIELD2 not = "67890     "
              DISPLAY "error: 2: " FIELD2
              END-DISPLAY
           END-IF


           MOVE "Hallo" TO FIELD1.
           MOVE "1234567890" TO FIELD2.

           CALL "subprog" USING BY REFERENCE FIELD2 STRUCTURE
           END-CALL

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:645: \$COMPILE_MODULE subprog.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE subprog.cob" "run_fundamental.at:645"
( $at_check_trace; $COMPILE_MODULE subprog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:645"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:646: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:646"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 15: warning: overlapping MOVE may produce unpredictable results
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:646"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:649: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:649"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:649"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog2.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       01  FILLER.
         05  TSTMOV1 PIC X(479).
         05  TSTMOV2 PIC X(10).
       PROCEDURE DIVISION.
           MOVE "0123456789" TO TSTMOV2.
           MOVE TSTMOV2 (2:9) TO TSTMOV2 (1:9)
           IF TSTMOV2 NOT = "1234567899"
              DISPLAY "  PROBLEM MOVE: " TSTMOV2
           ELSE
              DISPLAY "  OK with MOVE: " TSTMOV2.
           MOVE "0123456789" TO TSTMOV2.
           MOVE TSTMOV2 (1:8) TO TSTMOV2 (2:8)
           IF TSTMOV2 = "0000000009"
              DISPLAY "IBM style MOVE: " TSTMOV2
           ELSE IF TSTMOV2 NOT = "0012345679"
              DISPLAY "  PROBLEM MOVE: " TSTMOV2
           ELSE
              DISPLAY "  OK with MOVE: " TSTMOV2.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:677: \$COMPILE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_fundamental.at:677"
( $at_check_trace; $COMPILE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2.cob: 11: warning: overlapping MOVE may produce unpredictable results
prog2.cob: 17: warning: overlapping MOVE may produce unpredictable results
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:677"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:682: ./prog2"
at_fn_check_prepare_trace "run_fundamental.at:682"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "  OK with MOVE: 1234567899
  OK with MOVE: 0012345679
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:682"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_308
#AT_START_309
at_fn_group_banner 309 'run_fundamental.at:690' \
  "Overlapping MOVE" "                               " 4
at_xfail=no
(
  $as_echo "309. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       01  FILLER.
         05  TSTMOV1 PIC X(479).
         05  TSTMOV2 PIC X(10).
       PROCEDURE DIVISION.
           MOVE "0123456789" TO TSTMOV2.
           MOVE TSTMOV2 (2:9) TO TSTMOV2 (1:9)
           IF TSTMOV2 NOT = "1234567899"
              DISPLAY "  PROBLEM MOVE: " TSTMOV2
           ELSE
              DISPLAY "  OK with MOVE: " TSTMOV2.
           MOVE "0123456789" TO TSTMOV2.
           MOVE TSTMOV2 (1:8) TO TSTMOV2 (2:8)
           IF TSTMOV2 = "0000000009"
              DISPLAY "IBM style MOVE: " TSTMOV2
           ELSE IF TSTMOV2 NOT = "0012345679"
              DISPLAY "  PROBLEM MOVE: " TSTMOV2
           ELSE
              DISPLAY "  OK with MOVE: " TSTMOV2.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:719: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:719"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: warning: overlapping MOVE may produce unpredictable results
prog.cob: 17: warning: overlapping MOVE may produce unpredictable results
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:719"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:724: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:724"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "  OK with MOVE: 1234567899
  OK with MOVE: 0012345679
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:724"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_309
#AT_START_310
at_fn_group_banner 310 'run_fundamental.at:732' \
  "IBM MOVE" "                                       " 4
at_xfail=no
(
  $as_echo "310. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       01  FILLER.
         05  TSTMOV1 PIC X(479).
         05  TSTMOV2 PIC X(10).
       PROCEDURE DIVISION.
           MOVE "0123456789" TO TSTMOV2.
           MOVE TSTMOV2 (2:9) TO TSTMOV2 (1:9)
           IF TSTMOV2 NOT = "1234567899"
              DISPLAY "  PROBLEM MOVE: " TSTMOV2
           ELSE
              DISPLAY "  OK with MOVE: " TSTMOV2.
           MOVE "0123456789" TO TSTMOV2.
           MOVE TSTMOV2 (1:8) TO TSTMOV2 (2:8)
           IF TSTMOV2 = "0000000009"
              DISPLAY "IBM style MOVE: " TSTMOV2
           ELSE IF TSTMOV2 NOT = "0012345679"
              DISPLAY "  PROBLEM MOVE: " TSTMOV2
           ELSE
              DISPLAY "  OK with MOVE: " TSTMOV2.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:761: \$COMPILE -fmove-ibm prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fmove-ibm prog.cob" "run_fundamental.at:761"
( $at_check_trace; $COMPILE -fmove-ibm prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:761"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:763: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:763"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "  OK with MOVE: 1234567899
IBM style MOVE: 0000000009
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:763"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_310
#AT_START_311
at_fn_group_banner 311 'run_fundamental.at:771' \
  "ALPHABETIC test" "                                " 4
at_xfail=no
(
  $as_echo "311. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(04) VALUE "AAAA".
       01  FILLER REDEFINES X.
           03  XBYTE    PIC X.
           03  FILLER   PIC XXX.
       PROCEDURE        DIVISION.
           MOVE X"0D"   TO XBYTE.
           IF X ALPHABETIC
              DISPLAY "Fail - Alphabetic"
              END-DISPLAY
           END-IF.
           MOVE "A"     TO XBYTE.
           IF X NOT ALPHABETIC
              DISPLAY "Fail - Not Alphabetic"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:797: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:797"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:797"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:798: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:798"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:798"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_311
#AT_START_312
at_fn_group_banner 312 'run_fundamental.at:803' \
  "ALPHABETIC-UPPER test" "                          " 4
at_xfail=no
(
  $as_echo "312. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(04) VALUE "AAAA".
       01  FILLER REDEFINES X.
           03  XBYTE    PIC X.
           03  FILLER   PIC XXX.
       PROCEDURE        DIVISION.
           MOVE X"0D"   TO XBYTE.
           IF X ALPHABETIC-UPPER
              DISPLAY "Fail - Not alphabetic upper"
              END-DISPLAY
           END-IF.
           MOVE "A"     TO XBYTE.
           IF X NOT ALPHABETIC-UPPER
              DISPLAY "Fail - Alphabetic upper"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:829: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:829"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:829"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:830: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:830"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:830"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_312
#AT_START_313
at_fn_group_banner 313 'run_fundamental.at:835' \
  "ALPHABETIC-LOWER test" "                          " 4
at_xfail=no
(
  $as_echo "313. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(04) VALUE "aaaa".
       01  FILLER REDEFINES X.
           03  XBYTE    PIC X.
           03  FILLER   PIC XXX.
       PROCEDURE        DIVISION.
           MOVE X"0D"   TO XBYTE.
           IF X ALPHABETIC-LOWER
              DISPLAY "Fail - Not alphabetic lower"
              END-DISPLAY
           END-IF.
           MOVE "a"     TO XBYTE.
           IF X NOT ALPHABETIC-LOWER
              DISPLAY "Fail - Alphabetic lower"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:861: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:861"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:861"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:862: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:862"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:862"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_313
#AT_START_314
at_fn_group_banner 314 'run_fundamental.at:867' \
  "GLOBAL at same level" "                           " 4
at_xfail=no
(
  $as_echo "314. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  X   PIC X(5) GLOBAL  VALUE "prog1".
       PROCEDURE        DIVISION.
           DISPLAY X
           END-DISPLAY.
           CALL "prog2"
           END-CALL
           CALL "prog3"
           END-CALL
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01  X   PIC X(5) GLOBAL  VALUE "prog2".
        PROCEDURE        DIVISION.
            DISPLAY X
            END-DISPLAY.
            EXIT PROGRAM.
        END PROGRAM prog2.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog3.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE        DIVISION.
            DISPLAY X
            END-DISPLAY.
            EXIT PROGRAM.
        END PROGRAM prog3.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:906: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:906"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:906"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:907: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:907"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "prog1
prog2
prog1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:907"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_314
#AT_START_315
at_fn_group_banner 315 'run_fundamental.at:916' \
  "GLOBAL at lower level" "                          " 4
at_xfail=no
(
  $as_echo "315. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  X   PIC X(5) GLOBAL  VALUE "prog1".
       PROCEDURE        DIVISION.
           DISPLAY X
           END-DISPLAY.
           CALL "prog2"
           END-CALL
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01  X   PIC X(5) GLOBAL  VALUE "prog2".
        PROCEDURE        DIVISION.
            DISPLAY X
            END-DISPLAY.
            CALL "prog3"
            END-CALL
            EXIT PROGRAM.
         IDENTIFICATION   DIVISION.
         PROGRAM-ID.      prog3.
         DATA DIVISION.
         WORKING-STORAGE SECTION.
         PROCEDURE        DIVISION.
             DISPLAY X
             END-DISPLAY.
             EXIT PROGRAM.
         END PROGRAM prog3.
        END PROGRAM prog2.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:955: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:955"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:955"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:956: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:956"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "prog1
prog2
prog2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:956"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_315
#AT_START_316
at_fn_group_banner 316 'run_fundamental.at:965' \
  "GLOBAL CONSTANT" "                                " 4
at_xfail=no
(
  $as_echo "316. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE
              ASSIGN    GLOB-PATH
       .
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE    GLOBAL.
       01  TEST-REC     PIC X(4).
       WORKING-STORAGE  SECTION.
       78  GLOB-PATH           GLOBAL VALUE "GLOBP1".
       01  GLOB-PATH2 CONSTANT GLOBAL       "GLOBP2".
      * Test global vars because of implicitely defined ASSIGN var, too.
       78  GLOB-VAR            GLOBAL VALUE "GLOBV1".
       01  GLOB-VAR2  CONSTANT GLOBAL       "GLOBV2".
       PROCEDURE        DIVISION.
           DISPLAY GLOB-PATH GLOB-VAR
           END-DISPLAY.
           CALL "prog2"
           END-CALL.
           CALL "prog3"
           END-CALL.
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        ENVIRONMENT      DIVISION.
        INPUT-OUTPUT     SECTION.
        FILE-CONTROL.
        SELECT TEST2-FILE
               ASSIGN    GLOB-PATH2
        .
        DATA             DIVISION.
        FILE             SECTION.
        FD  TEST2-FILE   GLOBAL.
        01  TEST2-REC    PIC X(4).
        WORKING-STORAGE  SECTION.
        PROCEDURE        DIVISION.
            DISPLAY GLOB-PATH2 GLOB-VAR2
            END-DISPLAY.
            EXIT PROGRAM.
        END PROGRAM prog2.
       END PROGRAM prog.
       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST3-FILE
              ASSIGN    GLOB-PATH
       .
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST3-FILE   GLOBAL.
       01  TEST3-REC    PIC X(4).
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY 'in prog3'
           END-DISPLAY
           IF GLOB-PATH NOT = SPACES
              DISPLAY GLOB-PATH
              END-DISPLAY
           END-IF
           EXIT PROGRAM.
       END PROGRAM prog3.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1038: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1038"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 60: warning: 'GLOB-PATH' will be implicitly defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1038"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1041: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1041"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "GLOBP1GLOBV1
GLOBP2GLOBV2
in prog3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1041"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_316
#AT_START_317
at_fn_group_banner 317 'run_fundamental.at:1050' \
  "Contained program visibility (1)" "               " 4
at_xfail=no
(
  $as_echo "317. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  X   PIC X(5) GLOBAL  VALUE "prog1".
       PROCEDURE        DIVISION.
           IF X NOT = "prog1"
              DISPLAY X
              END-DISPLAY
           END-IF.
           CALL "prog2"
           END-CALL.
           CALL "prog3"
           END-CALL.
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01  X   PIC X(5) GLOBAL  VALUE "prog2".
        PROCEDURE        DIVISION.
            IF X NOT = "prog2"
               DISPLAY X
               END-DISPLAY
            END-IF.
            CALL "prog3"
            END-CALL.
            EXIT PROGRAM.
         IDENTIFICATION   DIVISION.
         PROGRAM-ID.      prog3.
         DATA DIVISION.
         WORKING-STORAGE SECTION.
         PROCEDURE        DIVISION.
             IF X NOT = "prog2"
                DISPLAY X
                END-DISPLAY
             END-IF
             EXIT PROGRAM.
         END PROGRAM prog3.
        END PROGRAM prog2.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1097: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1097"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1097"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1098: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1098"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 14: cannot find module 'prog3'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_fundamental.at:1098"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_317
#AT_START_318
at_fn_group_banner 318 'run_fundamental.at:1105' \
  "Contained program visibility (2)" "               " 4
at_xfail=no
(
  $as_echo "318. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  X   PIC X(5) GLOBAL  VALUE "prog1".
       PROCEDURE        DIVISION.
           IF X NOT = "prog1"
              DISPLAY X
              END-DISPLAY
           END-IF.
           CALL "prog2"
           END-CALL.
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01  X   PIC X(5) GLOBAL  VALUE "prog2".
        PROCEDURE        DIVISION.
            IF X NOT = "prog2"
               DISPLAY X
               END-DISPLAY
            END-IF.
            CALL "prog3"
            END-CALL.
            EXIT PROGRAM.
        END PROGRAM prog2.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog3.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE        DIVISION.
            IF X NOT = "prog2"
               DISPLAY X
               END-DISPLAY
            END-IF.
            EXIT PROGRAM.
        END PROGRAM prog3.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1150: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1150"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1150"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1151: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1151"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 25: cannot find module 'prog3'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_fundamental.at:1151"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_318
#AT_START_319
at_fn_group_banner 319 'run_fundamental.at:1158' \
  "Contained program visibility (3)" "               " 4
at_xfail=no
(
  $as_echo "319. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  X   PIC X(5) GLOBAL  VALUE "prog1".
       PROCEDURE        DIVISION.
           IF X NOT = "prog1"
              DISPLAY X
              END-DISPLAY
           END-IF.
           CALL "prog2"
           END-CALL.
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01  X   PIC X(5) GLOBAL  VALUE "prog2".
        PROCEDURE        DIVISION.
            IF X NOT = "prog2"
               DISPLAY X
               END-DISPLAY
            END-IF.
            CALL "prog3"
            END-CALL.
            EXIT PROGRAM.
        END PROGRAM prog2.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog3 COMMON.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE        DIVISION.
            IF X NOT = "prog1"
               DISPLAY X
               END-DISPLAY
            END-IF.
            EXIT PROGRAM.
        END PROGRAM prog3.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1203: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1203"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1203"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1204: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1204"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1204"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_319
#AT_START_320
at_fn_group_banner 320 'run_fundamental.at:1209' \
  "Contained program visibility (4)" "               " 4
at_xfail=no
(
  $as_echo "320. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           DISPLAY "P1" NO ADVANCING
           END-DISPLAY.
           CALL "prog2"
           END-CALL
           CALL "prog3"
           END-CALL
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE        DIVISION.
            DISPLAY "P2" NO ADVANCING
            END-DISPLAY.
            EXIT PROGRAM.
        END PROGRAM prog2.
       END PROGRAM prog.
       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           DISPLAY "P3" NO ADVANCING
           END-DISPLAY.
           CALL "prog2"
           END-CALL.
           EXIT PROGRAM.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE        DIVISION.
            DISPLAY "P4" NO ADVANCING
            END-DISPLAY.
            EXIT PROGRAM.
        END PROGRAM prog2.
       END PROGRAM prog3.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1257: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1257"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1257"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1258: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1258"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "P1P2P3P4" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1258"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_320
#AT_START_321
at_fn_group_banner 321 'run_fundamental.at:1264' \
  "CALL/CANCEL with program-prototype-name" "        " 4
at_xfail=no
(
  $as_echo "321. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       ENVIRONMENT     DIVISION.
       CONFIGURATION   SECTION.
       REPOSITORY.
           PROGRAM recursion-test
           PROGRAM cancel-test
           .
       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  num         PIC 9 VALUE 0.

       PROCEDURE       DIVISION.
           CALL recursion-test USING num
           DISPLAY "<"

           CALL cancel-test
           CALL cancel-test
           CANCEL cancel-test
           CALL cancel-test
           DISPLAY "<"
           .
       END PROGRAM     prog.


       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     recursion-test RECURSIVE.

       DATA            DIVISION.
       LINKAGE         SECTION.
       01  x           PIC 9.

       PROCEDURE       DIVISION USING x.
           ADD 1 TO x
           DISPLAY x NO ADVANCING
           IF x = 1
               CALL recursion-test USING x
           END-IF
           .
       END PROGRAM     recursion-test.


       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     cancel-test.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  x           PIC 9 VALUE 1.

       PROCEDURE       DIVISION.
           DISPLAY x NO ADVANCING
           ADD 1 TO x
           .
       END PROGRAM     cancel-test.
_ATEOF


# TO-DO: Fix these warnings when program prototypes are added.
{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1326: \$COMPILE -fno-program-name-redefinition prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fno-program-name-redefinition prog.cob" "run_fundamental.at:1326"
( $at_check_trace; $COMPILE -fno-program-name-redefinition prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: no definition/prototype seen for program 'recursion-test'
prog.cob: 9: warning: no definition/prototype seen for program 'cancel-test'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1326"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1330: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1330"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "12<
121<
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1330"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_321
#AT_START_322
at_fn_group_banner 322 'run_fundamental.at:1337' \
  "GLOBAL FD (1)" "                                  " 4
at_xfail=no
(
  $as_echo "322. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE
              ASSIGN      "TESTFILE"
              ACCESS       DYNAMIC
              ORGANIZATION RELATIVE
              STATUS       TESTSTAT
              RELATIVE KEY TESTKEY
       .
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE    GLOBAL.
       01  TEST-REC     PIC X(4).
       WORKING-STORAGE  SECTION.
       01  GLOBVALS.
           03  TESTKEY  PIC 9(4).
           03  TESTSTAT PIC XX.
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CALL  "prog2"
           END-CALL.
           CLOSE TEST-FILE.
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE        DIVISION.
            READ TEST-FILE
                 INVALID KEY
                 DISPLAY "NOK"
                 END-DISPLAY
            END-READ.
            EXIT PROGRAM.
        END PROGRAM prog2.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1382: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1382"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1382"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_322
#AT_START_323
at_fn_group_banner 323 'run_fundamental.at:1387' \
  "GLOBAL FD (2)" "                                  " 4
at_xfail=no
(
  $as_echo "323. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE
              ASSIGN      "TESTFILE"
              ACCESS       DYNAMIC
              ORGANIZATION INDEXED
              STATUS       TESTSTAT
              RECORD KEY   TESTKEY
       .
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE    GLOBAL.
       01  TEST-REC.
           03  TESTKEY  PIC X(4).
       WORKING-STORAGE  SECTION.
       01  GLOBVALS.
           03  TESTSTAT PIC XX.
       PROCEDURE        DIVISION.
           OPEN  INPUT TEST-FILE.
           CALL  "prog2"
           END-CALL.
           CLOSE TEST-FILE.
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE        DIVISION.
            READ TEST-FILE
                 INVALID KEY
                 DISPLAY "NOK"
                 END-DISPLAY
            END-READ.
            EXIT PROGRAM.
        END PROGRAM prog2.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1432: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1432"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1432"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_323
#AT_START_324
at_fn_group_banner 324 'run_fundamental.at:1437' \
  "GLOBAL FD (3)" "                                  " 4
at_xfail=no
(
  $as_echo "324. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE
              ASSIGN      "TESTFILE"
              ACCESS       DYNAMIC
              ORGANIZATION RELATIVE
              STATUS       TESTSTAT
              RELATIVE KEY TESTKEY
       .
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE    GLOBAL.
       01  TEST-REC     PIC X(4).
       WORKING-STORAGE  SECTION.
       01  GLOBVALS.
           03  TESTKEY  PIC 9(4).
           03  TESTSTAT PIC XX.
       PROCEDURE        DIVISION.
           MOVE "00"    TO TESTSTAT.
           CALL  "prog2"
           END-CALL.
           IF TESTSTAT = "00"
              DISPLAY "Not OK"
              END-DISPLAY
           END-IF.
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE        DIVISION.
            OPEN  INPUT TEST-FILE.
            EXIT PROGRAM.
        END PROGRAM prog2.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1481: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1481"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1481"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1482: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1482"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1482"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_324
#AT_START_325
at_fn_group_banner 325 'run_fundamental.at:1487' \
  "GLOBAL FD (4)" "                                  " 4
at_xfail=no
(
  $as_echo "325. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE
              ASSIGN      "TESTFILE"
              ACCESS       DYNAMIC
              ORGANIZATION INDEXED
              STATUS       TESTSTAT
              RECORD KEY   TESTKEY
       .
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE    GLOBAL.
       01  TEST-REC.
           03  TESTKEY  PIC X(4).
       WORKING-STORAGE  SECTION.
       01  GLOBVALS.
           03  TESTSTAT PIC XX.
       PROCEDURE        DIVISION.
           MOVE "00"    TO TESTSTAT.
           CALL  "prog2"
           END-CALL.
           IF TESTSTAT = "00"
              DISPLAY "Not OK"
              END-DISPLAY
           END-IF.
           STOP RUN.
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE        DIVISION.
            OPEN  INPUT TEST-FILE.
            EXIT PROGRAM.
        END PROGRAM prog2.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1531: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1531"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1531"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1532: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1532"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1532"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_325
#AT_START_326
at_fn_group_banner 326 'run_fundamental.at:1537' \
  "CANCEL test (1)" "                                " 4
at_xfail=no
(
  $as_echo "326. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           CANCEL "notthere".
           CANCEL "prog".
           DISPLAY "NG" NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1553: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1553"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1553"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1554: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1554"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 8: attempt to CANCEL active program
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_fundamental.at:1554"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1557: export COB_PHYSICAL_CANCEL=1; ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1557"
( $at_check_trace; export COB_PHYSICAL_CANCEL=1; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 8: attempt to CANCEL active program
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_fundamental.at:1557"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_326
#AT_START_327
at_fn_group_banner 327 'run_fundamental.at:1564' \
  "CANCEL test (2)" "                                " 4
at_xfail=no
(
  $as_echo "327. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           CALL "prog2"
           END-CALL.
           DISPLAY "NG" NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           CANCEL "prog".
           DISPLAY "NG" NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1592: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1592"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1592"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1593: \$COMPILE_MODULE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_fundamental.at:1593"
( $at_check_trace; $COMPILE_MODULE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1593"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1594: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1594"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog2.cob: 7: attempt to CANCEL active program
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_fundamental.at:1594"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1597: export COB_PHYSICAL_CANCEL=1; ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1597"
( $at_check_trace; export COB_PHYSICAL_CANCEL=1; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog2.cob: 7: attempt to CANCEL active program
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_fundamental.at:1597"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_327
#AT_START_328
at_fn_group_banner 328 'run_fundamental.at:1604' \
  "CANCEL test (3)" "                                " 4
at_xfail=no
(
  $as_echo "328. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           CALL "prog2"
           END-CALL.
           CALL "prog2"
           END-CALL.
           CANCEL "prog2".
           CALL "prog2"
           END-CALL.
           CANCEL "prog2".
           DISPLAY "NG" NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       77  VAR          PIC 9(01) value 1.
       PROCEDURE        DIVISION.
           DISPLAY VAR NO ADVANCING
           END-DISPLAY.
           ADD  1 TO VAR END-ADD.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1639: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1639"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1639"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1640: \$COMPILE_MODULE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_fundamental.at:1640"
( $at_check_trace; $COMPILE_MODULE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1640"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1641: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1641"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "121NG" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1641"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1642: export COB_PHYSICAL_CANCEL=1; ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1642"
( $at_check_trace; export COB_PHYSICAL_CANCEL=1; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "121NG" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1642"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_328
#AT_START_329
at_fn_group_banner 329 'run_fundamental.at:1647' \
  "Separate sign positions (1)" "                    " 4
at_xfail=no
(
  $as_echo "329. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC S9 VALUE -1 SIGN LEADING SEPARATE.
       01  Y            PIC S9 VALUE -1 SIGN TRAILING SEPARATE.
       PROCEDURE        DIVISION.
           DISPLAY X(1:1) X(2:1) NO ADVANCING
           END-DISPLAY.
           DISPLAY Y(1:1) Y(2:1) NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1665: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1665"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1665"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1666: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1666"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-11-" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1666"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_329
#AT_START_330
at_fn_group_banner 330 'run_fundamental.at:1671' \
  "Separate sign positions (2)" "                    " 4
at_xfail=no
(
  $as_echo "330. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC S9 SIGN LEADING SEPARATE.
       01  Y            PIC S9 SIGN TRAILING SEPARATE.
       PROCEDURE        DIVISION.
           MOVE 0 TO X.
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           MOVE ZERO TO X.
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           MOVE 0 TO Y.
           DISPLAY Y NO ADVANCING
           END-DISPLAY.
           MOVE ZERO TO Y.
           DISPLAY Y NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1696: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1696"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1696"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1697: \$COMPILE_MODULE -fpretty-display prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE -fpretty-display prog.cob" "run_fundamental.at:1697"
( $at_check_trace; $COMPILE_MODULE -fpretty-display prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1697"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1698: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1698"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+0+00+0+" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1698"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1699: \$COBCRUN prog"
at_fn_check_prepare_dynamic "$COBCRUN prog" "run_fundamental.at:1699"
( $at_check_trace; $COBCRUN prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+0+00+0+" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1699"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_330
#AT_START_331
at_fn_group_banner 331 'run_fundamental.at:1704' \
  "Context sensitive words (1)" "                    " 4
at_xfail=no
(
  $as_echo "331. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  BYTE-LENGTH  PIC 9.
       01  X            CONSTANT AS BYTE-LENGTH OF BYTE-LENGTH.
       PROCEDURE        DIVISION.
           MOVE X TO BYTE-LENGTH.
           DISPLAY BYTE-LENGTH NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1721: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1721"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1721"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1722: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1722"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1722"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_331
#AT_START_332
at_fn_group_banner 332 'run_fundamental.at:1727' \
  "Context sensitive words (2)" "                    " 4
at_xfail=no
(
  $as_echo "332. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  YYYYMMDD     PIC 9 VALUE 0.
       01  X            PIC X(16).
       PROCEDURE        DIVISION.
           ACCEPT X FROM DATE YYYYMMDD
           END-ACCEPT.
           DISPLAY YYYYMMDD NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1745: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1745"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1745"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1746: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1746"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1746"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_332
#AT_START_333
at_fn_group_banner 333 'run_fundamental.at:1751' \
  "Context sensitive words (3)" "                    " 4
at_xfail=no
(
  $as_echo "333. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  YYYYDDD      PIC 9 VALUE 0.
       01  X            PIC X(16).
       PROCEDURE        DIVISION.
           ACCEPT X FROM DAY YYYYDDD
           END-ACCEPT.
           DISPLAY YYYYDDD NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1769: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1769"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1769"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1770: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1770"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1770"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_333
#AT_START_334
at_fn_group_banner 334 'run_fundamental.at:1775' \
  "Context sensitive words (4)" "                    " 4
at_xfail=no
(
  $as_echo "334. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       REPOSITORY.
           FUNCTION ALL INTRINSIC.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  INTRINSIC    PIC 9 VALUE 0.
       PROCEDURE        DIVISION.
           DISPLAY INTRINSIC NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1794: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1794"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1794"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1795: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1795"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1795"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_334
#AT_START_335
at_fn_group_banner 335 'run_fundamental.at:1800' \
  "Context sensitive words (5)" "                    " 4
at_xfail=no
(
  $as_echo "335. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog RECURSIVE.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  RECURSIVE    PIC 9 VALUE 0.
       PROCEDURE        DIVISION.
           DISPLAY RECURSIVE NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1817: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1817"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1817"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1818: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1818"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1818"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_335
#AT_START_336
at_fn_group_banner 336 'run_fundamental.at:1823' \
  "Context sensitive words (6)" "                    " 4
at_xfail=no
(
  $as_echo "336. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  NORMAL       PIC 9 VALUE 0.
       PROCEDURE        DIVISION.
           DISPLAY NORMAL NO ADVANCING
           END-DISPLAY.
           STOP RUN NORMAL.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1840: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1840"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1840"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1841: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1841"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1841"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_336
#AT_START_337
at_fn_group_banner 337 'run_fundamental.at:1846' \
  "Context sensitive words (7)" "                    " 4
at_xfail=no
(
  $as_echo "337. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X               PIC 9 VALUE 0.
       01  AWAY-FROM-ZERO  PIC 9 VALUE 0.
       PROCEDURE        DIVISION.
           COMPUTE X ROUNDED MODE AWAY-FROM-ZERO
                   AWAY-FROM-ZERO = 1.1
           END-COMPUTE
           DISPLAY X AWAY-FROM-ZERO NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1867: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1867"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1867"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1868: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1868"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "21" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1868"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_337
#AT_START_338
at_fn_group_banner 338 'run_fundamental.at:1873' \
  "ROUNDED AWAY-FROM-ZERO" "                         " 4
at_xfail=no
(
  $as_echo "338. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  M                PIC S9.
       01  N                PIC S9.
       01  O                PIC S9.
       01  P                PIC S9.
       01  Q                PIC S9.
       01  R                PIC S9.
       01  S                PIC S9.
       01  T                PIC S9.
       01  U                PIC S9.
       01  V                PIC S9.
       PROCEDURE DIVISION.
           COMPUTE M ROUNDED MODE AWAY-FROM-ZERO
                   = 2.49
           END-COMPUTE
           COMPUTE N ROUNDED MODE AWAY-FROM-ZERO
                   = -2.49
           END-COMPUTE
           COMPUTE O ROUNDED MODE AWAY-FROM-ZERO
                   = 2.50
           END-COMPUTE
           COMPUTE P ROUNDED MODE AWAY-FROM-ZERO
                   = -2.50
           END-COMPUTE
           COMPUTE Q ROUNDED MODE AWAY-FROM-ZERO
                   = 3.49
           END-COMPUTE
           COMPUTE R ROUNDED MODE AWAY-FROM-ZERO
                   = -3.49
           END-COMPUTE
           COMPUTE S ROUNDED MODE AWAY-FROM-ZERO
                   = 3.50
           END-COMPUTE
           COMPUTE T ROUNDED MODE AWAY-FROM-ZERO
                   = -3.50
           END-COMPUTE
           COMPUTE U ROUNDED MODE AWAY-FROM-ZERO
                   = 3.510
           END-COMPUTE
           COMPUTE V ROUNDED MODE AWAY-FROM-ZERO
                   = -3.510
           END-COMPUTE
           DISPLAY M " " N " " O " " P " " Q " " R " " S " " T
                   " " U " " V
               NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1930: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1930"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1930"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1931: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1931"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+3 -3 +3 -3 +4 -4 +4 -4 +4 -4" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1931"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_338
#AT_START_339
at_fn_group_banner 339 'run_fundamental.at:1936' \
  "ROUNDED NEAREST-AWAY-FROM-ZERO" "                 " 4
at_xfail=no
(
  $as_echo "339. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  M                PIC S9.
       01  N                PIC S9.
       01  O                PIC S9.
       01  P                PIC S9.
       01  Q                PIC S9.
       01  R                PIC S9.
       01  S                PIC S9.
       01  T                PIC S9.
       01  U                PIC S9.
       01  V                PIC S9.
       PROCEDURE DIVISION.
           COMPUTE M ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = 2.49
           END-COMPUTE
           COMPUTE N ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = -2.49
           END-COMPUTE
           COMPUTE O ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = 2.50
           END-COMPUTE
           COMPUTE P ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = -2.50
           END-COMPUTE
           COMPUTE Q ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = 3.49
           END-COMPUTE
           COMPUTE R ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = -3.49
           END-COMPUTE
           COMPUTE S ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = 3.50
           END-COMPUTE
           COMPUTE T ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = -3.50
           END-COMPUTE
           COMPUTE U ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = 3.510
           END-COMPUTE
           COMPUTE V ROUNDED MODE NEAREST-AWAY-FROM-ZERO
                   = -3.510
           END-COMPUTE
           DISPLAY M " " N " " O " " P " " Q " " R " " S " " T
                   " " U " " V
               NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1993: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:1993"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1993"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:1994: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:1994"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+2 -2 +3 -3 +3 -3 +4 -4 +4 -4" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:1994"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_339
#AT_START_340
at_fn_group_banner 340 'run_fundamental.at:1999' \
  "ROUNDED NEAREST-EVEN" "                           " 4
at_xfail=no
(
  $as_echo "340. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  M                PIC S9.
       01  N                PIC S9.
       01  O                PIC S9.
       01  P                PIC S9.
       01  Q                PIC S9.
       01  R                PIC S9.
       01  S                PIC S9.
       01  T                PIC S9.
       01  U                PIC S9.
       01  V                PIC S9.
       PROCEDURE DIVISION.
           COMPUTE M ROUNDED MODE NEAREST-EVEN
                   = 2.49
           END-COMPUTE
           COMPUTE N ROUNDED MODE NEAREST-EVEN
                   = -2.49
           END-COMPUTE
           COMPUTE O ROUNDED MODE NEAREST-EVEN
                   = 2.50
           END-COMPUTE
           COMPUTE P ROUNDED MODE NEAREST-EVEN
                   = -2.50
           END-COMPUTE
           COMPUTE Q ROUNDED MODE NEAREST-EVEN
                   = 3.49
           END-COMPUTE
           COMPUTE R ROUNDED MODE NEAREST-EVEN
                   = -3.49
           END-COMPUTE
           COMPUTE S ROUNDED MODE NEAREST-EVEN
                   = 3.50
           END-COMPUTE
           COMPUTE T ROUNDED MODE NEAREST-EVEN
                   = -3.50
           END-COMPUTE
           COMPUTE U ROUNDED MODE NEAREST-EVEN
                   = 3.510
           END-COMPUTE
           COMPUTE V ROUNDED MODE NEAREST-EVEN
                   = -3.510
           END-COMPUTE
           DISPLAY M " " N " " O " " P " " Q " " R " " S " " T
                   " " U " " V
               NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2056: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2056"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2056"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2057: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:2057"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+2 -2 +2 -2 +3 -3 +4 -4 +4 -4" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2057"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_340
#AT_START_341
at_fn_group_banner 341 'run_fundamental.at:2062' \
  "ROUNDED NEAREST-TOWARD-ZERO" "                    " 4
at_xfail=no
(
  $as_echo "341. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  M                PIC S9.
       01  N                PIC S9.
       01  O                PIC S9.
       01  P                PIC S9.
       01  Q                PIC S9.
       01  R                PIC S9.
       01  S                PIC S9.
       01  T                PIC S9.
       01  U                PIC S9.
       01  V                PIC S9.
       PROCEDURE DIVISION.
           COMPUTE M ROUNDED MODE NEAREST-TOWARD-ZERO
                   = 2.49
           END-COMPUTE
           COMPUTE N ROUNDED MODE NEAREST-TOWARD-ZERO
                   = -2.49
           END-COMPUTE
           COMPUTE O ROUNDED MODE NEAREST-TOWARD-ZERO
                   = 2.50
           END-COMPUTE
           COMPUTE P ROUNDED MODE NEAREST-TOWARD-ZERO
                   = -2.50
           END-COMPUTE
           COMPUTE Q ROUNDED MODE NEAREST-TOWARD-ZERO
                   = 3.49
           END-COMPUTE
           COMPUTE R ROUNDED MODE NEAREST-TOWARD-ZERO
                   = -3.49
           END-COMPUTE
           COMPUTE S ROUNDED MODE NEAREST-TOWARD-ZERO
                   = 3.50
           END-COMPUTE
           COMPUTE T ROUNDED MODE NEAREST-TOWARD-ZERO
                   = -3.50
           END-COMPUTE
           COMPUTE U ROUNDED MODE NEAREST-TOWARD-ZERO
                   = 3.510
           END-COMPUTE
           COMPUTE V ROUNDED MODE NEAREST-TOWARD-ZERO
                   = -3.510
           END-COMPUTE
           DISPLAY M " " N " " O " " P " " Q " " R " " S " " T
                   " " U " " V
               NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2119: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2119"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2119"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2120: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:2120"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+2 -2 +2 -2 +3 -3 +3 -3 +4 -4" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2120"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_341
#AT_START_342
at_fn_group_banner 342 'run_fundamental.at:2125' \
  "ROUNDED TOWARD-GREATER" "                         " 4
at_xfail=no
(
  $as_echo "342. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  M                PIC S9.
       01  N                PIC S9.
       01  O                PIC S9.
       01  P                PIC S9.
       01  Q                PIC S9.
       01  R                PIC S9.
       01  S                PIC S9.
       01  T                PIC S9.
       01  U                PIC S9.
       01  V                PIC S9.
       PROCEDURE DIVISION.
           COMPUTE M ROUNDED MODE TOWARD-GREATER
                   = 2.49
           END-COMPUTE
           COMPUTE N ROUNDED MODE TOWARD-GREATER
                   = -2.49
           END-COMPUTE
           COMPUTE O ROUNDED MODE TOWARD-GREATER
                   = 2.50
           END-COMPUTE
           COMPUTE P ROUNDED MODE TOWARD-GREATER
                   = -2.50
           END-COMPUTE
           COMPUTE Q ROUNDED MODE TOWARD-GREATER
                   = 3.49
           END-COMPUTE
           COMPUTE R ROUNDED MODE TOWARD-GREATER
                   = -3.49
           END-COMPUTE
           COMPUTE S ROUNDED MODE TOWARD-GREATER
                   = 3.50
           END-COMPUTE
           COMPUTE T ROUNDED MODE TOWARD-GREATER
                   = -3.50
           END-COMPUTE
           COMPUTE U ROUNDED MODE TOWARD-GREATER
                   = 3.510
           END-COMPUTE
           COMPUTE V ROUNDED MODE TOWARD-GREATER
                   = -3.510
           END-COMPUTE
           DISPLAY M " " N " " O " " P " " Q " " R " " S " " T
                   " " U " " V
               NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2182: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2182"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2182"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2183: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:2183"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+3 -2 +3 -2 +4 -3 +4 -3 +4 -3" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2183"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_342
#AT_START_343
at_fn_group_banner 343 'run_fundamental.at:2188' \
  "ROUNDED TOWARD-LESSER" "                          " 4
at_xfail=no
(
  $as_echo "343. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  M                PIC S9.
       01  N                PIC S9.
       01  O                PIC S9.
       01  P                PIC S9.
       01  Q                PIC S9.
       01  R                PIC S9.
       01  S                PIC S9.
       01  T                PIC S9.
       01  U                PIC S9.
       01  V                PIC S9.
       PROCEDURE DIVISION.
           COMPUTE M ROUNDED MODE TOWARD-LESSER
                   = 2.49
           END-COMPUTE
           COMPUTE N ROUNDED MODE TOWARD-LESSER
                   = -2.49
           END-COMPUTE
           COMPUTE O ROUNDED MODE TOWARD-LESSER
                   = 2.50
           END-COMPUTE
           COMPUTE P ROUNDED MODE TOWARD-LESSER
                   = -2.50
           END-COMPUTE
           COMPUTE Q ROUNDED MODE TOWARD-LESSER
                   = 3.49
           END-COMPUTE
           COMPUTE R ROUNDED MODE TOWARD-LESSER
                   = -3.49
           END-COMPUTE
           COMPUTE S ROUNDED MODE TOWARD-LESSER
                   = 3.50
           END-COMPUTE
           COMPUTE T ROUNDED MODE TOWARD-LESSER
                   = -3.50
           END-COMPUTE
           COMPUTE U ROUNDED MODE TOWARD-LESSER
                   = 3.510
           END-COMPUTE
           COMPUTE V ROUNDED MODE TOWARD-LESSER
                   = -3.510
           END-COMPUTE
           DISPLAY M " " N " " O " " P " " Q " " R " " S " " T
                   " " U " " V
               NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2245: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2245"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2245"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2246: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:2246"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+2 -3 +2 -3 +3 -4 +3 -4 +3 -4" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2246"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_343
#AT_START_344
at_fn_group_banner 344 'run_fundamental.at:2251' \
  "ROUNDED TRUNCATION" "                             " 4
at_xfail=no
(
  $as_echo "344. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  M                PIC S9.
       01  N                PIC S9.
       01  O                PIC S9.
       01  P                PIC S9.
       01  Q                PIC S9.
       01  R                PIC S9.
       01  S                PIC S9.
       01  T                PIC S9.
       01  U                PIC S9.
       01  V                PIC S9.
       PROCEDURE DIVISION.
           COMPUTE M ROUNDED MODE TRUNCATION
                   = 2.49
           END-COMPUTE
           COMPUTE N ROUNDED MODE TRUNCATION
                   = -2.49
           END-COMPUTE
           COMPUTE O ROUNDED MODE TRUNCATION
                   = 2.50
           END-COMPUTE
           COMPUTE P ROUNDED MODE TRUNCATION
                   = -2.50
           END-COMPUTE
           COMPUTE Q ROUNDED MODE TRUNCATION
                   = 3.49
           END-COMPUTE
           COMPUTE R ROUNDED MODE TRUNCATION
                   = -3.49
           END-COMPUTE
           COMPUTE S ROUNDED MODE TRUNCATION
                   = 3.50
           END-COMPUTE
           COMPUTE T ROUNDED MODE TRUNCATION
                   = -3.50
           END-COMPUTE
           COMPUTE U ROUNDED MODE TRUNCATION
                   = 3.510
           END-COMPUTE
           COMPUTE V ROUNDED MODE TRUNCATION
                   = -3.510
           END-COMPUTE
           DISPLAY M " " N " " O " " P " " Q " " R " " S " " T
                   " " U " " V
               NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2308: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2308"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2308"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2309: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:2309"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+2 -2 +2 -2 +3 -3 +3 -3 +3 -3" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2309"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_344
#AT_START_345
at_fn_group_banner 345 'run_fundamental.at:2314' \
  "Numeric operations (1)" "                         " 4
at_xfail=no
(
  $as_echo "345. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC S9V9.
       01  Y            PIC S9V9 COMP-3.
       PROCEDURE        DIVISION.
           MOVE -0.1  TO X.
           ADD 1      TO X.
           IF X NOT = 0.9
              DISPLAY X
              END-DISPLAY
           END-IF.
           MOVE  0.1  TO X.
           SUBTRACT 1 FROM X.
           IF X NOT = -0.9
              DISPLAY X
              END-DISPLAY
           END-IF.
           MOVE -0.1 TO Y.
           ADD 1     TO Y.
           IF Y NOT = 0.9
              DISPLAY Y
              END-DISPLAY
           END-IF.
           MOVE  0.1  TO Y.
           SUBTRACT 1 FROM Y.
           IF Y NOT = -0.9
              DISPLAY Y
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2352: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2352"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2352"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2353: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:2353"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2353"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_345
#AT_START_346
at_fn_group_banner 346 'run_fundamental.at:2358' \
  "Numeric operations (2)" "                         " 4
at_xfail=no
(
  $as_echo "346. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  FIELD        PIC S9(1)V9(1).
       01  FELD2        PIC S9(5)V9(5).
       01  FELD3        PIC 9(1)V9(1).
       01  FELD4        PIC S9(1).
       PROCEDURE        DIVISION.
           MOVE 0.2 TO FIELD
           ADD 1 TO FIELD
           IF FIELD  NOT = 1.2
              DISPLAY "Test  1 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           ADD -1 TO FIELD
           IF FIELD  NOT = -0.8
              DISPLAY "Test  2 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           ADD 1 TO FIELD
           IF FIELD  NOT = 0.8
              DISPLAY "Test  3 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           ADD -1 TO FIELD
           IF FIELD  NOT = -1.2
              DISPLAY "Test  4 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           SUBTRACT 1 FROM FIELD
           IF FIELD  NOT = -0.8
              DISPLAY "Test  5 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           SUBTRACT -1 FROM FIELD
           IF FIELD  NOT = 1.2
              DISPLAY "Test  6 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           SUBTRACT 1 FROM FIELD
           IF FIELD  NOT = -1.2
              DISPLAY "Test  7 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           SUBTRACT -1 FROM FIELD
           IF FIELD  NOT = 0.8
              DISPLAY "Test  8 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           ADD 1 TO FELD2
           IF FELD2  NOT = 1.2
              DISPLAY "Test  9 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           ADD -1 TO FELD2
           IF FELD2  NOT = -0.8
              DISPLAY "Test 10 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           ADD 1 TO FELD2
           IF FELD2  NOT = 0.8
              DISPLAY "Test 11 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           ADD -1 TO FELD2
           IF FELD2  NOT = -1.2
              DISPLAY "Test 12 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           SUBTRACT 1 FROM FELD2
           IF FELD2  NOT = -0.8
              DISPLAY "Test 13 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           SUBTRACT -1 FROM FELD2
           IF FELD2  NOT = 1.2
              DISPLAY "Test 14 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           SUBTRACT 1 FROM FELD2
           IF FELD2  NOT = -1.2
              DISPLAY "Test 15 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           SUBTRACT -1 FROM FELD2
           IF FELD2  NOT = 0.8
              DISPLAY "Test 16 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           ADD 1 TO FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 17 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           ADD -1 TO FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 18 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           ADD 1 TO FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 19 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           ADD -1 TO FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 20 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           SUBTRACT 1 FROM FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 21 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           SUBTRACT -1 FROM FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 22 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           SUBTRACT 1 FROM FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 23 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           SUBTRACT -1 FROM FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 24 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           ADD 1 TO FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 25 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           ADD -1 TO FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 26 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           ADD 1 TO FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 27 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           ADD -1 TO FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 28 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           SUBTRACT 1 FROM FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 29 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           SUBTRACT -1 FROM FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 30 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           SUBTRACT 1 FROM FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 31 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           SUBTRACT -1 FROM FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 32 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           ADD 2 TO FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 33 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           ADD -2 TO FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 34 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           ADD 2 TO FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 35 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           ADD -2 TO FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 36 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           SUBTRACT 2 FROM FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 37 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           SUBTRACT -2 FROM FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 38 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           SUBTRACT 2 FROM FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 39 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           SUBTRACT -2 FROM FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 40 " FELD4
              END-DISPLAY
           END-IF.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2653: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2653"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 137: warning: ignoring sign
prog.cob: 144: warning: ignoring sign
prog.cob: 165: warning: ignoring sign
prog.cob: 172: warning: ignoring sign
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2653"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2659: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:2659"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2659"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_346
#AT_START_347
at_fn_group_banner 347 'run_fundamental.at:2664' \
  "Numeric operations (3)" "                         " 4
at_xfail=no
(
  $as_echo "347. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  FIELD        PIC S9(1)V9(1) COMP-3.
       01  FELD2        PIC S9(5)V9(5) COMP-3.
       01  FELD3        PIC 9(1)V9(1)  COMP-3.
       01  FELD4        PIC S9(1)      COMP-3.
       PROCEDURE        DIVISION.
           MOVE 0.2 TO FIELD
           ADD 1 TO FIELD
           IF FIELD  NOT = 1.2
              DISPLAY "Test  1 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           ADD -1 TO FIELD
           IF FIELD  NOT = -0.8
              DISPLAY "Test  2 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           ADD 1 TO FIELD
           IF FIELD  NOT = 0.8
              DISPLAY "Test  3 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           ADD -1 TO FIELD
           IF FIELD  NOT = -1.2
              DISPLAY "Test  4 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           SUBTRACT 1 FROM FIELD
           IF FIELD  NOT = -0.8
              DISPLAY "Test  5 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           SUBTRACT -1 FROM FIELD
           IF FIELD  NOT = 1.2
              DISPLAY "Test  6 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           SUBTRACT 1 FROM FIELD
           IF FIELD  NOT = -1.2
              DISPLAY "Test  7 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           SUBTRACT -1 FROM FIELD
           IF FIELD  NOT = 0.8
              DISPLAY "Test  8 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           ADD 1 TO FELD2
           IF FELD2  NOT = 1.2
              DISPLAY "Test  9 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           ADD -1 TO FELD2
           IF FELD2  NOT = -0.8
              DISPLAY "Test 10 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           ADD 1 TO FELD2
           IF FELD2  NOT = 0.8
              DISPLAY "Test 11 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           ADD -1 TO FELD2
           IF FELD2  NOT = -1.2
              DISPLAY "Test 12 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           SUBTRACT 1 FROM FELD2
           IF FELD2  NOT = -0.8
              DISPLAY "Test 13 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           SUBTRACT -1 FROM FELD2
           IF FELD2  NOT = 1.2
              DISPLAY "Test 14 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           SUBTRACT 1 FROM FELD2
           IF FELD2  NOT = -1.2
              DISPLAY "Test 15 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           SUBTRACT -1 FROM FELD2
           IF FELD2  NOT = 0.8
              DISPLAY "Test 16 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           ADD 1 TO FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 17 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           ADD -1 TO FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 18 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           ADD 1 TO FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 19 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           ADD -1 TO FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 20 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           SUBTRACT 1 FROM FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 21 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           SUBTRACT -1 FROM FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 22 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           SUBTRACT 1 FROM FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 23 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           SUBTRACT -1 FROM FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 24 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           ADD 1 TO FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 25 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           ADD -1 TO FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 26 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           ADD 1 TO FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 27 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           ADD -1 TO FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 28 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           SUBTRACT 1 FROM FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 29 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           SUBTRACT -1 FROM FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 30 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           SUBTRACT 1 FROM FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 31 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           SUBTRACT -1 FROM FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 32 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           ADD 2 TO FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 33 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           ADD -2 TO FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 34 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           ADD 2 TO FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 35 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           ADD -2 TO FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 36 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           SUBTRACT 2 FROM FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 37 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           SUBTRACT -2 FROM FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 38 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           SUBTRACT 2 FROM FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 39 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           SUBTRACT -2 FROM FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 40 " FELD4
              END-DISPLAY
           END-IF.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2959: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:2959"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 137: warning: ignoring sign
prog.cob: 144: warning: ignoring sign
prog.cob: 165: warning: ignoring sign
prog.cob: 172: warning: ignoring sign
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2959"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:2965: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:2965"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:2965"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_347
#AT_START_348
at_fn_group_banner 348 'run_fundamental.at:2970' \
  "Numeric operations (4)" "                         " 4
at_xfail=no
(
  $as_echo "348. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  FIELD        PIC S9(1)V9(1) COMP.
       01  FELD2        PIC S9(5)V9(5) COMP.
       01  FELD3        PIC 9(1)V9(1)  COMP.
       01  FELD4        PIC S9(1)      COMP.
       PROCEDURE        DIVISION.
           MOVE 0.2 TO FIELD
           ADD 1 TO FIELD
           IF FIELD  NOT = 1.2
              DISPLAY "Test  1 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           ADD -1 TO FIELD
           IF FIELD  NOT = -0.8
              DISPLAY "Test  2 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           ADD 1 TO FIELD
           IF FIELD  NOT = 0.8
              DISPLAY "Test  3 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           ADD -1 TO FIELD
           IF FIELD  NOT = -1.2
              DISPLAY "Test  4 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           SUBTRACT 1 FROM FIELD
           IF FIELD  NOT = -0.8
              DISPLAY "Test  5 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           SUBTRACT -1 FROM FIELD
           IF FIELD  NOT = 1.2
              DISPLAY "Test  6 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           SUBTRACT 1 FROM FIELD
           IF FIELD  NOT = -1.2
              DISPLAY "Test  7 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           SUBTRACT -1 FROM FIELD
           IF FIELD  NOT = 0.8
              DISPLAY "Test  8 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           ADD 1 TO FELD2
           IF FELD2  NOT = 1.2
              DISPLAY "Test  9 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           ADD -1 TO FELD2
           IF FELD2  NOT = -0.8
              DISPLAY "Test 10 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           ADD 1 TO FELD2
           IF FELD2  NOT = 0.8
              DISPLAY "Test 11 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           ADD -1 TO FELD2
           IF FELD2  NOT = -1.2
              DISPLAY "Test 12 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           SUBTRACT 1 FROM FELD2
           IF FELD2  NOT = -0.8
              DISPLAY "Test 13 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           SUBTRACT -1 FROM FELD2
           IF FELD2  NOT = 1.2
              DISPLAY "Test 14 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           SUBTRACT 1 FROM FELD2
           IF FELD2  NOT = -1.2
              DISPLAY "Test 15 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           SUBTRACT -1 FROM FELD2
           IF FELD2  NOT = 0.8
              DISPLAY "Test 16 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           ADD 1 TO FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 17 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           ADD -1 TO FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 18 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           ADD 1 TO FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 19 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           ADD -1 TO FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 20 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           SUBTRACT 1 FROM FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 21 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           SUBTRACT -1 FROM FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 22 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           SUBTRACT 1 FROM FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 23 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           SUBTRACT -1 FROM FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 24 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           ADD 1 TO FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 25 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           ADD -1 TO FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 26 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           ADD 1 TO FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 27 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           ADD -1 TO FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 28 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           SUBTRACT 1 FROM FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 29 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           SUBTRACT -1 FROM FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 30 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           SUBTRACT 1 FROM FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 31 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           SUBTRACT -1 FROM FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 32 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           ADD 2 TO FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 33 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           ADD -2 TO FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 34 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           ADD 2 TO FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 35 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           ADD -2 TO FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 36 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           SUBTRACT 2 FROM FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 37 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           SUBTRACT -2 FROM FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 38 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           SUBTRACT 2 FROM FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 39 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           SUBTRACT -2 FROM FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 40 " FELD4
              END-DISPLAY
           END-IF.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3265: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3265"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 137: warning: ignoring sign
prog.cob: 144: warning: ignoring sign
prog.cob: 165: warning: ignoring sign
prog.cob: 172: warning: ignoring sign
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3265"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3271: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:3271"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3271"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_348
#AT_START_349
at_fn_group_banner 349 'run_fundamental.at:3276' \
  "Numeric operations (5)" "                         " 4
at_xfail=no
(
  $as_echo "349. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  FIELD        PIC S9(1)V9(1) COMP-5.
       01  FELD2        PIC S9(5)V9(5) COMP-5.
       01  FELD3        PIC 9(1)V9(1)  COMP-5.
       01  FELD4        PIC S9(1)      COMP-5.
       PROCEDURE        DIVISION.
           MOVE 0.2 TO FIELD
           ADD 1 TO FIELD
           IF FIELD  NOT = 1.2
              DISPLAY "Test  1 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           ADD -1 TO FIELD
           IF FIELD  NOT = -0.8
              DISPLAY "Test  2 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           ADD 1 TO FIELD
           IF FIELD  NOT = 0.8
              DISPLAY "Test  3 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           ADD -1 TO FIELD
           IF FIELD  NOT = -1.2
              DISPLAY "Test  4 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           SUBTRACT 1 FROM FIELD
           IF FIELD  NOT = -0.8
              DISPLAY "Test  5 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FIELD
           SUBTRACT -1 FROM FIELD
           IF FIELD  NOT = 1.2
              DISPLAY "Test  6 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           SUBTRACT 1 FROM FIELD
           IF FIELD  NOT = -1.2
              DISPLAY "Test  7 " FIELD
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FIELD
           SUBTRACT -1 FROM FIELD
           IF FIELD  NOT = 0.8
              DISPLAY "Test  8 " FIELD
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           ADD 1 TO FELD2
           IF FELD2  NOT = 1.2
              DISPLAY "Test  9 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           ADD -1 TO FELD2
           IF FELD2  NOT = -0.8
              DISPLAY "Test 10 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           ADD 1 TO FELD2
           IF FELD2  NOT = 0.8
              DISPLAY "Test 11 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           ADD -1 TO FELD2
           IF FELD2  NOT = -1.2
              DISPLAY "Test 12 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           SUBTRACT 1 FROM FELD2
           IF FELD2  NOT = -0.8
              DISPLAY "Test 13 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD2
           SUBTRACT -1 FROM FELD2
           IF FELD2  NOT = 1.2
              DISPLAY "Test 14 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           SUBTRACT 1 FROM FELD2
           IF FELD2  NOT = -1.2
              DISPLAY "Test 15 " FELD2
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD2
           SUBTRACT -1 FROM FELD2
           IF FELD2  NOT = 0.8
              DISPLAY "Test 16 " FELD2
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           ADD 1 TO FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 17 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           ADD -1 TO FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 18 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           ADD 1 TO FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 19 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           ADD -1 TO FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 20 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           SUBTRACT 1 FROM FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 21 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 0.2 TO FELD3
           SUBTRACT -1 FROM FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 22 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           SUBTRACT 1 FROM FELD3
           IF FELD3  NOT = 0.8
              DISPLAY "Test 23 " FELD3
              END-DISPLAY
           END-IF.

           MOVE -0.2 TO FELD3
           SUBTRACT -1 FROM FELD3
           IF FELD3  NOT = 1.2
              DISPLAY "Test 24 " FELD3
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           ADD 1 TO FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 25 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           ADD -1 TO FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 26 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           ADD 1 TO FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 27 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           ADD -1 TO FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 28 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           SUBTRACT 1 FROM FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 29 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 2 TO FELD4
           SUBTRACT -1 FROM FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 30 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           SUBTRACT 1 FROM FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 31 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -2 TO FELD4
           SUBTRACT -1 FROM FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 32 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           ADD 2 TO FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 33 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           ADD -2 TO FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 34 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           ADD 2 TO FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 35 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           ADD -2 TO FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 36 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           SUBTRACT 2 FROM FELD4
           IF FELD4  NOT = -1
              DISPLAY "Test 37 " FELD4
              END-DISPLAY
           END-IF.

           MOVE 1 TO FELD4
           SUBTRACT -2 FROM FELD4
           IF FELD4  NOT = 3
              DISPLAY "Test 38 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           SUBTRACT 2 FROM FELD4
           IF FELD4  NOT = -3
              DISPLAY "Test 39 " FELD4
              END-DISPLAY
           END-IF.

           MOVE -1 TO FELD4
           SUBTRACT -2 FROM FELD4
           IF FELD4  NOT = 1
              DISPLAY "Test 40 " FELD4
              END-DISPLAY
           END-IF.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3571: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3571"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 137: warning: ignoring sign
prog.cob: 144: warning: ignoring sign
prog.cob: 165: warning: ignoring sign
prog.cob: 172: warning: ignoring sign
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3571"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3577: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:3577"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3577"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_349
#AT_START_350
at_fn_group_banner 350 'run_fundamental.at:3582' \
  "Numeric operations (6)" "                         " 4
at_xfail=no
(
  $as_echo "350. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (char *);
int dump (char *p)
{
  printf ("%c%c", p[0], p[1]);
  return 0;
}
_ATEOF


cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.

        DATA DIVISION.
        WORKING-STORAGE SECTION.

        01 P-FIELD1 PIC 99PPP.
        01 P-FIELD2 PIC PPP99.

        PROCEDURE DIVISION.

        MOVE 5000 TO P-FIELD1.
        ADD 5 TO P-FIELD1 END-ADD
        IF P-FIELD1 NOT = 5000
            DISPLAY "Error: Add 5 to PIC 99PPP."
            END-DISPLAY
        END-IF
        CALL "dump" USING P-FIELD1 END-CALL

        ADD 5000 TO P-FIELD1 END-ADD
        IF P-FIELD1 NOT = 10000
            DISPLAY "Error: Add 5000 to PIC 99PPP."
            END-DISPLAY
        END-IF
        CALL "dump" USING P-FIELD1 END-CALL

        MOVE 0.00055 TO P-FIELD2.
        ADD 0.00033 TO P-FIELD2 END-ADD
        IF P-FIELD2 NOT = 0.00088
            DISPLAY "Error: Add 0.00033 to PIC PPP99."
            END-DISPLAY
        END-IF
        CALL "dump" USING P-FIELD2 END-CALL

        MOVE 0.00055 TO P-FIELD2.
        ADD 0.00300 TO P-FIELD2 END-ADD
        IF P-FIELD2 NOT = 0.00055
            DISPLAY "Error: Add 0.00300 to PIC PPP99."
            END-DISPLAY
        END-IF
        CALL "dump" USING P-FIELD2 END-CALL

        STOP RUN.

_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3644: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_fundamental.at:3644"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3644"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3645: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3645"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3645"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3646: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:3646"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "05108855" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3646"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_350
#AT_START_351
at_fn_group_banner 351 'run_fundamental.at:3651' \
  "Numeric operations (7)" "                         " 4
at_xfail=no
(
  $as_echo "351. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  FIELD         PIC S9(4)V9(2) COMP-5.
       01  FIELD-DISP    PIC S9(4)V9(2) DISPLAY.
       PROCEDURE        DIVISION.
           MOVE 0.2 TO FIELD.
           ADD 1
               2
               3
               4
               5
               6
               7
               8
               9
               10
               11
               12
               13
               14
               15
               16
               17
               18
               19
               20
               21
               22
               23
               24
               25
               26
               27
               28
               29
               30
               31
               32
               33
               34
               35
               36
               37
               38
               39
               40
               41
               42
               43
               44
               45
               46
               47
               48
               49
               50
               51
               52
               53
               54
               55
               56
               57
               58
               59
               60
               61
               62
               63
               64
               65
               66
               67
               68
               69
               70
               71
               72
               73
               74
               75
               76
               77
               78
               79
               80
               81
               82
               83
               84
               85
               86
               87
               88
               89
               90
               91
               92
               93
               94
               95
               96
               97
               98
               99
               100
               101
               102
               103
               104
               105
               106
               107
               108
               109
               110
               111
               112
               113
               114
               115
               116
               117
               118
               119
               120
               121
               122
               123
               124
               125
               126
               127
               128
               129
               TO FIELD
           END-ADD.
           IF FIELD NOT = 8385.2
              MOVE FIELD TO FIELD-DISP
              DISPLAY 'ADD with wrong result: ' FIELD-DISP
              END-DISPLAY
           END-IF.
           COMPUTE FIELD = (0.2
                         + 2
                         + 3
                         + 4
                         + 5
                         + 6
                         + 7
                         + 8
                         + 9
                         + 10
                         + 11
                         + 12
                         + 13
                         + 14
                         + 15
                         + 16
                         + 17
                         + 18
                         + 19
                         + 20
                         + 21
                         + 22
                         + 23
                         + 24
                         + 25
                         + 26
                         + 27
                         + 28
                         + 29
                         + 30
                         + 31
                         + 32
                         + 33
                         + 34
                         + 35
                         + 36
                         + 37
                         + 38
                         + 39
                         + 40
                         + 41
                         + 42
                         + 43
                         + 44
                         + 45
                         + 46
                         + 47
                         + 48
                         + 49
                         + 50
                         + 51
                         + 52
                         + 53
                         + 54
                         + 55
                         + 56
                         + 57
                         + 58
                         - 59
                         - 60
                         - 61
                         - 62
                         - 63
                         - 64
                         - 65
                         - 66
                         - 67
                         - 68
                         - 69
                         - 70
                         - 71
                         - 72
                         - 73
                         - 74
                         - 75
                         - 76
                         - 77
                         - 78
                         - 79
                         - 80
                         - 81
                         - 82
                         - 83
                         - 84
                         - 85
                         - 86
                         - 87
                         - 88
                         - 89
                         - 90
                         - 91
                         - 92
                         - 93
                         - 94
                         - 95
                         - 96
                         - 97
                         - 98
                         - 99
                         - 100
                         - 101
                         - 102
                         - 103
                         - 104
                         - 105
                         - 106
                         - 107
                         - 108
                         - 109
                         - 110
                         - 111
                         - 112
                         - 113
                         - 114
                         - 115
                         - 116
                         - 117
                         - 118
                         - 119
                         - 120
                         - 121
                         - 122
                         - 123
                         - 124
                         - 125
                         - 126
                         - 127)
                         * 12800000000
                         / 12900000000
           END-COMPUTE.
           IF FIELD NOT = -4670.31
              MOVE FIELD TO FIELD-DISP
              DISPLAY 'COMPUTE with wrong result: ' FIELD-DISP
              END-DISPLAY
           END-IF.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3937: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3937"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3937"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3938: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:3938"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3938"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_351
#AT_START_352
at_fn_group_banner 352 'run_fundamental.at:3943' \
  "Numeric operations (8)" "                         " 4
at_xfail=no
(
  $as_echo "352. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
          1 COMPUTE-DATA.
           2 COMPUTE-8             PICTURE 999       VALUE ZERO.
       PROCEDURE        DIVISION.
           COMPUTE COMPUTE-8 = (((24.0 + 1) * (60 - 10)) / 125) ** 2
           IF COMPUTE-8 NOT = 100
              DISPLAY 'COMPUTE with wrong result: ' COMPUTE-8
              END-DISPLAY
           END-IF
           COMPUTE COMPUTE-8 = 55 / (1 - 2 + 1)
              NOT ON SIZE ERROR
                 DISPLAY 'SIZE ERROR not set from divide by zero!'
                 END-DISPLAY
           END-COMPUTE
           COMPUTE COMPUTE-8 = 0 ** 1
           IF COMPUTE-8 NOT = 0
              DISPLAY '0 ** 1 <> 0: ' COMPUTE-8
              END-DISPLAY
           END-IF
           COMPUTE COMPUTE-8 = 55 ** 0
           IF COMPUTE-8 NOT = 1
              DISPLAY '55 ** 0 <> 1: ' COMPUTE-8
              END-DISPLAY
           END-IF
           COMPUTE COMPUTE-8 = 1 ** 55
           IF COMPUTE-8 NOT = 1
              DISPLAY '11 ** 55 <> 1: ' COMPUTE-8
              END-DISPLAY
           END-IF

           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3983: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:3983"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 14: warning: divide by constant ZERO
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3983"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:3986: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:3986"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:3986"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_352
#AT_START_353
at_fn_group_banner 353 'run_fundamental.at:3993' \
  "ADD CORRESPONDING" "                              " 4
at_xfail=no
(
  $as_echo "353. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 GROUP-1.
          05 FIELD-A           PIC 9 VALUE 1.
          05 FIELD-B           USAGE BINARY-CHAR VALUE 2.
          05 INNER-GROUP.
             10 FIELD-C        USAGE FLOAT-SHORT VALUE 3.
          05 FIELD-D           PIC X VALUE "A".
       01 GROUP-2.
          05 FIELD-A           PIC 9.
          05 FIELD-B           USAGE BINARY-LONG.
          05 INNER-GROUP.
             10 FIELD-C        PIC 9.
          05 FIELD-D           PIC 9.

       PROCEDURE DIVISION.
       ADD CORRESPONDING GROUP-1 TO GROUP-2.
       IF FIELD-A IN GROUP-2 NOT EQUAL 1 THEN
           DISPLAY "BAD FIELD-A " FIELD-A IN GROUP-2
           END-DISPLAY
       END-IF.
       IF FIELD-B IN GROUP-2 NOT EQUAL 2 THEN
           DISPLAY "BAD FIELD-B " FIELD-B IN GROUP-2
           END-DISPLAY
       END-IF.
       IF FIELD-C IN GROUP-2 NOT EQUAL 3 THEN
           DISPLAY "BAD FIELD-C " FIELD-C IN GROUP-2
           END-DISPLAY
       END-IF.
       IF FIELD-D IN GROUP-2 NOT EQUAL 0 THEN
           DISPLAY "BAD FIELD-D " FIELD-D IN GROUP-2
           END-DISPLAY
       END-IF.
       STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:4035: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4035"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4035"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:4036: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:4036"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4036"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_353
#AT_START_354
at_fn_group_banner 354 'run_fundamental.at:4041' \
  "ADD CORRESPONDING no match" "                     " 4
at_xfail=no
(
  $as_echo "354. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 GROUP-1.
          05 FIELD-A           PIC X.
          05 FIELD-B           PIC Z9.
          05 INNER-GROUP.
             10 FIELD-C        PIC X.
          05 FIELD-D           PIC 9.
       01 GROUP-2.
          05 FIELD-A           PIC 9 VALUE 1.
          05 FIELD-B           USAGE BINARY-CHAR VALUE 2.
          05 INNER-GROUP.
             10 FIELD-C        USAGE FLOAT-SHORT VALUE 3.
          05 FIELD-D           PIC X VALUE "A".

       PROCEDURE DIVISION.
       SUBTRACT CORRESPONDING GROUP-2 FROM GROUP-1.
       IF FIELD-A IN GROUP-2 NOT EQUAL 1 THEN
           DISPLAY "BAD FIELD-A " FIELD-A IN GROUP-2
           END-DISPLAY
       END-IF.
       IF FIELD-B IN GROUP-2 NOT EQUAL 2 THEN
           DISPLAY "BAD FIELD-B " FIELD-B IN GROUP-2
           END-DISPLAY
       END-IF.
       IF FIELD-C IN GROUP-2 NOT EQUAL 3 THEN
           DISPLAY "BAD FIELD-C " FIELD-C IN GROUP-2
           END-DISPLAY
       END-IF.
       IF FIELD-D IN GROUP-2 NOT EQUAL "A" THEN
           DISPLAY "BAD FIELD-D " FIELD-D IN GROUP-2
           END-DISPLAY
       END-IF.
       STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:4083: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4083"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 20: warning: no CORRESPONDING items found
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4083"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:4086: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:4086"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4086"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_354
#AT_START_355
at_fn_group_banner 355 'run_fundamental.at:4091' \
  "SYNC in OCCURS" "                                 " 4
at_xfail=no
(
  $as_echo "355. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01 x.
           03  ptrs                     OCCURS 5 TIMES.
               05  misalign-1           PIC X.
               05  ptr                  POINTER, SYNC.
               05  ptr-num              REDEFINES ptr,
       >>IF P64 SET
                                        USAGE BINARY-DOUBLE UNSIGNED.
       >>ELSE
                                        USAGE BINARY-LONG UNSIGNED.
       >>END-IF
               05  misalign-2           PIC X.

       01  num                          BINARY-LONG.

       PROCEDURE       DIVISION.
           SET ptr (2) TO ADDRESS OF ptr (2)
           SET ptr (3) TO ADDRESS OF ptr (3)

           SUBTRACT ptr-num (2) FROM ptr-num (3) GIVING num
           DISPLAY FUNCTION MOD (num, FUNCTION LENGTH (ptr (1)))
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_fundamental.at:4123: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_fundamental.at:4123"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4123"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_fundamental.at:4124: ./prog"
at_fn_check_prepare_trace "run_fundamental.at:4124"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_fundamental.at:4124"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_355
#AT_START_356
at_fn_group_banner 356 'run_subscripts.at:26' \
  "Subscript out of bounds" "                        " 4
at_xfail=no
(
  $as_echo "356. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 10.
       01 I             PIC 9 VALUE 0.
       PROCEDURE        DIVISION.
           DISPLAY X(I)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_subscripts.at:43: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.at:43"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:43"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_subscripts.at:44: ./prog"
at_fn_check_prepare_trace "run_subscripts.at:44"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 10: subscript of 'X' out of bounds: 0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_subscripts.at:44"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 10.
       01 I             PIC 99 VALUE 11.
       PROCEDURE        DIVISION.
           DISPLAY X(I)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_subscripts.at:62: \$COMPILE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_subscripts.at:62"
( $at_check_trace; $COMPILE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:62"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_subscripts.at:63: ./prog2"
at_fn_check_prepare_trace "run_subscripts.at:63"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog2.cob: 10: subscript of 'X' out of bounds: 11
libcob: prog2.cob: 10: maximum subscript for 'X': 10
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_subscripts.at:63"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_356
#AT_START_357
at_fn_group_banner 357 'run_subscripts.at:71' \
  "Value of DEPENDING ON N out of bounds" "          " 4
at_xfail=no
(
  $as_echo "357. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 4 TO 6 DEPENDING ON N.
       01 N             PIC 9.
       PROCEDURE        DIVISION.
           MOVE 5 TO N.
           MOVE '12345' TO G
           DISPLAY X(3) WITH NO ADVANCING
           END-DISPLAY.
           MOVE 3 TO N.
           DISPLAY X(5)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_subscripts.at:93: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.at:93"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_subscripts.at:94: ./prog"
at_fn_check_prepare_trace "run_subscripts.at:94"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 15: OCCURS DEPENDING ON 'N' out of bounds: 3
libcob: prog.cob: 15: minimum subscript for 'X': 4
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "3" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_subscripts.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 4 TO 6 DEPENDING ON N.
       01 N             PIC 9 VALUE 7.
       PROCEDURE        DIVISION.
           DISPLAY X(5)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_subscripts.at:113: \$COMPILE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_subscripts.at:113"
( $at_check_trace; $COMPILE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:113"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_subscripts.at:114: ./prog2"
at_fn_check_prepare_trace "run_subscripts.at:114"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog2.cob: 10: OCCURS DEPENDING ON 'N' out of bounds: 7
libcob: prog2.cob: 10: maximum subscript for 'X': 6
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_subscripts.at:114"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_357
#AT_START_358
at_fn_group_banner 358 'run_subscripts.at:122' \
  "Subscript bounds with ODO" "                      " 4
at_xfail=no
(
  $as_echo "358. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 4 TO 6 DEPENDING ON N.
       01 N             PIC 9 VALUE 4.
       PROCEDURE        DIVISION.
           DISPLAY X(5)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_subscripts.at:139: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.at:139"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:139"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_subscripts.at:140: ./prog"
at_fn_check_prepare_trace "run_subscripts.at:140"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 10: subscript of 'X' out of bounds: 5
libcob: prog.cob: 10: current maximum subscript for 'X': 4
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_subscripts.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_358
#AT_START_359
at_fn_group_banner 359 'run_subscripts.at:148' \
  "Subscript by arithmetic expression" "             " 4
at_xfail=no
(
  $as_echo "359. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G             VALUE "1234".
         02 X           PIC X OCCURS 4.
       01 Z             PIC X.
       PROCEDURE        DIVISION.
           MOVE X((3 + 1) / 2) TO Z.
           IF Z NOT = "2"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           MOVE X(2 ** 2) TO Z.
           IF Z NOT = "4"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_subscripts.at:173: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.at:173"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:173"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_subscripts.at:174: ./prog"
at_fn_check_prepare_trace "run_subscripts.at:174"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:174"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_359
#AT_START_360
at_fn_group_banner 360 'run_subscripts.at:179' \
  "length of ODO w/- reference modification" "       " 4
at_xfail=no
(
  $as_echo "360. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  PLINE.
           03  PLINE-LEN PIC S9(4) COMP-5.
           03  PLINE-TEXT.
               04  FILLER    PIC X(1) OCCURS  1 TO 80
                                      DEPENDING ON PLINE-LEN.
       procedure division.
       a-main section.
             MOVE 5                    TO PLINE-LEN
             MOVE 'the first part in'  TO PLINE-TEXT
             MOVE 30                   TO PLINE-LEN
             IF PLINE-TEXT NOT = 'the f'
                DISPLAY 'text1 wrong: ' PLINE-TEXT
                END-DISPLAY
             END-IF
             MOVE 'the first part in'  TO PLINE-TEXT
             MOVE 4                    TO PLINE-LEN
             MOVE 'second'             TO PLINE-TEXT
             MOVE 14                   TO PLINE-LEN
             IF PLINE-TEXT NOT = 'secofirst part'
                DISPLAY 'text2 wrong: ' PLINE-TEXT
                END-DISPLAY
             END-IF
             MOVE 80                   TO PLINE-LEN
             MOVE SPACES               TO PLINE-TEXT
             MOVE 5                    TO PLINE-LEN
             MOVE 'the first part in'  TO PLINE-TEXT (2:)
             MOVE 30                   TO PLINE-LEN
             IF PLINE-TEXT NOT = ' the '
                DISPLAY 'text3 wrong: ' PLINE-TEXT
                END-DISPLAY
             END-IF
             MOVE 'the first part in'  TO PLINE-TEXT (2:)
             MOVE 4                    TO PLINE-LEN
             MOVE 'second'             TO PLINE-TEXT (2:)
             MOVE 14                   TO PLINE-LEN
             IF PLINE-TEXT NOT = ' sec first par'
                DISPLAY 'text4 wrong: ' PLINE-TEXT
                END-DISPLAY
             END-IF
             STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_subscripts.at:229: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.at:229"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:229"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_subscripts.at:230: ./prog"
at_fn_check_prepare_trace "run_subscripts.at:230"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:230"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_360
#AT_START_361
at_fn_group_banner 361 'run_subscripts.at:235' \
  "SEARCH ALL with OCCURS DEPENDING ON" "            " 4
at_xfail=no
(
  $as_echo "361. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
      *
       77  SCREEN-AKT         PIC 9(02) VALUE 0.
       01  SCREEN-TAB.
           03 SCREEN-ENTRY    OCCURS 0  TO  20
                              DEPENDING ON  SCREEN-AKT
                              ASCENDING KEY SCREEN-NAME
                              INDEXED   BY  SCREEN-IDX.
             05 SCREEN-NAME     PIC X(02).

       PROCEDURE DIVISION.

           SEARCH ALL SCREEN-ENTRY
              AT END
                 DISPLAY 'END'
              WHEN SCREEN-NAME (SCREEN-IDX) = 'AB'
                 DISPLAY 'FOUND'
           END-SEARCH
           MOVE 1 TO SCREEN-AKT
           MOVE 'AB' TO  SCREEN-NAME (1)
           SEARCH ALL SCREEN-ENTRY
              AT END
                 DISPLAY 'END'
              WHEN SCREEN-NAME (SCREEN-IDX) = 'AB'
                 DISPLAY 'FOUND'
           END-SEARCH
           MOVE 2 TO SCREEN-AKT
           MOVE 'CD' TO  SCREEN-NAME (2)
           SEARCH ALL SCREEN-ENTRY
              AT END
                 DISPLAY 'END'
              WHEN SCREEN-NAME (SCREEN-IDX) = 'CD'
                 DISPLAY 'FOUND'
           END-SEARCH
           EXIT PROGRAM.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_subscripts.at:279: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_subscripts.at:279"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:279"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_subscripts.at:280: ./prog"
at_fn_check_prepare_trace "run_subscripts.at:280"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "END
FOUND
FOUND
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_subscripts.at:280"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_361
#AT_START_362
at_fn_group_banner 362 'run_refmod.at:25' \
  "Static reference modification" "                  " 4
at_xfail=no
(
  $as_echo "362. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "abcd".
       PROCEDURE        DIVISION.
           DISPLAY X(1:1) ":" X(1:2) ":" X(1:3) ":" X(1:4) ":" X(1:)
           END-DISPLAY.
           DISPLAY X(2:1) ":" X(2:2) ":" X(2:3) ":" X(2:)
           END-DISPLAY.
           DISPLAY X(3:1) ":" X(3:2) ":" X(3:)
           END-DISPLAY.
           DISPLAY X(4:1) ":" X(4:)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_refmod.at:46: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.at:46"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_refmod.at:47: ./prog"
at_fn_check_prepare_trace "run_refmod.at:47"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a:ab:abc:abcd:abcd
b:bc:bcd:bcd
c:cd:cd
d:d
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:47"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_362
#AT_START_363
at_fn_group_banner 363 'run_refmod.at:57' \
  "Dynamic reference modification" "                 " 4
at_xfail=no
(
  $as_echo "363. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "abcd".
       01 I             PIC 9.
       PROCEDURE        DIVISION.
           MOVE 1 TO I.
           DISPLAY X(I:1)
           END-DISPLAY.
           MOVE 4 TO I.
           DISPLAY X(I:1)
           END-DISPLAY.
           MOVE 1 TO I.
           DISPLAY X(1:I)
           END-DISPLAY.
           MOVE 4 TO I.
           DISPLAY X(1:I)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_refmod.at:83: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.at:83"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:83"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_refmod.at:84: ./prog"
at_fn_check_prepare_trace "run_refmod.at:84"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
d
a
abcd
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:84"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_363
#AT_START_364
at_fn_group_banner 364 'run_refmod.at:94' \
  "Offset underflow" "                               " 4
at_xfail=no
(
  $as_echo "364. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "abcd".
       01 I             PIC 9 VALUE 0.
       PROCEDURE        DIVISION.
           DISPLAY X(I:1) NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_refmod.at:110: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.at:110"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:110"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_refmod.at:111: ./prog"
at_fn_check_prepare_trace "run_refmod.at:111"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 9: offset of 'X' out of bounds: 0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_refmod.at:111"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_364
#AT_START_365
at_fn_group_banner 365 'run_refmod.at:118' \
  "Offset overflow" "                                " 4
at_xfail=no
(
  $as_echo "365. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "abcd".
       01 I             PIC 9 VALUE 5.
       PROCEDURE        DIVISION.
           DISPLAY X(I:1) NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_refmod.at:134: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.at:134"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:134"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_refmod.at:135: ./prog"
at_fn_check_prepare_trace "run_refmod.at:135"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 9: offset of 'X' out of bounds: 5
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_refmod.at:135"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_365
#AT_START_366
at_fn_group_banner 366 'run_refmod.at:142' \
  "Length underflow" "                               " 4
at_xfail=no
(
  $as_echo "366. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "abcd".
       01 I             PIC 9 VALUE 0.
       PROCEDURE        DIVISION.
           DISPLAY X(1:I) NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_refmod.at:158: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.at:158"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:158"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_refmod.at:159: ./prog"
at_fn_check_prepare_trace "run_refmod.at:159"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 9: length of 'X' out of bounds: 0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_refmod.at:159"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_366
#AT_START_367
at_fn_group_banner 367 'run_refmod.at:166' \
  "Length overflow" "                                " 4
at_xfail=no
(
  $as_echo "367. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "abcd".
       01 I             PIC 9 VALUE 5.
       PROCEDURE        DIVISION.
           DISPLAY X(1:I) NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_refmod.at:182: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_refmod.at:182"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_refmod.at:182"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_refmod.at:183: ./prog"
at_fn_check_prepare_trace "run_refmod.at:183"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 9: length of 'X' out of bounds: 5
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_refmod.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_367
#AT_START_368
at_fn_group_banner 368 'run_accept.at:28' \
  "ACCEPT OMITTED (simple)" "                        " 4
at_xfail=no
(
  $as_echo "368. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.

       DATA           DIVISION.

       PROCEDURE      DIVISION.
           ACCEPT OMITTED
           END-ACCEPT.
_ATEOF


cat >input.txt <<'_ATEOF'

_ATEOF


{ set +x
$as_echo "$at_srcdir/run_accept.at:45: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.at:45"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_accept.at:46: ./prog < input.txt"
at_fn_check_prepare_trace "run_accept.at:46"
( $at_check_trace; ./prog < input.txt
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_368
#AT_START_369
at_fn_group_banner 369 'run_accept.at:54' \
  "ACCEPT FROM TIME / DATE / DAY / DAY-OF-WEEK (1)" "" 4
at_xfail=no
(
  $as_echo "369. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       *> one byte longer to make sure there is no garbage in
       01 X             PIC X(9).
       PROCEDURE        DIVISION.
           ACCEPT X FROM TIME
           END-ACCEPT
           IF X (1:2) >= "00" AND <= "23" AND
              X (3:2) >= "00" AND <= "59" AND
              X (5:2) >= "00" AND <= "60" AND
              X (7:2) >= "00" AND <= "99" AND
              X (9: )  = SPACE
              CONTINUE
           ELSE
              DISPLAY "TIME " X "!"
              END-DISPLAY
           END-IF
           ACCEPT X FROM DATE
           END-ACCEPT
           INSPECT X CONVERTING "012345678" TO "999999999"
           IF X NOT = "999999"
              DISPLAY "DATE " X "!"
              END-DISPLAY
           END-IF
           ACCEPT X FROM DATE YYYYMMDD
           END-ACCEPT
           INSPECT X CONVERTING "012345678" TO "999999999"
           IF X NOT = "99999999"
              DISPLAY "YYYYMMDD " X "!"
              END-DISPLAY
           END-IF
           ACCEPT X FROM DAY
           END-ACCEPT
           INSPECT X CONVERTING "012345678" TO "999999999"
           IF X NOT = "99999"
              DISPLAY "DAY " X "!"
              END-DISPLAY
           END-IF
           ACCEPT X FROM DAY YYYYDDD
           END-ACCEPT
           INSPECT X CONVERTING "012345678" TO "999999999"
           IF X NOT = "9999999"
              DISPLAY "YYYYDDD " X "!"
              END-DISPLAY
           END-IF
           ACCEPT X FROM DAY-OF-WEEK
           END-ACCEPT
           INSPECT X CONVERTING "1234567" TO "9999999"
           IF X NOT = "9"
              DISPLAY "DAY-OF-WEEK " X "!"
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_accept.at:115: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.at:115"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:115"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_accept.at:116: ./prog"
at_fn_check_prepare_trace "run_accept.at:116"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:116"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_369
#AT_START_370
at_fn_group_banner 370 'run_accept.at:121' \
  "ACCEPT FROM TIME / DATE / DAY / DAY-OF-WEEK (2)" "" 4
at_xfail=no
(
  $as_echo "370. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       *> one byte longer to make sure there is no garbage in
       01  WS-YYYYMMDD   PIC X(9).
       01  WS-YYYYDDD    PIC X(8).
       01  WS-DAYOFWEEK  PIC X(2).
       01  WS-DATE-TODAY.
           05  WS-TODAYS-YY            PIC 9(02) VALUE 0.
           05  WS-TODAYS-MM            PIC 9(02) VALUE 0.
           05  WS-TODAYS-DD            PIC 9(02) VALUE 0.

       01  WS-DATE.
           05  WS-DATE-MM              PIC 9(02) VALUE 0.
           05  FILLER                  PIC X(01) VALUE '/'.
           05  WS-DATE-DD              PIC 9(02) VALUE 0.
           05  FILLER                  PIC X(01) VALUE '/'.
           05  WS-DATE-YY              PIC 9(02) VALUE 0.

       01  WS-TIME-NOW.
           05  WS-NOW-HH               PIC 9(02) VALUE 0.
           05  WS-NOW-MM               PIC 9(02) VALUE 0.
           05  WS-NOW-SS               PIC 9(02) VALUE 0.
           05  WS-NOW-HS               PIC 9(02) VALUE 0.

       01  WS-TIME.
           05  WS-TIME-HH              PIC 9(02) VALUE 0.
           05  FILLER                  PIC X(01) VALUE ':'.
           05  WS-TIME-MM              PIC 9(02) VALUE 0.
           05  FILLER                  PIC X(01) VALUE ':'.
           05  WS-TIME-SS              PIC 9(02) VALUE 0.

       PROCEDURE DIVISION.
           ACCEPT WS-DATE-TODAY FROM DATE
           ACCEPT WS-TIME-NOW   FROM TIME
           MOVE WS-TODAYS-YY TO WS-DATE-YY
           MOVE WS-TODAYS-MM TO WS-DATE-MM
           MOVE WS-TODAYS-DD TO WS-DATE-DD
           MOVE WS-NOW-HH    TO WS-TIME-HH
           MOVE WS-NOW-MM    TO WS-TIME-MM
           MOVE WS-NOW-SS    TO WS-TIME-SS
           DISPLAY 'PROCESS DATE/TIME : ' WS-DATE ' ' WS-TIME
                   WITH NO ADVANCING
           END-DISPLAY
           ACCEPT WS-YYYYMMDD   FROM DATE YYYYMMDD
           IF WS-YYYYMMDD not = "20150405"
              DISPLAY 'Wrong date DATE YYYYMMDD: ' WS-YYYYMMDD
                      ' expected: 20150405'
                      UPON SYSERR
              END-DISPLAY
           END-IF
           ACCEPT WS-YYYYDDD    FROM DAY  YYYYDDD
           IF WS-YYYYDDD  not = "2015095"
              DISPLAY 'Wrong date YYYYDDD:  '      WS-YYYYDDD
                      ' expected: 2015095'
                      UPON SYSERR
              END-DISPLAY
           END-IF
           ACCEPT WS-DAYOFWEEK    FROM DAY-OF-WEEK
           IF WS-DAYOFWEEK  not = "7"
              DISPLAY 'Wrong date DAYOFWEEK: '     WS-DAYOFWEEK
                      ' expected: 7'
                      UPON SYSERR
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_accept.at:194: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.at:194"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:194"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_accept.at:196: COB_CURRENT_DATE='2015/04/05 18:45:22' \\
./prog"
at_fn_check_prepare_notrace 'an embedded newline' "run_accept.at:196"
( $at_check_trace; COB_CURRENT_DATE='2015/04/05 18:45:22' \
./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "PROCESS DATE/TIME : 04/05/15 18:45:22" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_370
#AT_START_371
at_fn_group_banner 371 'run_accept.at:207' \
  "ACCEPT OMITTED (SCREEN)" "                        " 4
at_xfail=no
(
  $as_echo "371. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/run_accept.at:210: test \"\$COB_HAS_CURSES\" = \"yes\" || exit 77"
at_fn_check_prepare_dynamic "test \"$COB_HAS_CURSES\" = \"yes\" || exit 77" "run_accept.at:210"
( $at_check_trace; test "$COB_HAS_CURSES" = "yes" || exit 77
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:210"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.

       DATA           DIVISION.
       SCREEN         SECTION.
       01  scr.
           03  VALUE "Hello!" LINE 3 COL 3.

       PROCEDURE      DIVISION.
           ACCEPT OMITTED
           END-ACCEPT.
_ATEOF


cat >input.txt <<'_ATEOF'

_ATEOF


{ set +x
$as_echo "$at_srcdir/run_accept.at:229: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_accept.at:229"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:229"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_accept.at:230: ./prog < input.txt"
at_fn_check_prepare_trace "run_accept.at:230"
( $at_check_trace; ./prog < input.txt
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/run_accept.at:230"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_371
#AT_START_372
at_fn_group_banner 372 'run_initialize.at:27' \
  "INITIALIZE group entry with OCCURS" "             " 4
at_xfail=no
(
  $as_echo "372. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 G2          OCCURS 2.
           03 X1        PIC X.
           03 X2        PIC 9.
       PROCEDURE        DIVISION.
           MOVE SPACE TO G1.
           INITIALIZE G2 (2).
           IF G1 NOT = "   0"
              DISPLAY G1 NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_initialize.at:49: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:49"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:49"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_initialize.at:50: ./prog"
at_fn_check_prepare_trace "run_initialize.at:50"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:50"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_372
#AT_START_373
at_fn_group_banner 373 'run_initialize.at:55' \
  "INITIALIZE OCCURS with numeric edited" "          " 4
at_xfail=no
(
  $as_echo "373. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 G2          OCCURS 5.
           03 X         PIC Z9.
       PROCEDURE        DIVISION.
           INITIALIZE G1.
           IF G1 NOT = " 0 0 0 0 0"
              DISPLAY G1 NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_initialize.at:75: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:75"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_initialize.at:76: ./prog"
at_fn_check_prepare_trace "run_initialize.at:76"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:76"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_373
#AT_START_374
at_fn_group_banner 374 'run_initialize.at:81' \
  "INITIALIZE complex group (1)" "                   " 4
at_xfail=no
(
  $as_echo "374. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           PIC X.
         02 G2          OCCURS 2.
           03 Y         PIC 9.
         02 Z           PIC 9.
       PROCEDURE        DIVISION.
           INITIALIZE G1.
           IF G1 NOT = " 000"
              DISPLAY G1 NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_initialize.at:103: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:103"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:103"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_initialize.at:104: ./prog"
at_fn_check_prepare_trace "run_initialize.at:104"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:104"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_374
#AT_START_375
at_fn_group_banner 375 'run_initialize.at:108' \
  "INITIALIZE complex group (2)" "                   " 4
at_xfail=no
(
  $as_echo "375. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 G2          OCCURS 2.
           03 X         PIC 9.
           03 Y         PIC X OCCURS 2.
           03 Z         PIC X.
       PROCEDURE        DIVISION.
           INITIALIZE G1.
           IF G1 NOT = "0   0   "
              DISPLAY G1 NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_initialize.at:130: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:130"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:130"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_initialize.at:131: ./prog"
at_fn_check_prepare_trace "run_initialize.at:131"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_375
#AT_START_376
at_fn_group_banner 376 'run_initialize.at:135' \
  "INITIALIZE with REDEFINES" "                      " 4
at_xfail=no
(
  $as_echo "376. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           PIC X.
         02 Y           REDEFINES X PIC 9.
         02 Z           PIC 9.
       PROCEDURE        DIVISION.
           INITIALIZE G1.
           IF G1 NOT = " 0"
              DISPLAY G1 NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_initialize.at:156: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:156"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:156"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_initialize.at:157: ./prog"
at_fn_check_prepare_trace "run_initialize.at:157"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:157"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_376
#AT_START_377
at_fn_group_banner 377 'run_initialize.at:161' \
  "INITIALIZE with FILLER" "                         " 4
at_xfail=no
(
  $as_echo "377. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G1.
         02 X           PIC 99.
         02 FILLER      PIC X.
         02 Z           PIC 99.
       01 MY-FILLER.
         02 FILLER      PIC 9(6) VALUE 12345.
       PROCEDURE        DIVISION.
           MOVE ALL   'A' TO G1.
           INITIALIZE G1.
           IF G1 NOT = "00A00"
              DISPLAY "G1 (INIT): " G1
              END-DISPLAY
           END-IF.
           MOVE ALL   'A' TO G1.
           INITIALIZE G1  WITH FILLER.
           IF G1 NOT = "00 00"
              DISPLAY "G1 (INIT FILLER):"   G1
              END-DISPLAY
           END-IF.

           INITIALIZE MY-FILLER
           IF MY-FILLER NOT = "012345"
              DISPLAY "MY-FILLER (INIT): " MY-FILLER
              END-DISPLAY
           END-IF

           INITIALIZE MY-FILLER WITH FILLER
           IF MY-FILLER NOT = "000000"
              DISPLAY "MY-FILLER (INIT FILLER): " MY-FILLER
              END-DISPLAY
           END-IF

           INITIALIZE MY-FILLER ALL TO VALUE
           IF MY-FILLER NOT = "000000"
              DISPLAY "MY-FILLER (INIT TO VAL): " MY-FILLER
              END-DISPLAY
           END-IF

           INITIALIZE MY-FILLER WITH FILLER ALL TO VALUE
           IF MY-FILLER NOT = "012345"
              DISPLAY "MY-FILLER (INIT FILLER TO VAL): " MY-FILLER
              END-DISPLAY
           END-IF

           INITIALIZE MY-FILLER (2:3)
           IF MY-FILLER NOT = "0   45"
              DISPLAY "MY-FILLER (REF-MOD): " MY-FILLER
              END-DISPLAY
           END-IF

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_initialize.at:222: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:222"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:222"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_initialize.at:223: ./prog"
at_fn_check_prepare_trace "run_initialize.at:223"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:223"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_377
#AT_START_378
at_fn_group_banner 378 'run_initialize.at:227' \
  "INITIALIZE of EXTERNAL data items" "              " 4
at_xfail=no
(
  $as_echo "378. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR-01    PIC X(5) EXTERNAL.
       01 EXT-VAR-GRP   EXTERNAL.
         02  EXT-FIELD1 PIC 999.
         02  EXT-FIELD2 PIC x(4).
         02  EXT-FIELD3 PIC 9(6).
         02  EXT-FIELD4 PIC s9(5)v99.
       PROCEDURE        DIVISION.
           MOVE "MOVE"  TO EXT-VAR-01.
           MOVE 1       TO EXT-FIELD1.
           MOVE "X"     TO EXT-FIELD2.
           MOVE 123     TO EXT-FIELD3.
           MOVE -2.1    TO EXT-FIELD4.
           INITIALIZE EXT-VAR-01.
           INITIALIZE EXT-VAR-GRP.
           IF EXT-VAR-01 NOT = SPACES
              DISPLAY "EXT-VAR-01 " EXT-VAR-01
              END-DISPLAY
           END-IF.
           IF EXT-FIELD1 NOT = ZERO
              DISPLAY "EXT-FIELD1 " EXT-FIELD1
              END-DISPLAY
           END-IF.
           IF EXT-FIELD2 NOT = SPACES
              DISPLAY "EXT-FIELD2 " EXT-FIELD2
              END-DISPLAY
           END-IF.
           IF EXT-FIELD3 NOT = ZERO
              DISPLAY "EXT-FIELD3 " EXT-FIELD3
              END-DISPLAY
           END-IF.
           IF EXT-FIELD4 NOT = ZERO
              DISPLAY "EXT-FIELD4 " EXT-FIELD4
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_initialize.at:272: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:272"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:272"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_initialize.at:273: ./prog"
at_fn_check_prepare_trace "run_initialize.at:273"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:273"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_378
#AT_START_379
at_fn_group_banner 379 'run_initialize.at:277' \
  "INITIALIZE with reference modification" "         " 4
at_xfail=no
(
  $as_echo "379. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  MY-FLD       PIC X(6) VALUE "ABCDEF".
       01  MY-OTHER-FLD PIC 9(4) VALUE ZERO.
       PROCEDURE        DIVISION.
       ASTART SECTION.
       A01.
           INITIALIZE MY-FLD (1:2).
           IF MY-FLD NOT = "  CDEF"
              DISPLAY "MY-FLD: " MY-FLD
              END-DISPLAY
           END-IF

           INITIALIZE MY-OTHER-FLD (2:2)
           IF MY-OTHER-FLD NOT = "0  0"
               DISPLAY "MY-OTHER-FLD: " MY-OTHER-FLD
               END-DISPLAY
           END-IF

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_initialize.at:305: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:305"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:305"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_initialize.at:306: ./prog"
at_fn_check_prepare_trace "run_initialize.at:306"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:306"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_379
#AT_START_380
at_fn_group_banner 380 'run_misc.at:23' \
  "Comma separator without space" "                  " 4
at_xfail=no
(
  $as_echo "380. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           DISPLAY 1,1,1 NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:35: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:35"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:35"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:36: ./prog"
at_fn_check_prepare_trace "run_misc.at:36"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "111" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:36"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_380
#AT_START_381
at_fn_group_banner 381 'run_misc.at:41' \
  "LOCAL-STORAGE (1)" "                              " 4
at_xfail=no
(
  $as_echo "381. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 WRK-X         PIC XXX VALUE "abc".
       LOCAL-STORAGE    SECTION.
       01 LCL-X         PIC XXX VALUE "abc".
       PROCEDURE        DIVISION.
           DISPLAY WRK-X LCL-X NO ADVANCING
           END-DISPLAY.
           MOVE ZERO TO WRK-X LCL-X.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       PROCEDURE        DIVISION.
           CALL "callee"
           END-CALL.
           CALL "callee"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:70: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:70"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:70"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:71: \$COMPILE -o prog caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o prog caller.cob" "run_misc.at:71"
( $at_check_trace; $COMPILE -o prog caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:72: ./prog"
at_fn_check_prepare_trace "run_misc.at:72"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "abcabc000abc" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:72"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_381
#AT_START_382
at_fn_group_banner 382 'run_misc.at:77' \
  "LOCAL-STORAGE (2)" "                              " 4
at_xfail=no
(
  $as_echo "382. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee2.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 LNK-X         PIC XXX.
       PROCEDURE        DIVISION USING LNK-X.
           DISPLAY LNK-X NO ADVANCING
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LOCAL-STORAGE    SECTION.
       01 LCL-X.
          05 FILLER     PIC XXX VALUE "abc".
       PROCEDURE        DIVISION.
           CALL "callee2" USING LCL-X
           END-CALL.
           MOVE ZERO TO LCL-X.
           CALL "callee2" USING LCL-X
           END-CALL.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       PROCEDURE        DIVISION.
           CALL "callee"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:117: \$COMPILE_MODULE callee2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee2.cob" "run_misc.at:117"
( $at_check_trace; $COMPILE_MODULE callee2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:117"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:118: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:118"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:118"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:119: \$COMPILE -o prog caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o prog caller.cob" "run_misc.at:119"
( $at_check_trace; $COMPILE -o prog caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:119"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:120: ./prog"
at_fn_check_prepare_trace "run_misc.at:120"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "abc000" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:120"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_382
#AT_START_383
at_fn_group_banner 383 'run_misc.at:125' \
  "EXTERNAL data item" "                             " 4
at_xfail=no
(
  $as_echo "383. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           IF EXT-VAR NOT = "Hello"
              DISPLAY EXT-VAR
              END-DISPLAY
           END-IF.
           MOVE "World" TO EXT-VAR.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           MOVE "Hello" TO EXT-VAR.
           CALL "callee"
           END-CALL.
           IF EXT-VAR NOT = "World"
              DISPLAY EXT-VAR
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:160: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:160"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:160"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:161: \$COMPILE -o prog caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o prog caller.cob" "run_misc.at:161"
( $at_check_trace; $COMPILE -o prog caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:162: ./prog"
at_fn_check_prepare_trace "run_misc.at:162"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:162"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_383
#AT_START_384
at_fn_group_banner 384 'run_misc.at:167' \
  "EXTERNAL AS data item" "                          " 4
at_xfail=no
(
  $as_echo "384. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 PRG-VAR       PIC X(5) EXTERNAL AS "WRK-VAR".
       01 EXT-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           IF PRG-VAR NOT = "Extrn"
              DISPLAY PRG-VAR
              END-DISPLAY
           END-IF.
           IF EXT-VAR NOT = "Hello"
              DISPLAY EXT-VAR
              END-DISPLAY
           END-IF.
           MOVE "World" TO EXT-VAR.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 MYVAR         PIC X(5) EXTERNAL AS "EXT-VAR".
       01 WRK-VAR       PIC X(5) EXTERNAL.
       PROCEDURE        DIVISION.
           MOVE "Extrn" TO WRK-VAR.
           MOVE "Hello" TO MYVAR.
           CALL "callee"
           END-CALL.
           IF MYVAR NOT = "World"
              DISPLAY MYVAR
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:209: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:209"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:209"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:210: \$COMPILE -o prog caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o prog caller.cob" "run_misc.at:210"
( $at_check_trace; $COMPILE -o prog caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:210"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:211: ./prog"
at_fn_check_prepare_trace "run_misc.at:211"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:211"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_384
#AT_START_385
at_fn_group_banner 385 'run_misc.at:218' \
  "MOVE to itself" "                                 " 4
at_xfail=no
(
  $as_echo "385. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 99 VALUE 12.
       PROCEDURE        DIVISION.
           MOVE X TO X.
           IF X NOT = 12
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:236: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:236"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: overlapping MOVE may produce unpredictable results
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:236"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:239: ./prog"
at_fn_check_prepare_trace "run_misc.at:239"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:239"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_385
#AT_START_386
at_fn_group_banner 386 'run_misc.at:244' \
  "MOVE with refmod" "                               " 4
at_xfail=no
(
  $as_echo "386. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 9(4) VALUE 0.
       PROCEDURE        DIVISION.
           MOVE "1" TO X(1:1).
           IF X NOT = 1000
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:262: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:262"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:262"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:263: ./prog"
at_fn_check_prepare_trace "run_misc.at:263"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:263"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_386
#AT_START_387
at_fn_group_banner 387 'run_misc.at:268' \
  "MOVE with refmod (variable)" "                    " 4
at_xfail=no
(
  $as_echo "387. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "1234".
       01 Y             PIC X(4) VALUE "abcd".
       01 I             PIC 9 VALUE 1.
       PROCEDURE        DIVISION.
           MOVE X(1:I) TO Y.
           IF Y NOT = "1   "
              DISPLAY Y NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:288: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:288"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:288"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:289: ./prog"
at_fn_check_prepare_trace "run_misc.at:289"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_387
#AT_START_388
at_fn_group_banner 388 'run_misc.at:294' \
  "MOVE with group refmod" "                         " 4
at_xfail=no
(
  $as_echo "388. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC 9999 VALUE 1234.
       PROCEDURE        DIVISION.
           MOVE "99" TO G(3:2).
           IF G NOT = "1299"
              DISPLAY G NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:313: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:313"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:313"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:314: ./prog"
at_fn_check_prepare_trace "run_misc.at:314"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:314"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_388
#AT_START_389
at_fn_group_banner 389 'run_misc.at:319' \
  "MOVE indexes" "                                   " 4
at_xfail=no
(
  $as_echo "389. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 10 INDEXED I.
       PROCEDURE        DIVISION.
           SET I TO ZERO.
           MOVE I TO X(1).
           IF X(1) NOT = "0"
              DISPLAY X(1) NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:339: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:339"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:339"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:340: ./prog"
at_fn_check_prepare_trace "run_misc.at:340"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:340"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_389
#AT_START_390
at_fn_group_banner 390 'run_misc.at:345' \
  "MOVE X'00'" "                                     " 4
at_xfail=no
(
  $as_echo "390. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *);
int dump (unsigned char *data)
{
  printf ("%02x%02x%02x", data[0], data[1], data[2]);
  return 0;
}
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC XXX.
       PROCEDURE        DIVISION.
           MOVE X"000102" TO X.
           CALL "dump" USING X
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:373: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_misc.at:373"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:373"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:374: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:374"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:374"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:375: ./prog"
at_fn_check_prepare_trace "run_misc.at:375"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000102" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:375"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_390
#AT_START_391
at_fn_group_banner 391 'run_misc.at:380' \
  "MOVE Z'literal'" "                                " 4
at_xfail=no
(
  $as_echo "391. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC XXXX.
       01  XRED REDEFINES X.
           03  XBYTE1   PIC X.
           03  XBYTE2   PIC X.
           03  XBYTE3   PIC X.
           03  XBYTE4   PIC X.
       PROCEDURE        DIVISION.
           MOVE Z"012" TO X.
           IF XBYTE1 = "0" AND
              XBYTE2 = "1" AND
              XBYTE3 = "2" AND
              XBYTE4 = LOW-VALUE
              DISPLAY "OK" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY "X = " X (1:3) NO ADVANCING
              END-DISPLAY
              IF XBYTE4 = LOW-VALUE
                 DISPLAY " WITH LOW-VALUE"
                 END-DISPLAY
              ELSE
                 DISPLAY " WITHOUT LOW-VALUE BUT '" XBYTE4 "'"
                 END-DISPLAY
              END-IF
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:416: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:416"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:416"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:417: ./prog"
at_fn_check_prepare_trace "run_misc.at:417"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:417"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_391
#AT_START_392
at_fn_group_banner 392 'run_misc.at:422' \
  "Floating continuation indicator" "                " 4
at_xfail=no
(
  $as_echo "392. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY "OK"-
            "OK"
             NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:438: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:438"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:438"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:439: ./prog"
at_fn_check_prepare_trace "run_misc.at:439"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:439"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_392
#AT_START_393
at_fn_group_banner 393 'run_misc.at:444' \
  "Fixed continuation indicator" "                   " 4
at_xfail=no
(
  $as_echo "393. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(333) VALUE
           '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX
      -    'YZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV
      -    'WXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRST
      -    'UVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQR
      -    'STUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP
      -             'QRSTUVWXYZ'.
       PROCEDURE        DIVISION.
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           DISPLAY '_'
           END-DISPLAY.
           MOVE
           "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567
      -    "89abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345
      -    "6789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123
      -    "456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01
      -     "23456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY
      -                                                               "Z
      -             "0123456789" TO X.
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           DISPLAY '_'
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:478: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:478"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:478"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:479: ./prog"
at_fn_check_prepare_trace "run_misc.at:479"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ                       _
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789                       _
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:479"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_393
#AT_START_394
at_fn_group_banner 394 'run_misc.at:486' \
  "Concatenation operator" "                         " 4
at_xfail=no
(
  $as_echo "394. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77 STR           PIC X(05).
       PROCEDURE        DIVISION.
           MOVE "OK" & " "
            & "OK"
             TO STR
           DISPLAY STR NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:504: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:504"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:504"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:505: ./prog"
at_fn_check_prepare_trace "run_misc.at:505"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:505"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_394
#AT_START_395
at_fn_group_banner 395 'run_misc.at:510' \
  "SOURCE FIXED/FREE directives" "                   " 4
at_xfail=no
(
  $as_echo "395. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       >>SOURCE FREE
   DATA             DIVISION.
   WORKING-STORAGE  SECTION.
   >>SOURCE FIXED
       PROCEDURE        DIVISION.                                       FIXED
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY.
       >>SOURCE FREE
                                                                        DISPLAY
   "OK"
 NO ADVANCING
   END-DISPLAY.
   >>SET SOURCEFORMAT "FIXED"
             DISPLAY "OK" NO ADVANCING                                  FIXED
             END-DISPLAY.
       >>SET SOURCEFORMAT "FREE"
                                                                        DISPLAY
   "OK"
 NO ADVANCING
   END-DISPLAY.
             STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:539: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:539"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:539"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:540: ./prog"
at_fn_check_prepare_trace "run_misc.at:540"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOKOKOK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:540"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_395
#AT_START_396
at_fn_group_banner 396 'run_misc.at:547' \
  "Level 01 subscripts" "                            " 4
at_xfail=no
(
  $as_echo "396. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X OCCURS 10.
       PROCEDURE        DIVISION.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:560: \$COMPILE_ONLY -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -std=cobol2014 prog.cob" "run_misc.at:560"
( $at_check_trace; $COMPILE_ONLY -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: level 01 item 'X' cannot have a OCCURS clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:560"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_396
#AT_START_397
at_fn_group_banner 397 'run_misc.at:569' \
  "Class check with reference modification" "        " 4
at_xfail=no
(
  $as_echo "397. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(6) VALUE "123   ".
       PROCEDURE        DIVISION.
           IF X(1:3) NUMERIC
              STOP RUN
           END-IF.
           DISPLAY "NG" NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:587: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:587"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:587"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:588: ./prog"
at_fn_check_prepare_trace "run_misc.at:588"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:588"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_397
#AT_START_398
at_fn_group_banner 398 'run_misc.at:593' \
  "Index and parenthesized expression" "             " 4
at_xfail=no
(
  $as_echo "398. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X OCCURS 1 INDEXED BY I.
       PROCEDURE        DIVISION.
         IF I < (I + 2)
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
         END-IF.
         STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:611: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:611"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:611"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:612: ./prog"
at_fn_check_prepare_trace "run_misc.at:612"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:612"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_398
#AT_START_399
at_fn_group_banner 399 'run_misc.at:617' \
  "Alphanumeric and binary numeric" "                " 4
at_xfail=no
(
  $as_echo "399. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-X           PIC XXXX VALUE "0001".
       01 X-9           PIC 9999 COMP VALUE 1.
       PROCEDURE        DIVISION.
         IF X-X = X-9
            STOP RUN
         END-IF.
         DISPLAY "NG" NO ADVANCING
         END-DISPLAY
         STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:636: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:636"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:636"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:637: ./prog"
at_fn_check_prepare_trace "run_misc.at:637"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:637"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_399
#AT_START_400
at_fn_group_banner 400 'run_misc.at:644' \
  "Dynamic call with static linking" "               " 4
at_xfail=no
(
  $as_echo "400. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       PROCEDURE        DIVISION.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       PROCEDURE        DIVISION.
           CALL "callee"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:663: \$COMPILE_MODULE -c callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE -c callee.cob" "run_misc.at:663"
( $at_check_trace; $COMPILE_MODULE -c callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:663"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:664: \$COMPILE -c caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -c caller.cob" "run_misc.at:664"
( $at_check_trace; $COMPILE -c caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:664"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:665: \$COMPILE -o prog caller.\$COB_OBJECT_EXT callee.\$COB_OBJECT_EXT"
at_fn_check_prepare_dynamic "$COMPILE -o prog caller.$COB_OBJECT_EXT callee.$COB_OBJECT_EXT" "run_misc.at:665"
( $at_check_trace; $COMPILE -o prog caller.$COB_OBJECT_EXT callee.$COB_OBJECT_EXT
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:665"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:666: ./prog"
at_fn_check_prepare_trace "run_misc.at:666"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:666"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_400
#AT_START_401
at_fn_group_banner 401 'run_misc.at:671' \
  "CALL m1. CALL m2. CALL m1." "                     " 4
at_xfail=no
(
  $as_echo "401. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >m1.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      m1.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 9(4).
       PROCEDURE        DIVISION.
           COMPUTE X = 1 + 2
           END-COMPUTE.
           IF X NOT = 3
              DISPLAY X
              END-DISPLAY
           END-IF.
_ATEOF


cat >m2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      m2.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 9(4).
       PROCEDURE        DIVISION.
           COMPUTE X = 3 + 4
           END-COMPUTE.
           IF X NOT = 7
              DISPLAY X
              END-DISPLAY
           END-IF.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       PROCEDURE        DIVISION.
           CALL "m1"
           END-CALL.
           CALL "m2"
           END-CALL.
           CALL "m1"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:717: \$COMPILE_MODULE m1.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE m1.cob" "run_misc.at:717"
( $at_check_trace; $COMPILE_MODULE m1.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:717"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:718: \$COMPILE_MODULE m2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE m2.cob" "run_misc.at:718"
( $at_check_trace; $COMPILE_MODULE m2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:718"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:719: \$COMPILE -o caller caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob" "run_misc.at:719"
( $at_check_trace; $COMPILE -o caller caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:719"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:721: ./caller"
at_fn_check_prepare_trace "run_misc.at:721"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:721"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_401
#AT_START_402
at_fn_group_banner 402 'run_misc.at:726' \
  "Recursive CALL of RECURSIVE program" "            " 4
at_xfail=no
(
  $as_echo "402. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller IS RECURSIVE.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77  STOPPER      PIC 9 EXTERNAL.
       PROCEDURE        DIVISION.
           MOVE 0 TO STOPPER
           CALL "callee" END-CALL.
           GOBACK.
_ATEOF


cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee IS RECURSIVE.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77  STOPPER      PIC 9 EXTERNAL.
       PROCEDURE        DIVISION.
           IF STOPPER = 9
              DISPLAY 'OK' NO ADVANCING END-DISPLAY
              STOP RUN
           ELSE
              ADD  1 TO STOPPER END-ADD
              CALL "callee2" END-CALL
           END-IF.
           GOBACK.
_ATEOF


cat >callee2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee2.
       PROCEDURE        DIVISION.
           CALL "callee" END-CALL.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:770: \$COMPILE -o caller caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob" "run_misc.at:770"
( $at_check_trace; $COMPILE -o caller caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:770"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:771: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:771"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:771"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:772: \$COMPILE_MODULE callee2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee2.cob" "run_misc.at:772"
( $at_check_trace; $COMPILE_MODULE callee2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:772"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:773: ./caller"
at_fn_check_prepare_trace "run_misc.at:773"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:773"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_402
#AT_START_403
at_fn_group_banner 403 'run_misc.at:778' \
  "Recursive CALL of INITIAL program" "              " 4
at_xfail=no
(
  $as_echo "403. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77  STOPPER      PIC 9 EXTERNAL.
       PROCEDURE        DIVISION.
           MOVE 0 TO STOPPER
           CALL "callee" END-CALL.
           GOBACK.
_ATEOF


cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee IS INITIAL.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77  STOPPER      PIC 9 EXTERNAL.
       PROCEDURE        DIVISION.
           IF STOPPER = 1
              DISPLAY 'INITIAL prog was called RECURSIVE'
              END-DISPLAY
              STOP RUN RETURNING 1
           ELSE
              MOVE 1 TO STOPPER
              CALL "callee2" END-CALL
           END-IF.
           GOBACK.
_ATEOF


cat >callee2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee2.
       PROCEDURE        DIVISION.
           CALL "callee" END-CALL.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:819: \$COMPILE -o caller caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob" "run_misc.at:819"
( $at_check_trace; $COMPILE -o caller caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:819"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:820: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:820"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:820"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:821: \$COMPILE_MODULE callee2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee2.cob" "run_misc.at:821"
( $at_check_trace; $COMPILE_MODULE callee2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:821"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:822: ./caller"
at_fn_check_prepare_trace "run_misc.at:822"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: callee2.cob: 5: invalid recursive COBOL CALL to 'callee'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:822"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_403
#AT_START_404
at_fn_group_banner 404 'run_misc.at:828' \
  "Multiple calls of INITIAL program" "              " 4
at_xfail=no
(
  $as_echo "404. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  PARAM1       PIC X(08).
       01  PARAM2       PIC 9999 COMP VALUE 08.
       PROCEDURE        DIVISION.
           MOVE ' PARAM 1' TO PARAM1
           PERFORM 10 TIMES
              CALL "callee" USING PARAM1 PARAM2 END-CALL
           END-PERFORM
           DISPLAY 'PARAM1 = ' PARAM1
           END-DISPLAY
           STOP RUN.
_ATEOF


cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee IS INITIAL.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  COUNTER      PIC 999 VALUE ZERO.
       01  LPARAM       PIC 9(8) COMP.
       LINKAGE SECTION.
       01  PARAM1       PIC X(08).
       01  PARAM2       PIC 9999 COMP.
       PROCEDURE        DIVISION USING PARAM1 PARAM2.
           ADD 1 TO COUNTER END-ADD
           CALL 'C$PARAMSIZE' USING 1 GIVING LPARAM END-CALL
           DISPLAY 'COUNTER = ' COUNTER ' LPARAM1 = ' LPARAM
                   ' PARAM1 = ' PARAM1
           END-DISPLAY
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:867: \$COMPILE -o caller caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob" "run_misc.at:867"
( $at_check_trace; $COMPILE -o caller caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:867"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:868: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:868"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:868"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:869: ./caller"
at_fn_check_prepare_trace "run_misc.at:869"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
COUNTER = 001 LPARAM1 = 00000008 PARAM1 =  PARAM 1
PARAM1 =  PARAM 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:869"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_404
#AT_START_405
at_fn_group_banner 405 'run_misc.at:885' \
  "CALL binary literal parameter/LENGTH OF" "        " 4
at_xfail=no
(
  $as_echo "405. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (int *);
int dump (int *p)
{
  printf ("%8.8d\n", *p);
  return 0;
}
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  MYOCC        PIC 9(8) COMP.
       01  MYTAB.
           03  MYBYTE   PIC X OCCURS 1 TO 20
                        DEPENDING ON MYOCC.
       PROCEDURE        DIVISION.
           MOVE 9 TO MYOCC.
           CALL "dump" USING BY CONTENT 1
           END-CALL.
           CALL "dump" USING BY CONTENT LENGTH OF MYTAB
           END-CALL.
           CALL "dump" USING BY CONTENT LENGTH OF MYOCC
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:920: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_misc.at:920"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:920"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:921: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:921"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:921"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:922: ./prog"
at_fn_check_prepare_trace "run_misc.at:922"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000001
00000009
00000004
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:922"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:927: \$COMPILE -fbinary-byteorder=native prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fbinary-byteorder=native prog.cob" "run_misc.at:927"
( $at_check_trace; $COMPILE -fbinary-byteorder=native prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:927"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:928: ./prog"
at_fn_check_prepare_trace "run_misc.at:928"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000001
00000009
00000004
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:928"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_405
#AT_START_406
at_fn_group_banner 406 'run_misc.at:939' \
  "INSPECT: REPLACING LEADING ZEROS BY SPACES" "     " 4
at_xfail=no
(
  $as_echo "406. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "0001".
       PROCEDURE        DIVISION.
           INSPECT X REPLACING LEADING ZEROS BY SPACES.
           IF X NOT = "   1"
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:957: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:957"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:957"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:958: ./prog"
at_fn_check_prepare_trace "run_misc.at:958"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:958"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_406
#AT_START_407
at_fn_group_banner 407 'run_misc.at:963' \
  "INSPECT: No repeat conversion check" "            " 4
at_xfail=no
(
  $as_echo "407. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(3) VALUE "BCA".
       PROCEDURE        DIVISION.
           INSPECT X CONVERTING "ABC" TO "BCD".
           IF X NOT = "CDB"
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:981: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:981"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:981"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:982: ./prog"
at_fn_check_prepare_trace "run_misc.at:982"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:982"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_407
#AT_START_408
at_fn_group_banner 408 'run_misc.at:987' \
  "INSPECT: CONVERTING TO figurative constant" "     " 4
at_xfail=no
(
  $as_echo "408. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(3) VALUE "BCA".
       PROCEDURE        DIVISION.
           INSPECT X CONVERTING "ABC" TO SPACES.
           IF X NOT = SPACES
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1005: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1005"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1005"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1006: ./prog"
at_fn_check_prepare_trace "run_misc.at:1006"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1006"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_408
#AT_START_409
at_fn_group_banner 409 'run_misc.at:1011' \
  "INSPECT: CONVERTING NULL" "                       " 4
at_xfail=no
(
  $as_echo "409. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(3) VALUE LOW-VALUES.
       PROCEDURE        DIVISION.
           INSPECT X CONVERTING NULL TO "A".
           IF X NOT = "AAA"
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1029: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1029"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1029"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1030: ./prog"
at_fn_check_prepare_trace "run_misc.at:1030"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1030"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_409
#AT_START_410
at_fn_group_banner 410 'run_misc.at:1035' \
  "INSPECT: CONVERTING TO NULL" "                    " 4
at_xfail=no
(
  $as_echo "410. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(3) VALUE "AAA".
       PROCEDURE        DIVISION.
           INSPECT X CONVERTING "A" TO NULL.
           IF X NOT = LOW-VALUES
              DISPLAY "NG" NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1053: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1053"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1053"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1054: ./prog"
at_fn_check_prepare_trace "run_misc.at:1054"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1054"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_410
#AT_START_411
at_fn_group_banner 411 'run_misc.at:1059' \
  "INSPECT: REPLACING figurative constant" "         " 4
at_xfail=no
(
  $as_echo "411. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(3) VALUE "BCA".
       PROCEDURE        DIVISION.
           INSPECT X REPLACING ALL "BC" BY SPACE.
           IF X NOT = "  A"
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1077: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1077"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1077"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1078: ./prog"
at_fn_check_prepare_trace "run_misc.at:1078"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1078"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_411
#AT_START_412
at_fn_group_banner 412 'run_misc.at:1083' \
  "INSPECT: TALLYING BEFORE" "                       " 4
at_xfail=no
(
  $as_echo "412. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "ABC ".
       01 TAL           PIC 999 VALUE 0.
       PROCEDURE        DIVISION.
           MOVE 0 TO TAL.
           INSPECT X TALLYING TAL FOR CHARACTERS
                     BEFORE INITIAL " ".
           IF TAL NOT = 3
              DISPLAY TAL NO ADVANCING
              END-DISPLAY
           END-IF.
           MOVE 0 TO TAL.
           MOVE " ABC" TO X.
           INSPECT X TALLYING TAL FOR CHARACTERS
                     BEFORE INITIAL " ".
           IF TAL NOT = 0
              DISPLAY TAL NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1112: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1112"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1112"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1113: ./prog"
at_fn_check_prepare_trace "run_misc.at:1113"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1113"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_412
#AT_START_413
at_fn_group_banner 413 'run_misc.at:1118' \
  "INSPECT: TALLYING AFTER" "                        " 4
at_xfail=no
(
  $as_echo "413. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "ABC ".
       01 TAL           PIC 999 VALUE 0.
       PROCEDURE        DIVISION.
           MOVE 0 TO TAL.
           INSPECT X TALLYING TAL FOR CHARACTERS
                     AFTER INITIAL " ".
           IF TAL NOT = 0
              DISPLAY TAL NO ADVANCING
              END-DISPLAY
           END-IF.
           MOVE 0 TO TAL.
           MOVE " ABC" TO X.
           INSPECT X TALLYING TAL FOR CHARACTERS
                     AFTER INITIAL " ".
           IF TAL NOT = 3
              DISPLAY TAL NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1147: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1147"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1147"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1148: ./prog"
at_fn_check_prepare_trace "run_misc.at:1148"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1148"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_413
#AT_START_414
at_fn_group_banner 414 'run_misc.at:1153' \
  "INSPECT: REPLACING TRAILING ZEROS BY SPACES" "    " 4
at_xfail=no
(
  $as_echo "414. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE "1000".
       PROCEDURE        DIVISION.
           INSPECT X REPLACING TRAILING ZEROS BY SPACES.
           IF X NOT = "1   "
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1171: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1171"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1171"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1172: ./prog"
at_fn_check_prepare_trace "run_misc.at:1172"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1172"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_414
#AT_START_415
at_fn_group_banner 415 'run_misc.at:1177' \
  "INSPECT: REPLACING complex" "                     " 4
at_xfail=no
(
  $as_echo "415. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(12) VALUE "AAABBCDCCCCC".
       PROCEDURE        DIVISION.
           INSPECT X REPLACING
             ALL      "A" BY "Z"
                      "B" BY "Y"
             TRAILING "C" BY "X".
           IF X NOT = "ZZZYYCDXXXXX"
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1198: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1198"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1198"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1199: ./prog"
at_fn_check_prepare_trace "run_misc.at:1199"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1199"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_415
#AT_START_416
at_fn_group_banner 416 'run_misc.at:1203' \
  "SWITCHES (environment COB_SWITCH_n and SET)" "    " 4
at_xfail=no
(
  $as_echo "416. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           SWITCH-1 IS SWIT1
             ON  IS SWIT1-ON
             OFF IS SWIT1-OFF
           SWITCH-2 IS SWIT2
             ON  IS SWIT2-ON
             OFF IS SWIT2-OFF
           SWITCH-3
             ON  IS SWIT3-ON
             OFF IS SWIT3-OFF
           SWITCH-4 IS SWIT4
             OFF IS SWIT4-OFF
           SWITCH-31
             ON  IS SWIT31-ON
           SWITCH-36 IS SWIT36
             OFF IS SWIT36-OFF.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           IF SWIT1-ON
              DISPLAY "ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY "OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           IF SWIT2-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           IF SWIT3-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           IF NOT SWIT4-OFF
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           SET SWIT1 TO OFF.
           SET SWIT2 TO ON.
           IF SWIT1-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           IF SWIT2-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF
           IF SWIT31-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           IF NOT SWIT36-OFF
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1291: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1291"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1291"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1292: COB_SWITCH_1=1 COB_SWITCH_2=0 COB_SWITCH_3=OFF COB_SWITCH_4=ON COB_SWITCH_36=ON ./prog"
at_fn_check_prepare_trace "run_misc.at:1292"
( $at_check_trace; COB_SWITCH_1=1 COB_SWITCH_2=0 COB_SWITCH_3=OFF COB_SWITCH_4=ON COB_SWITCH_36=ON ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ON OFF OFF ON OFF ON OFF ON" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1292"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_416
#AT_START_417
at_fn_group_banner 417 'run_misc.at:1300' \
  "Nested PERFORM" "                                 " 4
at_xfail=no
(
  $as_echo "417. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       PROCEDURE        DIVISION.
           PERFORM 2 TIMES
             PERFORM 2 TIMES
               DISPLAY "X" NO ADVANCING
               END-DISPLAY
             END-PERFORM
           END-PERFORM.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1317: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1317"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1317"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1318: ./prog"
at_fn_check_prepare_trace "run_misc.at:1318"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "XXXX" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1318"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_417
#AT_START_418
at_fn_group_banner 418 'run_misc.at:1325' \
  "EXIT PERFORM" "                                   " 4
at_xfail=no
(
  $as_echo "418. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           PERFORM 2 TIMES
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY
             EXIT PERFORM
             DISPLAY "NOT OK"
             END-DISPLAY
           END-PERFORM
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1342: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1342"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1342"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1343: ./prog"
at_fn_check_prepare_trace "run_misc.at:1343"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1343"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_418
#AT_START_419
at_fn_group_banner 419 'run_misc.at:1350' \
  "EXIT PERFORM CYCLE" "                             " 4
at_xfail=no
(
  $as_echo "419. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           PERFORM 2 TIMES
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY
             EXIT PERFORM CYCLE
             DISPLAY "NOT OK"
             END-DISPLAY
           END-PERFORM
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1367: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1367"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1367"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1368: ./prog"
at_fn_check_prepare_trace "run_misc.at:1368"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1368"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_419
#AT_START_420
at_fn_group_banner 420 'run_misc.at:1375' \
  "EXIT PARAGRAPH" "                                 " 4
at_xfail=no
(
  $as_echo "420. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 INDVAL        PIC 9(4).
       PROCEDURE        DIVISION.
       A01.
           PERFORM VARYING INDVAL FROM 1 BY 1 UNTIL INDVAL > 10
            IF INDVAL > 2
               EXIT PARAGRAPH
            END-IF
           END-PERFORM.
       A02.
           IF INDVAL NOT = 3
              DISPLAY INDVAL NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1399: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1399"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1399"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1400: ./prog"
at_fn_check_prepare_trace "run_misc.at:1400"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1400"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_420
#AT_START_421
at_fn_group_banner 421 'run_misc.at:1407' \
  "EXIT SECTION" "                                   " 4
at_xfail=no
(
  $as_echo "421. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 INDVAL        PIC 9(4).
       PROCEDURE        DIVISION.
       A01 SECTION.
       A011.
           PERFORM VARYING INDVAL FROM 1 BY 1 UNTIL INDVAL > 10
            IF INDVAL > 2
               EXIT SECTION
            END-IF
           END-PERFORM.
       A012.
           DISPLAY INDVAL NO ADVANCING
           END-DISPLAY.
       A02 SECTION.
           IF INDVAL NOT = 3
              DISPLAY INDVAL NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1435: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1435"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1435"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1436: ./prog"
at_fn_check_prepare_trace "run_misc.at:1436"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1436"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_421
#AT_START_422
at_fn_group_banner 422 'run_misc.at:1441' \
  "PERFORM UNTIL EXIT" "                             " 4
at_xfail=no
(
  $as_echo "422. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  INDVAL       PIC 9(4).
       PROCEDURE        DIVISION.
       A01.
           MOVE 0 TO INDVAL
           PERFORM UNTIL EXIT
            ADD 1 TO INDVAL
            IF INDVAL > 2
               EXIT PERFORM
            END-IF
           END-PERFORM
           IF INDVAL NOT = 3
              DISPLAY INDVAL
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1466: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1466"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1466"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1467: ./prog"
at_fn_check_prepare_trace "run_misc.at:1467"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1467"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_422
#AT_START_423
at_fn_group_banner 423 'run_misc.at:1472' \
  "PERFORM inline (1)" "                             " 4
at_xfail=no
(
  $as_echo "423. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  INDVAL       PIC 9(4).
       PROCEDURE        DIVISION.
           PERFORM VARYING INDVAL FROM 1
            BY 1 UNTIL INDVAL > 2
           END-PERFORM
           IF INDVAL NOT = 3
              DISPLAY INDVAL NO ADVANCING
              END-DISPLAY
           END-IF
           STOP RUN
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1493: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1493"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1493"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1494: ./prog"
at_fn_check_prepare_trace "run_misc.at:1494"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1494"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_423
#AT_START_424
at_fn_group_banner 424 'run_misc.at:1499' \
  "PERFORM inline (2)" "                             " 4
at_xfail=no
(
  $as_echo "424. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  INDVAL       PIC 9(4).
       PROCEDURE        DIVISION.
           PERFORM VARYING INDVAL FROM 1
            BY 1 UNTIL INDVAL > 2.
           IF INDVAL NOT = 3
              DISPLAY INDVAL NO ADVANCING
              END-DISPLAY
           END-IF
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1518: \$COMPILE -frelax-syntax-checks prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -frelax-syntax-checks prog.cob" "run_misc.at:1518"
( $at_check_trace; $COMPILE -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1518"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1519: ./prog"
at_fn_check_prepare_trace "run_misc.at:1519"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1519"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_424
#AT_START_425
at_fn_group_banner 425 'run_misc.at:1524' \
  "88 with FILLER" "                                 " 4
at_xfail=no
(
  $as_echo "425. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  FILLER       PIC X VALUE SPACE.
           88 X         VALUE "X".
       PROCEDURE        DIVISION.
           IF X
               DISPLAY "NOT OK"
               END-DISPLAY
           END-IF.
           SET X TO TRUE.
           IF NOT X
               DISPLAY "NOT OK"
               END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1547: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1547"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1547"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1548: ./prog"
at_fn_check_prepare_trace "run_misc.at:1548"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1548"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_425
#AT_START_426
at_fn_group_banner 426 'run_misc.at:1553' \
  "Non-overflow after overflow" "                    " 4
at_xfail=no
(
  $as_echo "426. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC 9(2) VALUE 0.
       01  Y            PIC 9(2) VALUE 0.
       PROCEDURE        DIVISION.
           COMPUTE X = 100
           END-COMPUTE.
           COMPUTE Y = 99
           END-COMPUTE.
           IF Y NOT = 99
              DISPLAY Y NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1575: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1575"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1575"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1576: ./prog"
at_fn_check_prepare_trace "run_misc.at:1576"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1576"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_426
#AT_START_427
at_fn_group_banner 427 'run_misc.at:1583' \
  "PERFORM ... CONTINUE" "                           " 4
at_xfail=no
(
  $as_echo "427. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           PERFORM 2 TIMES
             CONTINUE
           END-PERFORM.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1595: \$COMPILE_ONLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY prog.cob" "run_misc.at:1595"
( $at_check_trace; $COMPILE_ONLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1595"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_427
#AT_START_428
at_fn_group_banner 428 'run_misc.at:1600' \
  "STRING with subscript reference" "                " 4
at_xfail=no
(
  $as_echo "428. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  G.
           02 X         PIC X(3) OCCURS 3.
       PROCEDURE        DIVISION.
           MOVE   SPACES TO G.
           STRING "abc" INTO X(2)
           END-STRING.
           IF G NOT = "   abc   "
              DISPLAY X(1) NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1621: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1621"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1621"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1622: ./prog"
at_fn_check_prepare_trace "run_misc.at:1622"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1622"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_428
#AT_START_429
at_fn_group_banner 429 'run_misc.at:1627' \
  "UNSTRING DELIMITED ALL LOW-VALUE" "               " 4
at_xfail=no
(
  $as_echo "429. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  G.
           03 FILLER    PIC XXX VALUE "ABC".
           03 FILLER    PIC XX  VALUE LOW-VALUES.
           03 FILLER    PIC XXX VALUE "DEF".
       01  A            PIC XXX.
       01  B            PIC XXX.
       PROCEDURE        DIVISION.
           UNSTRING G DELIMITED BY ALL LOW-VALUES
                      INTO A B
           END-UNSTRING.
           IF A NOT = "ABC"
              DISPLAY A
              END-DISPLAY
           END-IF.
           IF B NOT = "DEF"
              DISPLAY B
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1656: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1656"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1656"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1657: ./prog"
at_fn_check_prepare_trace "run_misc.at:1657"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1657"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_429
#AT_START_430
at_fn_group_banner 430 'run_misc.at:1662' \
  "UNSTRING DELIMITED ALL SPACE-2" "                 " 4
at_xfail=no
(
  $as_echo "430. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.
       ENVIRONMENT     DIVISION.
       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-RECORD.
           02 VALUE SPACE           PIC X(04).
           02 VALUE "ABC AND DE"    PIC X(10).
           02 VALUE SPACE           PIC X(07).
           02 VALUE "FG AND HIJ"    PIC X(10).
           02 VALUE SPACE           PIC X(08).
       01  SPACE-2                  PIC X(02) VALUE SPACE.
       01  WS-DUMMY                 PIC X(15).
       01  WS-POINTER               PIC 99.
       PROCEDURE       DIVISION.
           MOVE 1 TO WS-POINTER.
      *
           PERFORM 0001-SUB.
           IF WS-DUMMY NOT = SPACE
              DISPLAY "Expected space - Got " WS-DUMMY
              END-DISPLAY
           END-IF.
           IF WS-POINTER NOT = 5
              DISPLAY "Expected 5 - Got " WS-POINTER
              END-DISPLAY
           END-IF.
      *
           PERFORM 0001-SUB.
           IF WS-DUMMY NOT = "ABC AND DE"
              DISPLAY "Expected ABC AND DE - Got " WS-DUMMY
              END-DISPLAY
           END-IF.
           IF WS-POINTER NOT = 21
              DISPLAY "Expected 21 - Got " WS-POINTER
              END-DISPLAY
           END-IF.
      *
           PERFORM 0001-SUB.
           IF WS-DUMMY NOT = " FG AND HIJ"
              DISPLAY "Expected  FG AND HIJ - Got " WS-DUMMY
              END-DISPLAY
           END-IF.
           IF WS-POINTER NOT = 40
              DISPLAY "Expected 40 - Got " WS-POINTER
              END-DISPLAY
           END-IF.
           STOP RUN.
       0001-SUB.
           UNSTRING WS-RECORD
                    DELIMITED BY ALL SPACE-2
              INTO WS-DUMMY
              POINTER WS-POINTER
           END-UNSTRING.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1721: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1721"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1721"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1722: ./prog"
at_fn_check_prepare_trace "run_misc.at:1722"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1722"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_430
#AT_START_431
at_fn_group_banner 431 'run_misc.at:1727' \
  "UNSTRING DELIMITED POINTER" "                     " 4
at_xfail=no
(
  $as_echo "431. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.
       ENVIRONMENT     DIVISION.
       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-LAY-RECORD            PIC X(66).
       01  WS-DUMMY                 PIC X(50).
       01  WS-KEYWORD               PIC X(32).
       01  WS-POINTER               PIC 99.
       PROCEDURE       DIVISION.
           MOVE
       '        10  AF-RECORD-TYPE-SEQUENCE-04     PIC   9(05) COMP-3.'
                  TO WS-LAY-RECORD.
           MOVE 1 TO WS-POINTER.
           PERFORM 0001-SUB.
           IF WS-POINTER NOT = 48
              DISPLAY "Expected 48 - Got " WS-POINTER
              END-DISPLAY
           END-IF.
           ADD 7  TO WS-POINTER
           END-ADD.
           PERFORM 0001-SUB.
           IF WS-POINTER NOT = 62
              DISPLAY "Expected 62 - Got " WS-POINTER
              END-DISPLAY
           END-IF.
           PERFORM 0001-SUB.
           IF WS-POINTER NOT = 63
              DISPLAY "Expected 63 - Got " WS-POINTER
              END-DISPLAY
           END-IF.
           STOP RUN.
       0001-SUB.
           UNSTRING WS-LAY-RECORD
                    DELIMITED
                    BY ' PIC '
                    OR ' COMP-3'
                    OR '.'
              INTO WS-DUMMY
              DELIMITER WS-KEYWORD
              POINTER WS-POINTER
           END-UNSTRING.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1775: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1775"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1775"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1776: ./prog"
at_fn_check_prepare_trace "run_misc.at:1776"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1776"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_431
#AT_START_432
at_fn_group_banner 432 'run_misc.at:1781' \
  "UNSTRING DELIMITER IN" "                          " 4
at_xfail=no
(
  $as_echo "432. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  WK-CMD       PIC X(8) VALUE "WWADDBCC".
       01  WK-SIGNS     PIC XX   VALUE "AB".
       01  WKS REDEFINES WK-SIGNS.
           03 WK-SIGN   PIC X OCCURS 2.
       01  WK-DELIM     PIC X OCCURS 2.
       01  WK-DATA      PIC X(2) OCCURS 3.
       PROCEDURE        DIVISION.
           UNSTRING WK-CMD DELIMITED BY WK-SIGN(1) OR WK-SIGN(2)
           INTO WK-DATA(1) DELIMITER IN WK-DELIM(1)
                WK-DATA(2) DELIMITER IN WK-DELIM(2)
                WK-DATA(3)
           END-UNSTRING
           IF  WK-DATA(1)   NOT = "WW"
            OR WK-DATA(2)   NOT = "DD"
            OR WK-DATA(3)   NOT = "CC"
            OR WK-DELIM(1)  NOT = "A"
            OR WK-DELIM(2)  NOT = "B"
               DISPLAY WK-DATA(1)
                       WK-DATA(2)
                       WK-DATA(3)
                       WK-DELIM(1)
                       WK-DELIM(2)
               END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1817: \$COMPILE -ftop-level-occurs-clause=ok prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -ftop-level-occurs-clause=ok prog.cob" "run_misc.at:1817"
( $at_check_trace; $COMPILE -ftop-level-occurs-clause=ok prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1817"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1818: ./prog"
at_fn_check_prepare_trace "run_misc.at:1818"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1818"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_432
#AT_START_433
at_fn_group_banner 433 'run_misc.at:1823' \
  "UNSTRING with FUNCTION / literal" "               " 4
at_xfail=no
(
  $as_echo "433. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       01  FILLER.
         05  TSTUNS PIC X(479).
         05  PRM    PIC X(16) OCCURS 4 TIMES.
       PROCEDURE DIVISION.
           MOVE "The,Quick,Brown,Fox" TO TSTUNS.
           UNSTRING TSTUNS DELIMITED BY ','
              INTO  PRM(1), PRM(2), PRM(3), PRM(4).
           DISPLAY "PRM(1) is " PRM(1) ":".
           DISPLAY "PRM(2) is " PRM(2) ":".
           DISPLAY "PRM(3) is " PRM(3) ":".
           DISPLAY "PRM(4) is " PRM(4) ":".
           UNSTRING FUNCTION UPPER-CASE(TSTUNS) DELIMITED BY ','
              INTO  PRM(1), PRM(2), PRM(3), PRM(4).
           DISPLAY "Now using UPPER-CASE"
           DISPLAY "PRM(1) is " PRM(1) ":".
           DISPLAY "PRM(2) is " PRM(2) ":".
           DISPLAY "PRM(3) is " PRM(3) ":".
           DISPLAY "PRM(4) is " PRM(4) ":".
           UNSTRING "Daddy,was,a,Rolling stone" DELIMITED BY ','
              INTO  PRM(1), PRM(2), PRM(3), PRM(4).
           DISPLAY "Now using Literal"
           DISPLAY "PRM(1) is " PRM(1) ":".
           DISPLAY "PRM(2) is " PRM(2) ":".
           DISPLAY "PRM(3) is " PRM(3) ":".
           DISPLAY "PRM(4) is " PRM(4) ":".
           UNSTRING FUNCTION LOWER-CASE("Daddy,was,a,Rolling stone")
                DELIMITED BY ','
              INTO  PRM(1), PRM(2), PRM(3), PRM(4).
           DISPLAY "Now using Literal + LOWER-CASE"
           DISPLAY "PRM(1) is " PRM(1) ":".
           DISPLAY "PRM(2) is " PRM(2) ":".
           DISPLAY "PRM(3) is " PRM(3) ":".
           DISPLAY "PRM(4) is " PRM(4) ":".
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1867: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1867"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1867"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1868: ./prog"
at_fn_check_prepare_trace "run_misc.at:1868"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "PRM(1) is The             :
PRM(2) is Quick           :
PRM(3) is Brown           :
PRM(4) is Fox             :
Now using UPPER-CASE
PRM(1) is THE             :
PRM(2) is QUICK           :
PRM(3) is BROWN           :
PRM(4) is FOX             :
Now using Literal
PRM(1) is Daddy           :
PRM(2) is was             :
PRM(3) is a               :
PRM(4) is Rolling stone   :
Now using Literal + LOWER-CASE
PRM(1) is daddy           :
PRM(2) is was             :
PRM(3) is a               :
PRM(4) is rolling stone   :
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1868"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_433
#AT_START_434
at_fn_group_banner 434 'run_misc.at:1893' \
  "SORT: table sort" "                               " 4
at_xfail=no
(
  $as_echo "434. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G             VALUE "d4b2e1a3c5".
         02 TBL         OCCURS 5.
           03 X         PIC X.
           03 Y         PIC 9.
       PROCEDURE        DIVISION.
           SORT TBL ASCENDING KEY X.
           IF G NOT = "a3b2c5d4e1"
              DISPLAY G
              END-DISPLAY
           END-IF.
           SORT TBL DESCENDING KEY Y.
           IF G NOT = "c5d4a3b2e1"
              DISPLAY G
              END-DISPLAY
           END-IF.
           SORT TBL ASCENDING KEY TBL.
           IF G NOT = "a3b2c5d4e1"
              DISPLAY G
              END-DISPLAY
           END-IF.
           SORT TBL DESCENDING KEY.
           IF G NOT = "e1d4c5b2a3"
              DISPLAY G
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:1929: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:1929"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1929"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:1930: ./prog"
at_fn_check_prepare_trace "run_misc.at:1930"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:1930"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_434
#AT_START_435
at_fn_group_banner 435 'run_misc.at:1935' \
  "SORT: table sort (2)" "                           " 4
at_xfail=no
(
  $as_echo "435. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 K                 PIC 9(2).

       01 CNT1              PIC 9(9) COMP-5 VALUE 4.
       01 TAB1.
          05 ROW1 OCCURS 1 TO 4 DEPENDING CNT1
                                 DESCENDING TAB1-NR.
             10 TAB1-NR     PIC 99.

       01 TAB2.
          05 CNT2           PIC 9(9) COMP-5 VALUE 4.
          05 ROW2 OCCURS 1 TO 4 DEPENDING CNT2
                                 DESCENDING TAB2-NR.
             10 TAB2-NR PIC 99.

       01 TAB3.
          05 CNT3           PIC 9(9) COMP-5 VALUE 10.
          05 ROW3 OCCURS 1 TO 10 DEPENDING CNT3
                                  DESCENDING TAB3-NR
                                  ASCENDING TAB3-DATA.
             10 TAB3-NR     PIC 99.
             10 FILLER      PIC X(2).
             10 TAB3-DATA   PIC X(5).
             10 FILLER      PIC X(2).
             10 TAB3-DATA2  PIC X(5).


       PROCEDURE DIVISION.
       A.
           PERFORM VARYING K FROM 1 BY 1 UNTIL K > 4
             MOVE K TO TAB1-NR(K), TAB2-NR(K)
           END-PERFORM

           MOVE 1 TO TAB3-NR(1).
           MOVE 1 TO TAB3-NR(8).
           MOVE 1 TO TAB3-NR(4).
           MOVE 6 TO TAB3-NR(2).
           MOVE 5 TO TAB3-NR(3).
           MOVE 5 TO TAB3-NR(9).
           MOVE 2 TO TAB3-NR(5).
           MOVE 2 TO TAB3-NR(10).
           MOVE 4 TO TAB3-NR(6).
           MOVE 3 TO TAB3-NR(7).

           MOVE "abcde" TO TAB3-DATA(1).
           MOVE "AbCde" TO TAB3-DATA(2).
           MOVE "abcde" TO TAB3-DATA(3).
           MOVE "zyx" TO TAB3-DATA(4).
           MOVE "12345" TO TAB3-DATA(5).
           MOVE "zyx" TO TAB3-DATA(6).
           MOVE "abcde" TO TAB3-DATA(7).
           MOVE "AbCde" TO TAB3-DATA(8).
           MOVE "abc" TO TAB3-DATA(9).
           MOVE "12346" TO TAB3-DATA(10).

           MOVE "day" TO TAB3-DATA2(1).
           MOVE "The" TO TAB3-DATA2(2).
           MOVE "eats" TO TAB3-DATA2(3).
           MOVE "." TO TAB3-DATA2(4).
           MOVE "mooos" TO TAB3-DATA2(5).
           MOVE "grass" TO TAB3-DATA2(6).
           MOVE "and" TO TAB3-DATA2(7).
           MOVE "whole" TO TAB3-DATA2(8).
           MOVE "cow" TO TAB3-DATA2(9).
           MOVE "the" TO TAB3-DATA2(10).

           SORT ROW1 DESCENDING TAB1-NR
           SORT ROW2 DESCENDING TAB2-NR

           DISPLAY "SINGLE TABLE" END-DISPLAY
           PERFORM VARYING K FROM 1 BY 1 UNTIL K > 4
             DISPLAY  FUNCTION TRIM(TAB1-NR(K)) END-DISPLAY
           END-PERFORM

           DISPLAY "LOWER LEVEL TABLE" END-DISPLAY
           PERFORM VARYING K FROM 1 BY 1 UNTIL K > 4
             DISPLAY  FUNCTION TRIM(TAB2-NR(K)) END-DISPLAY
           END-PERFORM

           SORT ROW3 DESCENDING TAB3-NR ASCENDING TAB3-DATA

           DISPLAY "MULTY KEY SORT" END-DISPLAY
           PERFORM VARYING K FROM 1 BY 1 UNTIL K > 10
             DISPLAY  FUNCTION TRIM(ROW3(K))
             END-DISPLAY
           END-PERFORM

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2033: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2033"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2033"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2034: ./prog"
at_fn_check_prepare_trace "run_misc.at:2034"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "SINGLE TABLE
04
03
02
01
LOWER LEVEL TABLE
04
03
02
01
MULTY KEY SORT
06  AbCde  The
05  abc    cow
05  abcde  eats
04  zyx    grass
03  abcde  and
02  12345  mooos
02  12346  the
01  AbCde  whole
01  abcde  day
01  zyx    .
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2034"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_435
#AT_START_436
at_fn_group_banner 436 'run_misc.at:2060' \
  "SORT: table sort (3)" "                           " 4
at_xfail=no
(
  $as_echo "436. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "run_misc.at:2061" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/run_misc.at:2061"



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 K                 PIC 9(2).

       01 CNT1              PIC 9(9) COMP-5 VALUE 4.
       01 TAB1.
          05 ROW1 OCCURS 1 TO 4 DEPENDING CNT1
                                  DESCENDING TAB1-NR.
             10 TAB1-NR     PIC 99.
             10 TAB-DATA    PIC X(5).

       PROCEDURE DIVISION.
       A.
           PERFORM VARYING K FROM 1 BY 1 UNTIL K > 4
             MOVE K TO TAB1-NR(K)
             MOVE 'BLA' TO TAB-DATA(K)
           END-PERFORM

           SORT ROW1.

           PERFORM VARYING K FROM 1 BY 1 UNTIL K > 4
             DISPLAY TAB1-NR(K) NO ADVANCING END-DISPLAY
           END-PERFORM

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2096: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2096"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2096"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2097: ./prog"
at_fn_check_prepare_trace "run_misc.at:2097"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "04030201" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2097"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_436
#AT_START_437
at_fn_group_banner 437 'run_misc.at:2101' \
  "SORT: EBCDIC table sort" "                        " 4
at_xfail=no
(
  $as_echo "437. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           ALPHABET ALPHA IS EBCDIC.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 Z  PIC X(10)  VALUE "d4b2e1a3c5".
       01 G.
         02 TBL         OCCURS 10.
           03 X         PIC X.
       PROCEDURE        DIVISION.
           MOVE Z TO G.
           SORT TBL ASCENDING KEY X SEQUENCE ALPHA.
           IF G NOT = "abcde12345"
              DISPLAY G
              END-DISPLAY
           END-IF.
           MOVE Z TO G.
           SORT TBL DESCENDING KEY X SEQUENCE ALPHA.
           IF G NOT = "54321edcba"
              DISPLAY G
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2133: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2133"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2133"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2134: ./prog"
at_fn_check_prepare_trace "run_misc.at:2134"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2134"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_437
#AT_START_438
at_fn_group_banner 438 'run_misc.at:2139' \
  "PIC ZZZ-, ZZZ+" "                                 " 4
at_xfail=no
(
  $as_echo "438. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X-ZZZN                    PIC ZZZ-.
       01  XZN-RED REDEFINES X-ZZZN  PIC X(4).
       01  X-ZZZP                    PIC ZZZ+.
       01  XZP-RED REDEFINES X-ZZZP  PIC X(4).
       PROCEDURE        DIVISION.
           MOVE -1 TO X-ZZZN.
           IF XZN-RED NOT = "  1-"
              DISPLAY "(" X-ZZZN ")"
              END-DISPLAY
           END-IF.
           MOVE  0 TO X-ZZZN.
           IF XZN-RED NOT = "    "
              DISPLAY "(" X-ZZZN ")"
              END-DISPLAY
           END-IF.
           MOVE +1 TO X-ZZZN.
           IF XZN-RED NOT = "  1 "
              DISPLAY "(" X-ZZZN ")"
              END-DISPLAY
           END-IF.

           MOVE -1 TO X-ZZZP.
           IF XZP-RED NOT = "  1-"
              DISPLAY "(" X-ZZZP ")"
              END-DISPLAY
           END-IF.
           MOVE  0 TO X-ZZZP.
           IF XZP-RED NOT = "    "
              DISPLAY "(" X-ZZZP ")"
              END-DISPLAY
           END-IF.
           MOVE +1 TO X-ZZZP.
           IF XZP-RED NOT = "  1+"
              DISPLAY "(" X-ZZZP ")"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2186: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2186"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2186"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2187: ./prog"
at_fn_check_prepare_trace "run_misc.at:2187"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2187"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_438
#AT_START_439
at_fn_group_banner 439 'run_misc.at:2192' \
  "PERFORM type OSVS" "                              " 4
at_xfail=no
(
  $as_echo "439. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  MYOCC        PIC 9(8) COMP VALUE 0.
       PROCEDURE        DIVISION.
       ASTART SECTION.
       A01.
           PERFORM BTEST.
           IF MYOCC NOT = 2
              DISPLAY MYOCC
              END-DISPLAY
           END-IF.
           STOP RUN.
       BTEST SECTION.
       B01.
           PERFORM B02 VARYING MYOCC FROM 1 BY 1
                   UNTIL MYOCC > 5.
           GO TO B99.
       B02.
           IF MYOCC > 1
              GO TO B99
           END-IF.
       B99.
           EXIT.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2223: \$COMPILE -fperform-osvs prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fperform-osvs prog.cob" "run_misc.at:2223"
( $at_check_trace; $COMPILE -fperform-osvs prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2223"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2224: ./prog"
at_fn_check_prepare_trace "run_misc.at:2224"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2224"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_439
#AT_START_440
at_fn_group_banner 440 'run_misc.at:2229' \
  "Sticky LINKAGE" "                                 " 4
at_xfail=no
(
  $as_echo "440. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 P1            PIC X.
       01 P2            PIC X(6).
       01 P3            PIC X(6).
       PROCEDURE        DIVISION USING P1 P2.
           IF P1 = "A"
              SET ADDRESS OF P3 TO ADDRESS OF P2
           ELSE
              IF P3 NOT = "OKOKOK"
                 DISPLAY P3
                 END-DISPLAY
              END-IF
           END-IF.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 P1            PIC X    VALUE "A".
       01 P2            PIC X(6) VALUE "NOT OK".
       PROCEDURE        DIVISION.
           CALL "callee" USING P1 P2
           END-CALL.
           MOVE "B"      TO P1.
           MOVE "OKOKOK" TO P2.
           CALL "callee" USING P1
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2269: \$COMPILE_MODULE -fsticky-linkage callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE -fsticky-linkage callee.cob" "run_misc.at:2269"
( $at_check_trace; $COMPILE_MODULE -fsticky-linkage callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2269"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2270: \$COMPILE -fsticky-linkage -o caller caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -fsticky-linkage -o caller caller.cob" "run_misc.at:2270"
( $at_check_trace; $COMPILE -fsticky-linkage -o caller caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2270"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2271: ./caller"
at_fn_check_prepare_trace "run_misc.at:2271"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2271"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_440
#AT_START_441
at_fn_group_banner 441 'run_misc.at:2276' \
  "COB_PRE_LOAD test" "                              " 4
at_xfail=no
(
  $as_echo "441. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee2.
       PROCEDURE        DIVISION.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       PROCEDURE        DIVISION.
           CALL "callee2"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2295: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:2295"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2295"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2296: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:2296"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2296"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2297: export COB_PRE_LOAD=callee; ./caller"
at_fn_check_prepare_trace "run_misc.at:2297"
( $at_check_trace; export COB_PRE_LOAD=callee; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2297"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_441
#AT_START_442
at_fn_group_banner 442 'run_misc.at:2302' \
  "COB_PRE_LOAD with entry points" "                 " 4
at_xfail=no
(
  $as_echo "442. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.

        DATA DIVISION.
        WORKING-STORAGE SECTION.

        01 VAR1 PIC X(5) VALUE '12abc'.
        01 VAR2 PIC X(2) VALUE '11'.

        PROCEDURE DIVISION.

        ENTRY 'ent1'.
        DISPLAY VAR1 END-DISPLAY
        GOBACK.

        ENTRY 'ent2'.
        DISPLAY VAR2 END-DISPLAY
        GOBACK.
_ATEOF


cat >prog1.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog1.

        DATA DIVISION.
        WORKING-STORAGE SECTION.

        01 VAR2 PIC X(2) VALUE '55'.
        01 VAR3 PIC X(5) VALUE 'xxxxx'.

        PROCEDURE DIVISION.

        ENTRY 'ent2'.
        DISPLAY VAR2 END-DISPLAY
        GOBACK.

        ENTRY 'ent3'.
        DISPLAY VAR3 END-DISPLAY
        GOBACK.
_ATEOF


cat >main-prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. main-prog.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE DIVISION.

        CALL 'ent1' END-CALL
        CALL 'ent2' END-CALL
        CALL 'ent3' END-CALL

        STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2361: \$COMPILE_MODULE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog.cob" "run_misc.at:2361"
( $at_check_trace; $COMPILE_MODULE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 13: warning: ENTRY is obsolete in GnuCOBOL
prog.cob: 17: warning: ENTRY is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2361"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2364: \$COMPILE_MODULE prog1.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog1.cob" "run_misc.at:2364"
( $at_check_trace; $COMPILE_MODULE prog1.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog1.cob: 13: warning: ENTRY is obsolete in GnuCOBOL
prog1.cob: 17: warning: ENTRY is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2364"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2367: \$COMPILE main-prog.cob"
at_fn_check_prepare_dynamic "$COMPILE main-prog.cob" "run_misc.at:2367"
( $at_check_trace; $COMPILE main-prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2367"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2368: export COB_PRE_LOAD=\"prog\"\$PATHSEP\"prog1\"; ./main-prog"
at_fn_check_prepare_dynamic "export COB_PRE_LOAD=\"prog\"$PATHSEP\"prog1\"; ./main-prog" "run_misc.at:2368"
( $at_check_trace; export COB_PRE_LOAD="prog"$PATHSEP"prog1"; ./main-prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "12abc
11
xxxxx
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2368"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_442
#AT_START_443
at_fn_group_banner 443 'run_misc.at:2376' \
  "Lookup ENTRY from main executable" "              " 4
at_xfail=no
(
  $as_echo "443. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 PROGRAM-LINK         USAGE PROGRAM-POINTER.

       PROCEDURE DIVISION.
       SET PROGRAM-LINK TO ENTRY "subprogram"
       IF PROGRAM-LINK EQUAL NULL THEN
           DISPLAY "error: no subprogram linkage" UPON SYSERR
           END-DISPLAY
       ELSE
           CALL PROGRAM-LINK
               ON EXCEPTION
                   DISPLAY "hard error: unable to invoke subprogram"
                      UPON SYSERR
                   END-DISPLAY
           END-CALL
           DISPLAY RETURN-CODE WITH NO ADVANCING
           END-DISPLAY
       END-IF
       GOBACK.

       ENTRY "subprogram".
           DISPLAY "subprogram" WITH NO ADVANCING
           END-DISPLAY
           SET RETURN-CODE TO 42
       .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2411: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2411"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 26: warning: ENTRY is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2411"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2413: ./prog"
at_fn_check_prepare_trace "run_misc.at:2413"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "subprogram+000000042" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 42 $at_status "$at_srcdir/run_misc.at:2413"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_443
#AT_START_444
at_fn_group_banner 444 'run_misc.at:2418' \
  "COB_LOAD_CASE=UPPER test" "                       " 4
at_xfail=no
(
  $as_echo "444. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >CALLEE.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       PROCEDURE        DIVISION.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       PROCEDURE        DIVISION.
           CALL "callee"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2437: \$COMPILE_MODULE CALLEE.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE CALLEE.cob" "run_misc.at:2437"
( $at_check_trace; $COMPILE_MODULE CALLEE.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2437"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2438: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:2438"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2438"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2439: export COB_LOAD_CASE=UPPER; ./caller"
at_fn_check_prepare_trace "run_misc.at:2439"
( $at_check_trace; export COB_LOAD_CASE=UPPER; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2439"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_444
#AT_START_445
at_fn_group_banner 445 'run_misc.at:2444' \
  "88 level with FALSE IS clause" "                  " 4
at_xfail=no
(
  $as_echo "445. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  MYFLD        PIC X(6) VALUE "ABCDEF".
           88  MYFLD88  VALUE "ABCDEF"
               FALSE IS "OKOKOK".
       PROCEDURE        DIVISION.
       ASTART SECTION.
       A01.
           SET MYFLD88 TO FALSE.
           IF MYFLD NOT = "OKOKOK"
              DISPLAY MYFLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2466: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2466"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2466"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2467: ./prog"
at_fn_check_prepare_trace "run_misc.at:2467"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2467"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_445
#AT_START_446
at_fn_group_banner 446 'run_misc.at:2472' \
  "ALLOCATE / FREE with BASED item (1)" "            " 4
at_xfail=no
(
  $as_echo "446. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01  MYFLD        PIC X(6) BASED VALUE "ABCDEF".
       PROCEDURE        DIVISION.
       ASTART SECTION.
       A01.
           ALLOCATE MYFLD INITIALIZED.
           IF MYFLD NOT = "ABCDEF"
              DISPLAY MYFLD
              END-DISPLAY
           END-IF.
           FREE ADDRESS OF MYFLD.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2493: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2493"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2493"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2494: ./prog"
at_fn_check_prepare_trace "run_misc.at:2494"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2494"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_446
#AT_START_447
at_fn_group_banner 447 'run_misc.at:2499' \
  "ALLOCATE / FREE with BASED item (2)" "            " 4
at_xfail=no
(
  $as_echo "447. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 MYFLD         BASED.
             03 MYFLDX  PIC X.
             03 MYFLD9  PIC 9.
       PROCEDURE        DIVISION.
           IF ADDRESS OF MYFLD NOT = NULL
              DISPLAY "BASED ITEM WITH ADDRESS ON START"
              END-DISPLAY
           END-IF.
           FREE MYFLD.
           ALLOCATE MYFLD.
           IF ADDRESS OF MYFLD = NULL
              DISPLAY "BASED ITEM WITHOUT ADDRESS AFTER ALLOCATE"
              END-DISPLAY
           END-IF.
           INITIALIZE MYFLD.
           IF MYFLD NOT = " 0"
              DISPLAY "BASED ITEM INITIALIZED WRONG: "
                 WITH NO ADVANCING
              END-DISPLAY
              DISPLAY MYFLD
              END-DISPLAY
           END-IF.

           FREE ADDRESS OF MYFLD.
           IF ADDRESS OF MYFLD NOT = NULL
              DISPLAY "BASED ITEM WITH ADDRESS AFTER FREE"
              END-DISPLAY
           END-IF.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2537: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2537"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2537"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2538: ./prog"
at_fn_check_prepare_trace "run_misc.at:2538"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2538"
$at_failed && at_fn_log_failure
$at_traceon; }

# Run both executable and module as we have a different code generation here
{ set +x
$as_echo "$at_srcdir/run_misc.at:2540: \$COMPILE_MODULE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog.cob" "run_misc.at:2540"
( $at_check_trace; $COMPILE_MODULE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2540"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2541: \$COBCRUN prog"
at_fn_check_prepare_dynamic "$COBCRUN prog" "run_misc.at:2541"
( $at_check_trace; $COBCRUN prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2541"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_447
#AT_START_448
at_fn_group_banner 448 'run_misc.at:2546' \
  "ALLOCATE CHARACTERS INITIALIZED TO" "             " 4
at_xfail=no
(
  $as_echo "448. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  MYPTR        USAGE POINTER.
       LINKAGE          SECTION.
       01  MYFLD        PIC X(4).
       PROCEDURE        DIVISION.
       ASTART SECTION.
       A01.
           ALLOCATE 4 CHARACTERS
                    INITIALIZED TO "ABCD"
                    RETURNING MYPTR.
           SET ADDRESS OF MYFLD TO MYPTR.
           IF MYFLD NOT = "ABCD"
              DISPLAY MYFLD
              END-DISPLAY
           END-IF.
           FREE MYPTR.
           ALLOCATE 4 CHARACTERS
                    INITIALIZED TO ALL "Z"
                    RETURNING MYPTR.
           SET ADDRESS OF MYFLD TO MYPTR.
           IF MYFLD NOT = "ZZZZ"
              DISPLAY MYFLD
              END-DISPLAY
           END-IF.
           FREE MYPTR.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2581: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:2581"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2581"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2582: ./prog"
at_fn_check_prepare_trace "run_misc.at:2582"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2582"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_448
#AT_START_449
at_fn_group_banner 449 'run_misc.at:2587' \
  "Initialized value with defaultbyte" "             " 4
at_xfail=no
(
  $as_echo "449. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  MYFLD        PIC X(6).
       PROCEDURE        DIVISION.
       ASTART SECTION.
       A01.
           IF MYFLD NOT = "AAAAAA"
              DISPLAY MYFLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2606: \$COMPILE -fdefaultbyte=A prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fdefaultbyte=A prog.cob" "run_misc.at:2606"
( $at_check_trace; $COMPILE -fdefaultbyte=A prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2606"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2607: ./prog"
at_fn_check_prepare_trace "run_misc.at:2607"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2607"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_449
#AT_START_450
at_fn_group_banner 450 'run_misc.at:2612' \
  "CALL with OMITTED parameter" "                    " 4
at_xfail=no
(
  $as_echo "450. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 P1            PIC X.
       01 P2            PIC X(6).
       PROCEDURE        DIVISION USING P1 OPTIONAL P2.
           IF P2 NOT OMITTED
              DISPLAY P2
              END-DISPLAY
           END-IF.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 P1            PIC X    VALUE "A".
       PROCEDURE        DIVISION.
           CALL "callee" USING P1
           END-CALL.
           CALL "callee" USING P1 OMITTED
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2644: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:2644"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2644"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2645: \$COMPILE -o caller caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob" "run_misc.at:2645"
( $at_check_trace; $COMPILE -o caller caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2645"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2646: ./caller"
at_fn_check_prepare_trace "run_misc.at:2646"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2646"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_450
#AT_START_451
at_fn_group_banner 451 'run_misc.at:2651' \
  "CALL in from C, cob_call_params explicitly set" " " 4
at_xfail=no
(
  $as_echo "451. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 P1            PIC X.
       01 P2            PIC X(6).
       PROCEDURE        DIVISION USING P1 OPTIONAL P2.
           IF P2 NOT OMITTED
              DISPLAY 'UNEXPECTED P2: ' P2
              END-DISPLAY
           END-IF
           DISPLAY 'P1: ' P1 WITH NO ADVANCING
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


cat >caller.c <<'_ATEOF'

#include <libcob.h>


int callee (char *, char *);

#ifndef NULL
#define NULL (void*)0
#endif

int
main (int argc, char **argv)
{
	cob_global *cobol_global;
	char *p1 = "A";

	cob_init(argc, argv);
	cobol_global = cob_get_global_ptr ();
	cobol_global->cob_call_params = 1;
	return callee (p1, NULL);
}
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2694: \$COMPILE -o caller caller.c callee.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.c callee.cob" "run_misc.at:2694"
( $at_check_trace; $COMPILE -o caller caller.c callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2694"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2695: ./caller"
at_fn_check_prepare_trace "run_misc.at:2695"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "P1: A" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2695"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_451
#AT_START_452
at_fn_group_banner 452 'run_misc.at:2700' \
  "CALL in from C, cob_call_params unknown" "        " 4
at_xfail=no
(
  $as_echo "452. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 P1            PIC X.
       01 P2            PIC X(6).
       PROCEDURE        DIVISION USING P1 P2.
           IF P1 NOT EQUAL "A"
              DISPLAY P1
              END-DISPLAY
           END-IF.
           IF P2 NOT EQUAL "FROM C"
              DISPLAY P2
              END-DISPLAY
           ELSE
              DISPLAY "OK" WITH NO ADVANCING
              END-DISPLAY
           END-IF.
           EXIT PROGRAM.
_ATEOF


cat >caller.c <<'_ATEOF'

#include <libcob.h>

int callee (char *, char *);

int
main (int argc, char **argv)
{
	char *p1 = "A";
	char *p2 = "FROM C";

	cob_init(argc, argv);
	return callee (p1, p2);
}
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2741: \$COMPILE -o caller caller.c callee.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.c callee.cob" "run_misc.at:2741"
( $at_check_trace; $COMPILE -o caller caller.c callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2741"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2742: ./caller"
at_fn_check_prepare_trace "run_misc.at:2742"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2742"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_452
#AT_START_453
at_fn_group_banner 453 'run_misc.at:2747' \
  "CALL C with callback, PROCEDURE DIVISION EXTERN" "" 4
at_xfail=no
(
  $as_echo "453. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 CB            USAGE PROGRAM-POINTER.
       PROCEDURE        DIVISION.
           SET CB TO ENTRY "callback"
           CALL STATIC "cprog" USING BY VALUE CB
           END-CALL
           EXIT PROGRAM.
       END PROGRAM prog.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callback.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           CALL-CONVENTION 0 IS EXTERN.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 P1            USAGE POINTER.
       01 P2            USAGE BINARY-LONG.
       01 P3            PIC X(8).
       PROCEDURE        DIVISION EXTERN USING
                        BY VALUE P1 P2 BY REFERENCE P3.
           IF P1 NOT EQUAL ADDRESS OF P3
              DISPLAY P1
              END-DISPLAY
           END-IF
           IF P2 NOT EQUAL 42
              DISPLAY P2
              END-DISPLAY
           END-IF
           IF P3 NOT EQUAL "CALLBACK"
              DISPLAY P3
              END-DISPLAY
           END-IF
           EXIT PROGRAM.
_ATEOF


cat >cprog.c <<'_ATEOF'

#include <libcob.h>

int
cprog(void *cb)
{
    char *p1;
    int p2 = 42;
    char *p3 = "CALLBACK";

    p1 = p3;
    ((int (*)(char *, int, char *))cb)(p1, p2, p3);
	return 0;
}
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2807: \$COMPILE -Wno-unfinished -o prog prog.cob cprog.c"
at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -o prog prog.cob cprog.c" "run_misc.at:2807"
( $at_check_trace; $COMPILE -Wno-unfinished -o prog prog.cob cprog.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2807"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2808: ./prog"
at_fn_check_prepare_trace "run_misc.at:2808"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2808"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_453
#AT_START_454
at_fn_group_banner 454 'run_misc.at:2813' \
  "CALL C with callback, ENTRY-CONVENTION EXTERN" "  " 4
at_xfail=no
(
  $as_echo "454. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       OPTIONS.
           ENTRY-CONVENTION COBOL.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 CB            USAGE PROGRAM-POINTER.
       PROCEDURE        DIVISION.
           SET CB TO ENTRY "callback"
           CALL STATIC "cprog" USING BY VALUE CB
           END-CALL
           EXIT PROGRAM.
       END PROGRAM prog.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callback.
       OPTIONS.
           ENTRY-CONVENTION EXTERN.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 P1            USAGE POINTER.
       01 P2            USAGE BINARY-LONG.
       01 P3            PIC X(8).
       PROCEDURE        DIVISION USING
                        BY VALUE P1 P2 BY REFERENCE P3.
           IF P1 NOT EQUAL ADDRESS OF P3
              DISPLAY P1
              END-DISPLAY
           END-IF
           IF P2 NOT EQUAL 42
              DISPLAY P2
              END-DISPLAY
           END-IF
           IF P3 NOT EQUAL "CALLBACK"
              DISPLAY P3
              END-DISPLAY
           END-IF
           EXIT PROGRAM.
_ATEOF


cat >cprog.c <<'_ATEOF'

#include <libcob.h>

int
cprog(void *cb)
{
    char *p1;
    int p2 = 42;
    char *p3 = "CALLBACK";

    p1 = p3;
    ((int (*)(char *, int, char *))cb)(p1, p2, p3);
	return 0;
}
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2873: \$COMPILE -Wno-unfinished -o prog prog.cob cprog.c"
at_fn_check_prepare_dynamic "$COMPILE -Wno-unfinished -o prog prog.cob cprog.c" "run_misc.at:2873"
( $at_check_trace; $COMPILE -Wno-unfinished -o prog prog.cob cprog.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2873"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2874: ./prog"
at_fn_check_prepare_trace "run_misc.at:2874"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2874"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_454
#AT_START_455
at_fn_group_banner 455 'run_misc.at:2879' \
  "CALL in from C with init missing / implicit" "    " 4
at_xfail=no
(
  $as_echo "455. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 P1            PIC X.
       01 P2            PIC X(6).
       PROCEDURE        DIVISION USING P1 P2.
           IF P1 NOT EQUAL "A"
              DISPLAY P1
              END-DISPLAY
           END-IF.
           IF P2 NOT EQUAL "FROM C"
              DISPLAY P2
              END-DISPLAY
           ELSE
              DISPLAY "OK" WITH NO ADVANCING
              END-DISPLAY
           END-IF.
           EXIT PROGRAM.
_ATEOF


cat >caller.c <<'_ATEOF'

int callee (char *, char *);

int
main (int argc, char **argv)
{

	char *p1 = "A";
	char *p2 = "FROM C";

	return callee (p1, p2);
}
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2918: \$COMPILE -o caller caller.c callee.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.c callee.cob" "run_misc.at:2918"
( $at_check_trace; $COMPILE -o caller caller.c callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2918"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2919: ./caller"
at_fn_check_prepare_trace "run_misc.at:2919"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: cob_init() has not been called
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:2919"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:2923: \$COMPILE -fimplicit-init -o caller caller.c callee.cob"
at_fn_check_prepare_dynamic "$COMPILE -fimplicit-init -o caller caller.c callee.cob" "run_misc.at:2923"
( $at_check_trace; $COMPILE -fimplicit-init -o caller caller.c callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2923"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2924: ./caller"
at_fn_check_prepare_trace "run_misc.at:2924"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2924"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_455
#AT_START_456
at_fn_group_banner 456 'run_misc.at:2929' \
  "CALL STATIC C from COBOL" "                       " 4
at_xfail=no
(
  $as_echo "456. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 P1            PIC X VALUE "A".
       01 P2            PIC X(7).
       77 P2-COB        PIC X(7).
       PROCEDURE        DIVISION.
           CALL STATIC 'callee' USING P1 P2
           IF P1 NOT EQUAL "B"
              DISPLAY 'NOT A: ' P1
              END-DISPLAY
           END-IF
           UNSTRING P2 DELIMITED BY LOW-VALUE
              INTO P2-COB
           END-UNSTRING
           EVALUATE TRUE
              WHEN P2-COB NOT EQUAL "FROM C"
                 DISPLAY P2-COB '-' P2
                 END-DISPLAY
              WHEN RETURN-CODE NOT = 3
                 DISPLAY RETURN-CODE
                 END-DISPLAY
              WHEN OTHER
                 DISPLAY 'OK'  WITH NO ADVANCING
                 END-DISPLAY
                 MOVE 0  TO RETURN-CODE
           END-EVALUATE
           EXIT PROGRAM.
_ATEOF


cat >callee.c <<'_ATEOF'

#include <string.h>

int
callee (char *p1, char *p2)
{
	if (p1[0] == 'A') {
		p1[0] = 'B';
	}
	strncpy (p2, "FROM C", 6);

	return 3;
}
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:2979: \$COMPILE -o caller caller.cob callee.c"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob callee.c" "run_misc.at:2979"
( $at_check_trace; $COMPILE -o caller caller.cob callee.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2979"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:2980: ./caller"
at_fn_check_prepare_trace "run_misc.at:2980"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:2980"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_456
#AT_START_457
at_fn_group_banner 457 'run_misc.at:2985' \
  "ANY LENGTH (1)" "                                 " 4
at_xfail=no
(
  $as_echo "457. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 P2            PIC 99.
       LINKAGE          SECTION.
       01 P1            PIC X ANY LENGTH.
       PROCEDURE        DIVISION USING P1.
           MOVE LENGTH OF P1 TO P2.
           IF P2 NOT = 6
              DISPLAY P2
              END-DISPLAY
           END-IF.
           IF P1 NOT = "OKOKOK"
              DISPLAY P1
              END-DISPLAY
           END-IF.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 P1            PIC X(6) VALUE "OKOKOK".
       PROCEDURE        DIVISION.
           CALL "callee" USING P1
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3021: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:3021"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3021"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3022: \$COMPILE -o caller caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob" "run_misc.at:3022"
( $at_check_trace; $COMPILE -o caller caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3022"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3023: ./caller"
at_fn_check_prepare_trace "run_misc.at:3023"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3023"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_457
#AT_START_458
at_fn_group_banner 458 'run_misc.at:3028' \
  "ANY LENGTH (2)" "                                 " 4
at_xfail=no
(
  $as_echo "458. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 P2            PIC XXX.
       LINKAGE          SECTION.
       01 P1            PIC X ANY LENGTH.
       PROCEDURE        DIVISION USING P1.
           MOVE P1 TO P2.
           IF P2 NOT = "OK "
              DISPLAY P2
              END-DISPLAY
           END-IF.
           MOVE SPACE TO P1.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 P1            PIC X(2) VALUE "OK".
       PROCEDURE        DIVISION.
           CALL "callee" USING P1
           END-CALL.
           IF P1 NOT = SPACE
              DISPLAY P1
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3065: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:3065"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3065"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3066: \$COMPILE -o caller caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob" "run_misc.at:3066"
( $at_check_trace; $COMPILE -o caller caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3066"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3067: ./caller"
at_fn_check_prepare_trace "run_misc.at:3067"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3067"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_458
#AT_START_459
at_fn_group_banner 459 'run_misc.at:3072' \
  "access to BASED item without allocation" "        " 4
at_xfail=no
(
  $as_echo "459. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) BASED.
       PROCEDURE        DIVISION.
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             BASED.
          05 Y          PIC X(4).
       PROCEDURE        DIVISION.
           DISPLAY Y NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3100: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3100"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3100"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3101: \$COMPILE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_misc.at:3101"
( $at_check_trace; $COMPILE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3101"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:3103: ./prog"
at_fn_check_prepare_trace "run_misc.at:3103"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 8: BASED/LINKAGE item 'X' has NULL address
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:3103"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3106: ./prog2"
at_fn_check_prepare_trace "run_misc.at:3106"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog2.cob: 9: BASED/LINKAGE item 'X' (accessed by 'Y') has NULL address
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:3106"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_459
#AT_START_460
at_fn_group_banner 460 'run_misc.at:3113' \
  "access to OPTIONAL LINKAGE item not passed" "     " 4
at_xfail=no
(
  $as_echo "460. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4) VALUE '9876'.
       PROCEDURE        DIVISION.
           CALL 'callee' USING X
           END-CALL
           CALL 'callee' USING OMITTED
           END-CALL
           STOP RUN.
_ATEOF


cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 X.
          05 Y          PIC X(4).
       PROCEDURE        DIVISION USING OPTIONAL X.
           IF Y NOT = '9876'
              DISPLAY Y NO ADVANCING
              END-DISPLAY
           END-IF.
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3145: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:3145"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3145"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3146: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:3146"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3146"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:3148: ./caller"
at_fn_check_prepare_trace "run_misc.at:3148"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: callee.cob: 9: LINKAGE item 'X' (accessed by 'Y') not passed by caller
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:3148"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_460
#AT_START_461
at_fn_group_banner 461 'run_misc.at:3155' \
  "STOP RUN WITH NORMAL STATUS" "                    " 4
at_xfail=no
(
  $as_echo "461. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN WITH NORMAL STATUS.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3167: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3167"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3167"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3168: ./prog"
at_fn_check_prepare_trace "run_misc.at:3168"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3168"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_461
#AT_START_462
at_fn_group_banner 462 'run_misc.at:3173' \
  "STOP RUN WITH ERROR STATUS" "                     " 4
at_xfail=no
(
  $as_echo "462. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN WITH ERROR STATUS.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3185: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3185"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3185"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3186: ./prog"
at_fn_check_prepare_trace "run_misc.at:3186"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:3186"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_462
#AT_START_463
at_fn_group_banner 463 'run_misc.at:3191' \
  "DECLARATIVES procedure referencing" "             " 4
at_xfail=no
(
  $as_echo "463. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN "./TEST-FILE".
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(10).
       WORKING-STORAGE  SECTION.
       01 Z             USAGE BINARY-LONG VALUE 0.
       PROCEDURE        DIVISION.
       DECLARATIVES.
       P01 SECTION.
           USE AFTER ERROR PROCEDURE ON TEST-FILE.
       P0101.
           ADD 1 TO Z.
       END DECLARATIVES.
       MP01 SECTION.
       MP0101.
           OPEN INPUT TEST-FILE.
           PERFORM P0101.
           IF Z NOT = 2
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3225: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3225"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3225"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3226: ./prog"
at_fn_check_prepare_trace "run_misc.at:3226"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3226"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_463
#AT_START_464
at_fn_group_banner 464 'run_misc.at:3231' \
  "DECLARATIVES procedure referencing (multiple)" "  " 4
at_xfail=no
(
  $as_echo "464. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN "./TEST-FILE".
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(10).
       WORKING-STORAGE  SECTION.
       01 Z             USAGE BINARY-LONG VALUE 0.
       PROCEDURE        DIVISION.
       DECLARATIVES.
       P01 SECTION.
           USE AFTER ERROR PROCEDURE ON TEST-FILE.
       P0101.
           ADD 1 TO Z.
       P02 SECTION.
           USE AFTER ERROR PROCEDURE ON OUTPUT.
       P0201.
           ADD 1 TO Z.
       END DECLARATIVES.
       MP01 SECTION.
       MP0101.
           OPEN  INPUT  TEST-FILE.
           PERFORM P01 THRU P02.
           IF Z NOT = 3
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3269: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3269"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3269"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3270: ./prog"
at_fn_check_prepare_trace "run_misc.at:3270"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3270"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_464
#AT_START_465
at_fn_group_banner 465 'run_misc.at:3275' \
  "SYMBOLIC clause" "                                " 4
at_xfail=no
(
  $as_echo "465. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           ALPHABET A-EBC IS EBCDIC
           ALPHABET A-ASC IS ASCII
           SYMBOLIC Z-EBC IS 241 IN A-EBC
           SYMBOLIC Z-ASC IS  49 IN A-ASC
           .
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            PIC X.
       PROCEDURE        DIVISION.
           MOVE Z-ASC   TO Z.
           IF Z NOT = "0"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           MOVE Z-EBC   TO Z.
           IF Z NOT = "0"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3306: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3306"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3306"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3307: ./prog"
at_fn_check_prepare_trace "run_misc.at:3307"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3307"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_465
#AT_START_466
at_fn_group_banner 466 'run_misc.at:3312' \
  "OCCURS clause with 1 entry" "                     " 4
at_xfail=no
(
  $as_echo "466. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  D1.
           03  FILLER   OCCURS 1.
               05 D1-ENTRY   PIC X(03) value '123'.
       01  D2.
           03  D2-ENTRY   PIC X(03)  value 'ABC'  OCCURS 1.
       01  D1TOR.
           03  FILLER   PIC X(03) value '456'.
       01  D1-R         REDEFINES D1TOR.
           03  FILLER   OCCURS 1.
               05 D1-R-ENTRY   PIC X(03).
       01  D2TOR.
           03  FILLER   PIC X(03) value 'DEF'.
       01  D2-R         REDEFINES D2TOR.
           03  D2-R-ENTRY   PIC X(03)   OCCURS 1.

       PROCEDURE        DIVISION.
           IF D1-ENTRY (1) NOT = "123"
              DISPLAY D1-ENTRY (1)
              END-DISPLAY
           END-IF.
           IF D2-ENTRY (1) NOT = "ABC"
              DISPLAY D2-ENTRY (1)
              END-DISPLAY
           END-IF.
           IF D1-R-ENTRY (1) NOT = "456"
              DISPLAY D1-R-ENTRY (1)
              END-DISPLAY
           END-IF.
           IF D2-R-ENTRY (1) NOT = "DEF"
              DISPLAY D2-R-ENTRY (1)
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3355: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3355"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3355"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3356: ./prog"
at_fn_check_prepare_trace "run_misc.at:3356"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3356"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_466
#AT_START_467
at_fn_group_banner 467 'run_misc.at:3361' \
  "Computing of different USAGEs w/o decimal point" "" 4
at_xfail=no
(
  $as_echo "467. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. 'prog'.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.

      *
       77  BCL-A           BINARY-C-LONG    VALUE 1.
       77  BCL-B           BINARY-C-LONG    VALUE 10.
       77  BCL-RES         BINARY-C-LONG.
      *
       77  BC-A            BINARY-CHAR      VALUE 1.
       77  BC-B            BINARY-CHAR      VALUE 10.
       77  BC-RES          BINARY-CHAR.
      *
       77  BD-A            BINARY-DOUBLE    VALUE 1.
       77  BD-B            BINARY-DOUBLE    VALUE 10.
       77  BD-RES          BINARY-DOUBLE.
      *
       77  BL-A            BINARY-LONG      VALUE 1.
       77  BL-B            BINARY-LONG      VALUE 10.
       77  BL-RES          BINARY-LONG.
      *
       77  C-A     PIC S99 COMP             VALUE 1.
       77  C-B     PIC S99 COMP             VALUE 10.
       77  C-RES   PIC S99 COMP.
      *
       77  C1-A            COMP-1           VALUE 1.
       77  C1-B            COMP-1           VALUE 10.
       77  C1-RES          COMP-1.
      *
       77  C2-A            COMP-2           VALUE 1.
       77  C2-B            COMP-2           VALUE 10.
       77  C2-RES          COMP-2.
      *
       77  C3-A    PIC S99 COMP-3           VALUE 1.
       77  C3-B    PIC S99 COMP-3           VALUE 10.
       77  C3-RES  PIC S99 COMP-3.
      *
       77  C5-A    PIC S99 COMP-5           VALUE 1.
       77  C5-B    PIC S99 COMP-5           VALUE 10.
       77  C5-RES  PIC S99 COMP-5.
      *
       77  C6-A    PIC  99 COMP-6           VALUE 1.
       77  C6-B    PIC  99 COMP-6           VALUE 10.
       77  C6-RES  PIC  99 COMP-6.
      *
       77  D-A     PIC  S99                 VALUE 1.
       77  D-B     PIC  S99                 VALUE 10.
       77  D-RES   PIC  S99.
      *
       77  FD16-A          FLOAT-DECIMAL-16 VALUE 1.
       77  FD16-B          FLOAT-DECIMAL-16 VALUE 10.
       77  FD16-RES        FLOAT-DECIMAL-16.
      *
       77  FD34-A          FLOAT-DECIMAL-34 VALUE 1.
       77  FD34-B          FLOAT-DECIMAL-34 VALUE 10.
       77  FD34-RES        FLOAT-DECIMAL-34.
      *
       77  FL-A            FLOAT-LONG       VALUE 1.
       77  FL-B            FLOAT-LONG       VALUE 10.
       77  FL-RES          FLOAT-LONG.
      *
       77  FS-A            FLOAT-SHORT      VALUE 1.
       77  FS-B            FLOAT-SHORT      VALUE 10.
       77  FS-RES          FLOAT-SHORT.
      *
       PROCEDURE DIVISION.
      *
           ADD  BCL-B  TO BCL-A END-ADD.
           MOVE BCL-A  TO BCL-RES.
           IF BCL-RES NOT = 11
              DISPLAY 'ERROR BINARY-C-LONG + BINARY-C-LONG'
              END-DISPLAY
           END-IF.
           MOVE 1     TO BCL-A.
           ADD  10    TO BCL-A END-ADD.
           MOVE BCL-A  TO BCL-RES.
           IF BCL-RES NOT = 11
              DISPLAY 'ERROR BINARY-C-LONG + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO BCL-A.
           SUBTRACT BCL-B FROM BCL-A END-SUBTRACT.
           MOVE BCL-A  TO BCL-RES.
           IF BCL-RES NOT = 1
              DISPLAY 'ERROR BINARY-C-LONG - BINARY-C-LONG'
              END-DISPLAY
           END-IF.
           MOVE 11    TO BCL-A.
           SUBTRACT 10   FROM BCL-A END-SUBTRACT.
           MOVE BCL-A  TO BCL-RES.
           IF BCL-RES NOT = 1
              DISPLAY 'ERROR BINARY-C-LONG - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  BC-B  TO BC-A END-ADD.
           MOVE BC-A  TO BC-RES.
           IF BC-RES NOT = 11
              DISPLAY 'ERROR BINARY-CHAR + BINARY-CHAR'
              END-DISPLAY
           END-IF.
           MOVE 1     TO BC-A.
           ADD  10    TO BC-A END-ADD.
           MOVE BC-A  TO BC-RES.
           IF BC-RES NOT = 11
              DISPLAY 'ERROR BINARY-CHAR + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO BC-A.
           SUBTRACT BC-B FROM BC-A END-SUBTRACT.
           MOVE BC-A  TO BC-RES.
           IF BC-RES NOT = 1
              DISPLAY 'ERROR BINARY-CHAR - BINARY-CHAR'
              END-DISPLAY
           END-IF.
           MOVE 11    TO BC-A.
           SUBTRACT 10   FROM BC-A END-SUBTRACT.
           MOVE BC-A  TO BC-RES.
           IF BC-RES NOT = 1
              DISPLAY 'ERROR BINARY-CHAR - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  BD-B  TO BD-A END-ADD.
           MOVE BD-A  TO BD-RES.
           IF BD-RES NOT = 11
              DISPLAY 'ERROR BINARY-DOUBLE + BINARY-DOUBLE'
              END-DISPLAY
           END-IF.
           MOVE 1     TO BD-A.
           ADD  10    TO BD-A END-ADD.
           MOVE BD-A  TO BD-RES.
           IF BD-RES NOT = 11
              DISPLAY 'ERROR BINARY-DOUBLE + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO BD-A.
           SUBTRACT BD-B FROM BD-A END-SUBTRACT.
           MOVE BD-A  TO BD-RES.
           IF BD-RES NOT = 1
              DISPLAY 'ERROR BINARY-DOUBLE - BINARY-DOUBLE'
              END-DISPLAY
           END-IF.
           MOVE 11    TO BD-A.
           SUBTRACT 10   FROM BD-A END-SUBTRACT.
           MOVE BD-A  TO BD-RES.
           IF BD-RES NOT = 1
              DISPLAY 'ERROR BINARY-DOUBLE - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  BL-B  TO BL-A END-ADD.
           MOVE BL-A  TO BL-RES.
           IF BL-RES NOT = 11
              DISPLAY 'ERROR BINARY-LONG + BINARY-LONG'
              END-DISPLAY
           END-IF.
           MOVE 1     TO BL-A.
           ADD  10    TO BL-A END-ADD.
           MOVE BL-A  TO BL-RES.
           IF BL-RES NOT = 11
              DISPLAY 'ERROR BINARY-LONG + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO BL-A.
           SUBTRACT BL-B FROM BL-A END-SUBTRACT.
           MOVE BL-A  TO BL-RES.
           IF BL-RES NOT = 1
              DISPLAY 'ERROR BINARY-LONG - BINARY-LONG'
              END-DISPLAY
           END-IF.
           MOVE 11    TO BL-A.
           SUBTRACT 10   FROM BL-A END-SUBTRACT.
           MOVE BL-A  TO BL-RES.
           IF BL-RES NOT = 1
              DISPLAY 'ERROR BINARY-LONG - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C-B  TO C-A END-ADD.
           MOVE C-A  TO C-RES.
           IF C-RES NOT = 11
              DISPLAY 'ERROR COMP + COMP'
              END-DISPLAY
           END-IF.
           MOVE 1     TO C-A.
           ADD  10    TO C-A END-ADD.
           MOVE C-A  TO C-RES.
           IF C-RES NOT = 11
              DISPLAY 'ERROR COMP + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C-A.
           SUBTRACT C-B FROM C-A END-SUBTRACT.
           MOVE C-A  TO C-RES.
           IF C-RES NOT = 1
              DISPLAY 'ERROR COMP - COMP'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C-A.
           SUBTRACT 10   FROM C-A END-SUBTRACT.
           MOVE C-A  TO C-RES.
           IF C-RES NOT = 1
              DISPLAY 'ERROR COMP - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C1-B  TO C1-A END-ADD.
           MOVE C1-A  TO C1-RES.
           IF C1-RES NOT = 11
              DISPLAY 'ERROR COMP-1 + COMP-1'
              END-DISPLAY
           END-IF.
           MOVE 1     TO C1-A.
           ADD  10    TO C1-A END-ADD.
           MOVE C1-A  TO C1-RES.
           IF C1-RES NOT = 11
              DISPLAY 'ERROR COMP-1 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C1-A.
           SUBTRACT C1-B FROM C1-A END-SUBTRACT.
           MOVE C1-A  TO C1-RES.
           IF C1-RES NOT = 1
              DISPLAY 'ERROR COMP-1 - COMP-1'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C1-A.
           SUBTRACT 10   FROM C1-A END-SUBTRACT.
           MOVE C1-A  TO C1-RES.
           IF C1-RES NOT = 1
              DISPLAY 'ERROR COMP-1 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C2-B  TO C2-A END-ADD.
           MOVE C2-A  TO C2-RES.
           IF C2-RES NOT = 11
              DISPLAY 'ERROR COMP-2 + COMP-2'
              END-DISPLAY
           END-IF.
           MOVE 1     TO C2-A.
           ADD  10    TO C2-A END-ADD.
           MOVE C2-A  TO C2-RES.
           IF C2-RES NOT = 11
              DISPLAY 'ERROR COMP-2 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C2-A.
           SUBTRACT C2-B FROM C2-A END-SUBTRACT.
           MOVE C2-A  TO C2-RES.
           IF C2-RES NOT = 1
              DISPLAY 'ERROR COMP-2 - COMP-2'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C2-A.
           SUBTRACT 10   FROM C2-A END-SUBTRACT.
           MOVE C2-A  TO C2-RES.
           IF C2-RES NOT = 1
              DISPLAY 'ERROR COMP-2 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C3-B  TO C3-A END-ADD.
           MOVE C3-A  TO C3-RES.
           IF C3-RES NOT = 11
              DISPLAY 'ERROR COMP-3 + COMP-3'
              END-DISPLAY
           END-IF.
           MOVE 1     TO C3-A.
           ADD  10    TO C3-A END-ADD.
           MOVE C3-A  TO C3-RES.
           IF C3-RES NOT = 11
              DISPLAY 'ERROR COMP-3 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C3-A.
           SUBTRACT C3-B FROM C3-A END-SUBTRACT.
           MOVE C3-A  TO C3-RES.
           IF C3-RES NOT = 1
              DISPLAY 'ERROR COMP-3 - COMP-3'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C3-A.
           SUBTRACT 10   FROM C3-A END-SUBTRACT.
           MOVE C3-A  TO C3-RES.
           IF C3-RES NOT = 1
              DISPLAY 'ERROR COMP-3 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C5-B  TO C5-A END-ADD.
           MOVE C5-A  TO C5-RES.
           IF C5-RES NOT = 11
              DISPLAY 'ERROR COMP-5 + COMP-5'
              END-DISPLAY
           END-IF.
           MOVE 1     TO C5-A.
           ADD  10    TO C5-A END-ADD.
           MOVE C5-A  TO C5-RES.
           IF C5-RES NOT = 11
              DISPLAY 'ERROR COMP-5 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C5-A.
           SUBTRACT C5-B FROM C5-A END-SUBTRACT.
           MOVE C5-A  TO C5-RES.
           IF C5-RES NOT = 1
              DISPLAY 'ERROR COMP-5 - COMP-5'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C5-A.
           SUBTRACT 10   FROM C5-A END-SUBTRACT.
           MOVE C5-A  TO C5-RES.
           IF C5-RES NOT = 1
              DISPLAY 'ERROR COMP-5 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C6-B  TO C6-A END-ADD.
           MOVE C6-A  TO C6-RES.
           IF C6-RES NOT = 11
              DISPLAY 'ERROR COMP-6 + COMP-6'
              END-DISPLAY
           END-IF.
           MOVE 1     TO C6-A.
           ADD  10    TO C6-A END-ADD.
           MOVE C6-A  TO C6-RES.
           IF C6-RES NOT = 11
              DISPLAY 'ERROR COMP-6 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C6-A.
           SUBTRACT C6-B FROM C6-A END-SUBTRACT.
           MOVE C6-A  TO C6-RES.
           IF C6-RES NOT = 1
              DISPLAY 'ERROR COMP-6 - COMP-6'
              END-DISPLAY
           END-IF.
           MOVE 11    TO C6-A.
           SUBTRACT 10   FROM C6-A END-SUBTRACT.
           MOVE C6-A  TO C6-RES.
           IF C6-RES NOT = 1
              DISPLAY 'ERROR COMP-6 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  D-B  TO D-A END-ADD.
           MOVE D-A  TO D-RES.
           IF D-RES NOT = 11
              DISPLAY 'ERROR DISPLAY + DISPLAY'
              END-DISPLAY
           END-IF.
           MOVE 1     TO D-A.
           ADD  10    TO D-A END-ADD.
           MOVE D-A  TO D-RES.
           IF D-RES NOT = 11
              DISPLAY 'ERROR DISPLAY + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO D-A.
           SUBTRACT D-B FROM D-A END-SUBTRACT.
           MOVE D-A  TO D-RES.
           IF D-RES NOT = 1
              DISPLAY 'ERROR DISPLAY - DISPLAY'
              END-DISPLAY
           END-IF.
           MOVE 11    TO D-A.
           SUBTRACT 10   FROM D-A END-SUBTRACT.
           MOVE D-A  TO D-RES.
           IF D-RES NOT = 1
              DISPLAY 'ERROR DISPLAY - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  FD16-B  TO FD16-A END-ADD.
           MOVE FD16-A  TO FD16-RES.
           IF FD16-RES NOT = 11
              DISPLAY 'ERROR FLOAT-DECIMAL-16 + FLOAT-DECIMAL-16'
              END-DISPLAY
           END-IF.
           MOVE 1     TO FD16-A.
           ADD  10    TO FD16-A END-ADD.
           MOVE FD16-A  TO FD16-RES.
           IF FD16-RES NOT = 11
              DISPLAY 'ERROR FLOAT-DECIMAL-16 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO FD16-A.
           SUBTRACT FD16-B FROM FD16-A END-SUBTRACT.
           MOVE FD16-A  TO FD16-RES.
           IF FD16-RES NOT = 1
              DISPLAY 'ERROR FLOAT-DECIMAL-16 - FLOAT-DECIMAL-16'
              END-DISPLAY
           END-IF.
           MOVE 11    TO FD16-A.
           SUBTRACT 10   FROM FD16-A END-SUBTRACT.
           MOVE FD16-A  TO FD16-RES.
           IF FD16-RES NOT = 1
              DISPLAY 'ERROR FLOAT-DECIMAL-16 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  FD34-B  TO FD34-A END-ADD.
           MOVE FD34-A  TO FD34-RES.
           IF FD34-RES NOT = 11
              DISPLAY 'ERROR FLOAT-DECIMAL-34 + FLOAT-DECIMAL-34'
              END-DISPLAY
           END-IF.
           MOVE 1     TO FD34-A.
           ADD  10    TO FD34-A END-ADD.
           MOVE FD34-A  TO FD34-RES.
           IF FD34-RES NOT = 11
              DISPLAY 'ERROR FLOAT-DECIMAL-34 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO FD34-A.
           SUBTRACT FD34-B FROM FD34-A END-SUBTRACT.
           MOVE FD34-A  TO FD34-RES.
           IF FD34-RES NOT = 1
              DISPLAY 'ERROR FLOAT-DECIMAL-34 - FLOAT-DECIMAL-34'
              END-DISPLAY
           END-IF.
           MOVE 11    TO FD34-A.
           SUBTRACT 10   FROM FD34-A END-SUBTRACT.
           MOVE FD34-A  TO FD34-RES.
           IF FD34-RES NOT = 1
              DISPLAY 'ERROR FLOAT-DECIMAL-34 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  FL-B  TO FL-A END-ADD.
           MOVE FL-A  TO FL-RES.
           IF FL-RES NOT = 11
              DISPLAY 'ERROR FLOAT-LONG + FLOAT-LONG'
              END-DISPLAY
           END-IF.
           MOVE 1     TO FL-A.
           ADD  10    TO FL-A END-ADD.
           MOVE FL-A  TO FL-RES.
           IF FL-RES NOT = 11
              DISPLAY 'ERROR FLOAT-LONG + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO FL-A.
           SUBTRACT FL-B FROM FL-A END-SUBTRACT.
           MOVE FL-A  TO FL-RES.
           IF FL-RES NOT = 1
              DISPLAY 'ERROR FLOAT-LONG - FLOAT-LONG'
              END-DISPLAY
           END-IF.
           MOVE 11    TO FL-A.
           SUBTRACT 10   FROM FL-A END-SUBTRACT.
           MOVE FL-A  TO FL-RES.
           IF FL-RES NOT = 1
              DISPLAY 'ERROR FLOAT-LONG - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  FS-B  TO FS-A END-ADD.
           MOVE FS-A  TO FS-RES.
           IF FS-RES NOT = 11
              DISPLAY 'ERROR FLOAT-SHORT + FLOAT-SHORT'
              END-DISPLAY
           END-IF.
           MOVE 1     TO FS-A.
           ADD  10    TO FS-A END-ADD.
           MOVE FS-A  TO FS-RES.
           IF FS-RES NOT = 11
              DISPLAY 'ERROR FLOAT-SHORT + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11    TO FS-A.
           SUBTRACT FS-B FROM FS-A END-SUBTRACT.
           MOVE FS-A  TO FS-RES.
           IF FS-RES NOT = 1
              DISPLAY 'ERROR FLOAT-SHORT - FLOAT-SHORT'
              END-DISPLAY
           END-IF.
           MOVE 11    TO FS-A.
           SUBTRACT 10   FROM FS-A END-SUBTRACT.
           MOVE FS-A  TO FS-RES.
           IF FS-RES NOT = 1
              DISPLAY 'ERROR FLOAT-SHORT - NUM'
              END-DISPLAY
           END-IF.
      *
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:3860: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:3860"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3860"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3861: ./prog"
at_fn_check_prepare_trace "run_misc.at:3861"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3861"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:3863: \$COMPILE -fnotrunc prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_misc.at:3863"
( $at_check_trace; $COMPILE -fnotrunc prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3863"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:3864: ./prog"
at_fn_check_prepare_trace "run_misc.at:3864"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:3864"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_467
#AT_START_468
at_fn_group_banner 468 'run_misc.at:3869' \
  "Computing of different USAGEs w/- decimal point" "" 4
at_xfail=no
(
  $as_echo "468. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. 'prog'.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.

      *
       77  BCL-A           BINARY-C-LONG    VALUE 1.0.
       77  BCL-B           BINARY-C-LONG    VALUE 10.0.
       77  BCL-RES         BINARY-C-LONG.
      *
       77  BC-A            BINARY-CHAR      VALUE 1.0.
       77  BC-B            BINARY-CHAR      VALUE 10.0.
       77  BC-RES          BINARY-CHAR.
      *
       77  BD-A            BINARY-DOUBLE    VALUE 1.0.
       77  BD-B            BINARY-DOUBLE    VALUE 10.0.
       77  BD-RES          BINARY-DOUBLE.
      *
       77  BL-A            BINARY-LONG      VALUE 1.0.
       77  BL-B            BINARY-LONG      VALUE 10.0.
       77  BL-RES          BINARY-LONG.
      *
       77  C-A     PIC S99 COMP             VALUE 1.0.
       77  C-B     PIC S99 COMP             VALUE 10.0.
       77  C-RES   PIC S99 COMP.
      *
       77  C1-A            COMP-1           VALUE 1.0.
       77  C1-B            COMP-1           VALUE 10.0.
       77  C1-RES          COMP-1.
      *
       77  C2-A            COMP-2           VALUE 1.0.
       77  C2-B            COMP-2           VALUE 10.0.
       77  C2-RES          COMP-2.
      *
       77  C3-A    PIC S99 COMP-3           VALUE 1.0.
       77  C3-B    PIC S99 COMP-3           VALUE 10.0.
       77  C3-RES  PIC S99 COMP-3.
      *
       77  C5-A    PIC S99 COMP-5           VALUE 1.0.
       77  C5-B    PIC S99 COMP-5           VALUE 10.0.
       77  C5-RES  PIC S99 COMP-5.
      *
       77  C6-A    PIC  99 COMP-6           VALUE 1.0.
       77  C6-B    PIC  99 COMP-6           VALUE 10.0.
       77  C6-RES  PIC  99 COMP-6.
      *
       77  D-A     PIC  S99                 VALUE 1.0.
       77  D-B     PIC  S99                 VALUE 10.0.
       77  D-RES   PIC  S99.
      *
       77  FD16-A          FLOAT-DECIMAL-16 VALUE 1.0.
       77  FD16-B          FLOAT-DECIMAL-16 VALUE 10.0.
       77  FD16-RES        FLOAT-DECIMAL-16.
      *
       77  FD34-A          FLOAT-DECIMAL-34 VALUE 1.0.
       77  FD34-B          FLOAT-DECIMAL-34 VALUE 10.0.
       77  FD34-RES        FLOAT-DECIMAL-34.
      *
       77  FL-A            FLOAT-LONG       VALUE 1.0.
       77  FL-B            FLOAT-LONG       VALUE 10.0.
       77  FL-RES          FLOAT-LONG.
      *
       77  FS-A            FLOAT-SHORT      VALUE 1.0.
       77  FS-B            FLOAT-SHORT      VALUE 10.0.
       77  FS-RES          FLOAT-SHORT.
      *
       PROCEDURE DIVISION.
      *
           ADD  BCL-B  TO BCL-A END-ADD.
           MOVE BCL-A  TO BCL-RES.
           IF BCL-RES NOT = 11.0
              DISPLAY 'ERROR BINARY-C-LONG + BINARY-C-LONG'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO BCL-A.
           ADD  10.0  TO BCL-A END-ADD.
           MOVE BCL-A  TO BCL-RES.
           IF BCL-RES NOT = 11.0
              DISPLAY 'ERROR BINARY-C-LONG + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO BCL-A.
           SUBTRACT BCL-B FROM BCL-A END-SUBTRACT.
           MOVE BCL-A  TO BCL-RES.
           IF BCL-RES NOT = 1.0
              DISPLAY 'ERROR BINARY-C-LONG - BINARY-C-LONG'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO BCL-A.
           SUBTRACT 10.0 FROM BCL-A END-SUBTRACT.
           MOVE BCL-A  TO BCL-RES.
           IF BCL-RES NOT = 1.0
              DISPLAY 'ERROR BINARY-C-LONG - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  BC-B  TO BC-A END-ADD.
           MOVE BC-A  TO BC-RES.
           IF BC-RES NOT = 11.0
              DISPLAY 'ERROR BINARY-CHAR + BINARY-CHAR'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO BC-A.
           ADD  10.0  TO BC-A END-ADD.
           MOVE BC-A  TO BC-RES.
           IF BC-RES NOT = 11.0
              DISPLAY 'ERROR BINARY-CHAR + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO BC-A.
           SUBTRACT BC-B FROM BC-A END-SUBTRACT.
           MOVE BC-A  TO BC-RES.
           IF BC-RES NOT = 1.0
              DISPLAY 'ERROR BINARY-CHAR - BINARY-CHAR'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO BC-A.
           SUBTRACT 10.0 FROM BC-A END-SUBTRACT.
           MOVE BC-A  TO BC-RES.
           IF BC-RES NOT = 1.0
              DISPLAY 'ERROR BINARY-CHAR - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  BD-B  TO BD-A END-ADD.
           MOVE BD-A  TO BD-RES.
           IF BD-RES NOT = 11.0
              DISPLAY 'ERROR BINARY-DOUBLE + BINARY-DOUBLE'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO BD-A.
           ADD  10.0  TO BD-A END-ADD.
           MOVE BD-A  TO BD-RES.
           IF BD-RES NOT = 11.0
              DISPLAY 'ERROR BINARY-DOUBLE + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO BD-A.
           SUBTRACT BD-B FROM BD-A END-SUBTRACT.
           MOVE BD-A  TO BD-RES.
           IF BD-RES NOT = 1.0
              DISPLAY 'ERROR BINARY-DOUBLE - BINARY-DOUBLE'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO BD-A.
           SUBTRACT 10.0 FROM BD-A END-SUBTRACT.
           MOVE BD-A  TO BD-RES.
           IF BD-RES NOT = 1.0
              DISPLAY 'ERROR BINARY-DOUBLE - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  BL-B  TO BL-A END-ADD.
           MOVE BL-A  TO BL-RES.
           IF BL-RES NOT = 11.0
              DISPLAY 'ERROR BINARY-LONG + BINARY-LONG'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO BL-A.
           ADD  10.0  TO BL-A END-ADD.
           MOVE BL-A  TO BL-RES.
           IF BL-RES NOT = 11.0
              DISPLAY 'ERROR BINARY-LONG + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO BL-A.
           SUBTRACT BL-B FROM BL-A END-SUBTRACT.
           MOVE BL-A  TO BL-RES.
           IF BL-RES NOT = 1.0
              DISPLAY 'ERROR BINARY-LONG - BINARY-LONG'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO BL-A.
           SUBTRACT 10.0 FROM BL-A END-SUBTRACT.
           MOVE BL-A  TO BL-RES.
           IF BL-RES NOT = 1.0
              DISPLAY 'ERROR BINARY-LONG - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C-B  TO C-A END-ADD.
           MOVE C-A  TO C-RES.
           IF C-RES NOT = 11.0
              DISPLAY 'ERROR COMP + COMP'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO C-A.
           ADD  10.0  TO C-A END-ADD.
           MOVE C-A  TO C-RES.
           IF C-RES NOT = 11.0
              DISPLAY 'ERROR COMP + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C-A.
           SUBTRACT C-B FROM C-A END-SUBTRACT.
           MOVE C-A  TO C-RES.
           IF C-RES NOT = 1.0
              DISPLAY 'ERROR COMP - COMP'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C-A.
           SUBTRACT 10.0 FROM C-A END-SUBTRACT.
           MOVE C-A  TO C-RES.
           IF C-RES NOT = 1.0
              DISPLAY 'ERROR COMP - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C1-B  TO C1-A END-ADD.
           MOVE C1-A  TO C1-RES.
           IF C1-RES NOT = 11.0
              DISPLAY 'ERROR COMP-1 + COMP-1'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO C1-A.
           ADD  10.0  TO C1-A END-ADD.
           MOVE C1-A  TO C1-RES.
           IF C1-RES NOT = 11.0
              DISPLAY 'ERROR COMP-1 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C1-A.
           SUBTRACT C1-B FROM C1-A END-SUBTRACT.
           MOVE C1-A  TO C1-RES.
           IF C1-RES NOT = 1.0
              DISPLAY 'ERROR COMP-1 - COMP-1'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C1-A.
           SUBTRACT 10.0 FROM C1-A END-SUBTRACT.
           MOVE C1-A  TO C1-RES.
           IF C1-RES NOT = 1.0
              DISPLAY 'ERROR COMP-1 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C2-B  TO C2-A END-ADD.
           MOVE C2-A  TO C2-RES.
           IF C2-RES NOT = 11.0
              DISPLAY 'ERROR COMP-2 + COMP-2'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO C2-A.
           ADD  10.0  TO C2-A END-ADD.
           MOVE C2-A  TO C2-RES.
           IF C2-RES NOT = 11.0
              DISPLAY 'ERROR COMP-2 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C2-A.
           SUBTRACT C2-B FROM C2-A END-SUBTRACT.
           MOVE C2-A  TO C2-RES.
           IF C2-RES NOT = 1.0
              DISPLAY 'ERROR COMP-2 - COMP-2'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C2-A.
           SUBTRACT 10.0 FROM C2-A END-SUBTRACT.
           MOVE C2-A  TO C2-RES.
           IF C2-RES NOT = 1.0
              DISPLAY 'ERROR COMP-2 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C3-B  TO C3-A END-ADD.
           MOVE C3-A  TO C3-RES.
           IF C3-RES NOT = 11.0
              DISPLAY 'ERROR COMP-3 + COMP-3'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO C3-A.
           ADD  10.0  TO C3-A END-ADD.
           MOVE C3-A  TO C3-RES.
           IF C3-RES NOT = 11.0
              DISPLAY 'ERROR COMP-3 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C3-A.
           SUBTRACT C3-B FROM C3-A END-SUBTRACT.
           MOVE C3-A  TO C3-RES.
           IF C3-RES NOT = 1.0
              DISPLAY 'ERROR COMP-3 - COMP-3'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C3-A.
           SUBTRACT 10.0 FROM C3-A END-SUBTRACT.
           MOVE C3-A  TO C3-RES.
           IF C3-RES NOT = 1.0
              DISPLAY 'ERROR COMP-3 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C5-B  TO C5-A END-ADD.
           MOVE C5-A  TO C5-RES.
           IF C5-RES NOT = 11.0
              DISPLAY 'ERROR COMP-5 + COMP-5'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO C5-A.
           ADD  10.0  TO C5-A END-ADD.
           MOVE C5-A  TO C5-RES.
           IF C5-RES NOT = 11.0
              DISPLAY 'ERROR COMP-5 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C5-A.
           SUBTRACT C5-B FROM C5-A END-SUBTRACT.
           MOVE C5-A  TO C5-RES.
           IF C5-RES NOT = 1.0
              DISPLAY 'ERROR COMP-5 - COMP-5'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C5-A.
           SUBTRACT 10.0 FROM C5-A END-SUBTRACT.
           MOVE C5-A  TO C5-RES.
           IF C5-RES NOT = 1.0
              DISPLAY 'ERROR COMP-5 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  C6-B  TO C6-A END-ADD.
           MOVE C6-A  TO C6-RES.
           IF C6-RES NOT = 11.0
              DISPLAY 'ERROR COMP-6 + COMP-6'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO C6-A.
           ADD  10.0  TO C6-A END-ADD.
           MOVE C6-A  TO C6-RES.
           IF C6-RES NOT = 11.0
              DISPLAY 'ERROR COMP-6 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C6-A.
           SUBTRACT C6-B FROM C6-A END-SUBTRACT.
           MOVE C6-A  TO C6-RES.
           IF C6-RES NOT = 1.0
              DISPLAY 'ERROR COMP-6 - COMP-6'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO C6-A.
           SUBTRACT 10.0 FROM C6-A END-SUBTRACT.
           MOVE C6-A  TO C6-RES.
           IF C6-RES NOT = 1.0
              DISPLAY 'ERROR COMP-6 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  D-B  TO D-A END-ADD.
           MOVE D-A  TO D-RES.
           IF D-RES NOT = 11.0
              DISPLAY 'ERROR DISPLAY + DISPLAY'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO D-A.
           ADD  10.0  TO D-A END-ADD.
           MOVE D-A  TO D-RES.
           IF D-RES NOT = 11.0
              DISPLAY 'ERROR DISPLAY + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO D-A.
           SUBTRACT D-B FROM D-A END-SUBTRACT.
           MOVE D-A  TO D-RES.
           IF D-RES NOT = 1.0
              DISPLAY 'ERROR DISPLAY - DISPLAY'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO D-A.
           SUBTRACT 10.0 FROM D-A END-SUBTRACT.
           MOVE D-A  TO D-RES.
           IF D-RES NOT = 1.0
              DISPLAY 'ERROR DISPLAY - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  FD16-B  TO FD16-A END-ADD.
           MOVE FD16-A  TO FD16-RES.
           IF FD16-RES NOT = 11.0
              DISPLAY 'ERROR FLOAT-DECIMAL-16 + FLOAT-DECIMAL-16'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO FD16-A.
           ADD  10.0  TO FD16-A END-ADD.
           MOVE FD16-A  TO FD16-RES.
           IF FD16-RES NOT = 11.0
              DISPLAY 'ERROR FLOAT-DECIMAL-16 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO FD16-A.
           SUBTRACT FD16-B FROM FD16-A END-SUBTRACT.
           MOVE FD16-A  TO FD16-RES.
           IF FD16-RES NOT = 1.0
              DISPLAY 'ERROR FLOAT-DECIMAL-16 - FLOAT-DECIMAL-16'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO FD16-A.
           SUBTRACT 10.0 FROM FD16-A END-SUBTRACT.
           MOVE FD16-A  TO FD16-RES.
           IF FD16-RES NOT = 1.0
              DISPLAY 'ERROR FLOAT-DECIMAL-16 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  FD34-B  TO FD34-A END-ADD.
           MOVE FD34-A  TO FD34-RES.
           IF FD34-RES NOT = 11.0
              DISPLAY 'ERROR FLOAT-DECIMAL-34 + FLOAT-DECIMAL-34'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO FD34-A.
           ADD  10.0  TO FD34-A END-ADD.
           MOVE FD34-A  TO FD34-RES.
           IF FD34-RES NOT = 11.0
              DISPLAY 'ERROR FLOAT-DECIMAL-34 + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO FD34-A.
           SUBTRACT FD34-B FROM FD34-A END-SUBTRACT.
           MOVE FD34-A  TO FD34-RES.
           IF FD34-RES NOT = 1.0
              DISPLAY 'ERROR FLOAT-DECIMAL-34 - FLOAT-DECIMAL-34'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO FD34-A.
           SUBTRACT 10.0 FROM FD34-A END-SUBTRACT.
           MOVE FD34-A  TO FD34-RES.
           IF FD34-RES NOT = 1.0
              DISPLAY 'ERROR FLOAT-DECIMAL-34 - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  FL-B  TO FL-A END-ADD.
           MOVE FL-A  TO FL-RES.
           IF FL-RES NOT = 11.0
              DISPLAY 'ERROR FLOAT-LONG + FLOAT-LONG'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO FL-A.
           ADD  10.0  TO FL-A END-ADD.
           MOVE FL-A  TO FL-RES.
           IF FL-RES NOT = 11.0
              DISPLAY 'ERROR FLOAT-LONG + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO FL-A.
           SUBTRACT FL-B FROM FL-A END-SUBTRACT.
           MOVE FL-A  TO FL-RES.
           IF FL-RES NOT = 1.0
              DISPLAY 'ERROR FLOAT-LONG - FLOAT-LONG'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO FL-A.
           SUBTRACT 10.0 FROM FL-A END-SUBTRACT.
           MOVE FL-A  TO FL-RES.
           IF FL-RES NOT = 1.0
              DISPLAY 'ERROR FLOAT-LONG - NUM'
              END-DISPLAY
           END-IF.
      *
           ADD  FS-B  TO FS-A END-ADD.
           MOVE FS-A  TO FS-RES.
           IF FS-RES NOT = 11.0
              DISPLAY 'ERROR FLOAT-SHORT + FLOAT-SHORT'
              END-DISPLAY
           END-IF.
           MOVE 1.0   TO FS-A.
           ADD  10.0  TO FS-A END-ADD.
           MOVE FS-A  TO FS-RES.
           IF FS-RES NOT = 11.0
              DISPLAY 'ERROR FLOAT-SHORT + NUM'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO FS-A.
           SUBTRACT FS-B FROM FS-A END-SUBTRACT.
           MOVE FS-A  TO FS-RES.
           IF FS-RES NOT = 1.0
              DISPLAY 'ERROR FLOAT-SHORT - FLOAT-SHORT'
              END-DISPLAY
           END-IF.
           MOVE 11.0  TO FS-A.
           SUBTRACT 10.0 FROM FS-A END-SUBTRACT.
           MOVE FS-A  TO FS-RES.
           IF FS-RES NOT = 1.0
              DISPLAY 'ERROR FLOAT-SHORT - NUM'
              END-DISPLAY
           END-IF.
      *
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:4368: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:4368"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4368"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4369: ./prog"
at_fn_check_prepare_trace "run_misc.at:4369"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4369"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:4371: \$COMPILE -fnotrunc prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "run_misc.at:4371"
( $at_check_trace; $COMPILE -fnotrunc prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4371"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4372: ./prog"
at_fn_check_prepare_trace "run_misc.at:4372"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4372"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_468
#AT_START_469
at_fn_group_banner 469 'run_misc.at:4377' \
  "C/C++ reserved words/predefined identifiers" "    " 4
at_xfail=no
(
  $as_echo "469. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
      *
      * Reserved Words in C (that aren't reserved in COBOL)
      * var names MUST BE IN LOWER CASE (!)
      *
       77  const                       PIC X VALUE "A".
       77  double                      PIC X VALUE "B".
       77  float                       PIC X VALUE "C".
       77  int                         PIC X VALUE "D".
       77  short                       PIC X VALUE "E".
       77  struct                      PIC X VALUE "F".
       77  break                       PIC X VALUE "G".
       77  long                        PIC X VALUE "H".
       77  switch                      PIC X VALUE "I".
       77  void                        PIC X VALUE "J".
       77  case                        PIC X VALUE "K".
       77  enum                        PIC X VALUE "L".
       77  goto                        PIC X VALUE "M".
       77  register                    PIC X VALUE "N".
       77  sizeof                      PIC X VALUE "O".
       77  volatile                    PIC X VALUE "P".
       77  char                        PIC X VALUE "Q".
       77  do                          PIC X VALUE "R".
       77  extern                      PIC X VALUE "S".
       77  static                      PIC X VALUE "T".
       77  union                       PIC X VALUE "U".
       77  while                       PIC X VALUE "V".
      *
      * More Reserved Words in C++
      * var names MUST BE IN LOWER CASE (!)
      *
       77  asm                         PIC X VALUE "W".
       77  dynamic_cast                PIC X VALUE "X".
       77  namespace                   PIC X VALUE "Y".
       77  reinterpret_cast            PIC X VALUE "Z".
       77  try                         PIC X VALUE "a".
       77  bool                        PIC X VALUE "b".
       77  explicit                    PIC X VALUE "c".
       77  new                         PIC X VALUE "d".
       77  static_cast                 PIC X VALUE "e".
       77  typeid                      PIC X VALUE "f".
       77  catch                       PIC X VALUE "g".
       77  operator                    PIC X VALUE "h".
       77  template                    PIC X VALUE "i".
       77  typename                    PIC X VALUE "j".
       77  friend                      PIC X VALUE "k".
       77  private                     PIC X VALUE "l".
       77  this                        PIC X VALUE "m".
       77  const_cast                  PIC X VALUE "n".
       77  inline                      PIC X VALUE "o".
       77  public                      PIC X VALUE "p".
       77  throw                       PIC X VALUE "q".
       77  virtual                     PIC X VALUE "r".
       77  mutable                     PIC X VALUE "s".
       77  protected                   PIC X VALUE "t".
       77  wchar_t                     PIC X VALUE "u".
      *
      * More Reserved Words in C++ (not essential)
      * var names MUST BE IN LOWER CASE (!)
      *
       77  bitand                      PIC X VALUE "v".
       77  compl                       PIC X VALUE "w".
       77  not_eq                      PIC X VALUE "x".
       77  or_eq                       PIC X VALUE "y".
       77  xor_eq                      PIC X VALUE "z".
       77  and_eq                      PIC X VALUE "0".
       77  bitor                       PIC X VALUE "1".
       77  xor                         PIC X VALUE "2".
      *
       PROCEDURE        DIVISION.
           CALL "callee" USING   const
                                 double
                                 float
                                 int
                                 short
                                 struct
                                 break
                                 long
                                 switch
                                 void
                                 case
                                 enum
                                 goto
                                 register
                                 sizeof
                                 volatile
                                 char
                                 do
                                 extern
                                 static
                                 union
                                 while
           END-CALL.
           CALL "callee2" USING  asm
                                 dynamic_cast
                                 namespace
                                 reinterpret_cast
                                 try
                                 bool
                                 explicit
                                 new
                                 static_cast
                                 typeid
                                 catch
                                 operator
                                 template
                                 typename
                                 friend
                                 private
                                 this
                                 const_cast
                                 inline
                                 public
                                 throw
                                 virtual
                                 mutable
                                 protected
                                 wchar_t
                                 bitand
                                 compl
                                 not_eq
                                 or_eq
                                 xor_eq
                                 and_eq
                                 bitor
                                 xor
           END-CALL.
           MOVE x'00' TO         const
                                 double
                                 float
                                 int
                                 short
                                 struct
                                 break
                                 long
                                 switch
                                 void
                                 case
                                 enum
                                 goto
                                 register
                                 sizeof
                                 volatile
                                 char
                                 do
                                 extern
                                 static
                                 union
                                 while
                                 asm
                                 dynamic_cast
                                 namespace
                                 reinterpret_cast
                                 try
                                 bool
                                 explicit
                                 new
                                 static_cast
                                 typeid
                                 catch
                                 operator
                                 template
                                 typename
                                 friend
                                 private
                                 this
                                 const_cast
                                 inline
                                 public
                                 throw
                                 virtual
                                 mutable
                                 protected
                                 wchar_t
                                 bitand
                                 compl
                                 not_eq
                                 or_eq
                                 xor_eq
                                 and_eq
                                 bitor
                                 xor
                                 .
           STOP RUN.
_ATEOF


cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LINKAGE SECTION.
      *
      * Reserved Words in C (that aren't reserved in COBOL)
      * var names MUST BE IN LOWER CASE (!)
      *
       77  const                       PIC X.
       77  double                      PIC X.
       77  float                       PIC X.
       77  int                         PIC X.
       77  short                       PIC X.
       77  struct                      PIC X.
       77  break                       PIC X.
       77  long                        PIC X.
       77  switch                      PIC X.
       77  void                        PIC X.
       77  case                        PIC X.
       77  enum                        PIC X.
       77  goto                        PIC X.
       77  register                    PIC X.
       77  sizeof                      PIC X.
       77  volatile                    PIC X.
       77  char                        PIC X.
       77  do                          PIC X.
       77  extern                      PIC X.
       77  static                      PIC X.
       77  union                       PIC X.
       77  while                       PIC X.
       PROCEDURE        DIVISION USING
                                 const
                                 double
                                 float
                                 int
                                 short
                                 struct
                                 break
                                 long
                                 switch
                                 void
                                 case
                                 enum
                                 goto
                                 register
                                 sizeof
                                 volatile
                                 char
                                 do
                                 extern
                                 static
                                 union
                                 while
                                 .
           IF (const                       NOT = "A") OR
              (double                      NOT = "B") OR
              (float                       NOT = "C") OR
              (int                         NOT = "D") OR
              (short                       NOT = "E") OR
              (struct                      NOT = "F") OR
              (break                       NOT = "G") OR
              (long                        NOT = "H") OR
              (switch                      NOT = "I") OR
              (void                        NOT = "J") OR
              (case                        NOT = "K") OR
              (enum                        NOT = "L") OR
              (goto                        NOT = "M") OR
              (register                    NOT = "N") OR
              (sizeof                      NOT = "O") OR
              (volatile                    NOT = "P") OR
              (char                        NOT = "Q") OR
              (do                          NOT = "R") OR
              (extern                      NOT = "S") OR
              (static                      NOT = "T") OR
              (union                       NOT = "U") OR
              (while                       NOT = "V")
              DISPLAY "At least one var has wrong content!"
              END-DISPLAY
           END-IF.
           MOVE x'FF' TO         const
                                 double
                                 float
                                 int
                                 short
                                 struct
                                 break
                                 long
                                 switch
                                 void
                                 case
                                 enum
                                 goto
                                 register
                                 sizeof
                                 volatile
                                 char
                                 do
                                 extern
                                 static
                                 union
                                 while
                                 .
           EXIT PROGRAM.
_ATEOF


cat >callee2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee2.
       DATA             DIVISION.
       LINKAGE SECTION.
      *
      * More Reserved Words in C++
      * var names MUST BE IN LOWER CASE (!)
      *
       77  asm                         PIC X.
       77  dynamic_cast                PIC X.
       77  namespace                   PIC X.
       77  reinterpret_cast            PIC X.
       77  try                         PIC X.
       77  bool                        PIC X.
       77  explicit                    PIC X.
       77  new                         PIC X.
       77  static_cast                 PIC X.
       77  typeid                      PIC X.
       77  catch                       PIC X.
       77  operator                    PIC X.
       77  template                    PIC X.
       77  typename                    PIC X.
       77  friend                      PIC X.
       77  private                     PIC X.
       77  this                        PIC X.
       77  const_cast                  PIC X.
       77  inline                      PIC X.
       77  public                      PIC X.
       77  throw                       PIC X.
       77  virtual                     PIC X.
       77  mutable                     PIC X.
       77  protected                   PIC X.
       77  wchar_t                     PIC X.
      *
      * More Reserved Words in C++ (not essential)
      *
       77  bitand                      PIC X.
       77  compl                       PIC X.
       77  not_eq                      PIC X.
       77  or_eq                       PIC X.
       77  xor_eq                      PIC X.
       77  and_eq                      PIC X.
       77  bitor                       PIC X.
       77  xor                         PIC X.
       PROCEDURE        DIVISION USING
                                 asm
                                 dynamic_cast
                                 namespace
                                 reinterpret_cast
                                 try
                                 bool
                                 explicit
                                 new
                                 static_cast
                                 typeid
                                 catch
                                 operator
                                 template
                                 typename
                                 friend
                                 private
                                 this
                                 const_cast
                                 inline
                                 public
                                 throw
                                 virtual
                                 mutable
                                 protected
                                 wchar_t
                                 bitand
                                 compl
                                 not_eq
                                 or_eq
                                 xor_eq
                                 and_eq
                                 bitor
                                 xor
                                 .
           IF (asm                         NOT = "W") OR
              (dynamic_cast                NOT = "X") OR
              (namespace                   NOT = "Y") OR
              (reinterpret_cast            NOT = "Z") OR
              (try                         NOT = "a") OR
              (bool                        NOT = "b") OR
              (explicit                    NOT = "c") OR
              (new                         NOT = "d") OR
              (static_cast                 NOT = "e") OR
              (typeid                      NOT = "f") OR
              (catch                       NOT = "g") OR
              (operator                    NOT = "h") OR
              (template                    NOT = "i") OR
              (typename                    NOT = "j") OR
              (friend                      NOT = "k") OR
              (private                     NOT = "l") OR
              (this                        NOT = "m") OR
              (const_cast                  NOT = "n") OR
              (inline                      NOT = "o") OR
              (public                      NOT = "p") OR
              (throw                       NOT = "q") OR
              (virtual                     NOT = "r") OR
              (mutable                     NOT = "s") OR
              (protected                   NOT = "t") OR
              (wchar_t                     NOT = "u") OR
              (bitand                      NOT = "v") OR
              (compl                       NOT = "w") OR
              (not_eq                      NOT = "x") OR
              (or_eq                       NOT = "y") OR
              (xor_eq                      NOT = "z") OR
              (and_eq                      NOT = "0") OR
              (bitor                       NOT = "1") OR
              (xor                         NOT = "2")
              DISPLAY "At least one var has wrong content!"
              END-DISPLAY
           END-IF.
           MOVE x'FF' TO         asm
                                 dynamic_cast
                                 namespace
                                 reinterpret_cast
                                 try
                                 bool
                                 explicit
                                 new
                                 static_cast
                                 typeid
                                 catch
                                 operator
                                 template
                                 typename
                                 friend
                                 private
                                 this
                                 const_cast
                                 inline
                                 public
                                 throw
                                 virtual
                                 mutable
                                 protected
                                 wchar_t
                                 bitand
                                 compl
                                 not_eq
                                 or_eq
                                 xor_eq
                                 and_eq
                                 bitor
                                 xor
                                 .
           EXIT PROGRAM.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:4829: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:4829"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4829"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4830: \$COMPILE_MODULE callee2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee2.cob" "run_misc.at:4830"
( $at_check_trace; $COMPILE_MODULE callee2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4830"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4831: \$COMPILE -o prog caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o prog caller.cob" "run_misc.at:4831"
( $at_check_trace; $COMPILE -o prog caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4831"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4832: ./prog"
at_fn_check_prepare_trace "run_misc.at:4832"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4832"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_469
#AT_START_470
at_fn_group_banner 470 'run_misc.at:4837' \
  "ON EXCEPTION clause of DISPLAY" "                 " 4
at_xfail=no
(
  $as_echo "470. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/run_misc.at:4840: test \"\$COB_HAS_CURSES\" = \"yes\" || exit 77"
at_fn_check_prepare_dynamic "test \"$COB_HAS_CURSES\" = \"yes\" || exit 77" "run_misc.at:4840"
( $at_check_trace; test "$COB_HAS_CURSES" = "yes" || exit 77
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4840"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       PROCEDURE DIVISION.
           DISPLAY "hello" AT COLUMN 500
               ON EXCEPTION
                   GOBACK RETURNING 0
               NOT ON EXCEPTION
                   GOBACK RETURNING 1
           END-DISPLAY
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:4856: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:4856"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4856"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4857: COB_EXIT_WAIT=0 ./prog"
at_fn_check_prepare_trace "run_misc.at:4857"
( $at_check_trace; COB_EXIT_WAIT=0 ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4857"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_470
#AT_START_471
at_fn_group_banner 471 'run_misc.at:4862' \
  "EC-SCREEN-LINE-NUMBER and -STARTING-COLUMN" "     " 4
at_xfail=no
(
  $as_echo "471. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/run_misc.at:4865: test \"\$COB_HAS_CURSES\" = \"yes\" || exit 77"
at_fn_check_prepare_dynamic "test \"$COB_HAS_CURSES\" = \"yes\" || exit 77" "run_misc.at:4865"
( $at_check_trace; test "$COB_HAS_CURSES" = "yes" || exit 77
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4865"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    blah.

       DATA           DIVISION.
       SCREEN         SECTION.
       01  invalid-line.
           03  a      PIC X LINE 99999999.
       01  invalid-col.
           03  c     PIC X COLUMN 99999999.

       PROCEDURE      DIVISION.
           DISPLAY invalid-line END-DISPLAY
           IF FUNCTION EXCEPTION-STATUS = "EC-SCREEN-LINE-NUMBER"
               CONTINUE
           ELSE
               GOBACK RETURNING 1
           END-IF

           DISPLAY invalid-col END-DISPLAY
           IF FUNCTION EXCEPTION-STATUS = "EC-SCREEN-STARTING-COLUMN"
               CONTINUE
           ELSE
               GOBACK RETURNING 2
           END-IF

           GOBACK RETURNING 0
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:4897: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:4897"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4897"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4898: COB_EXIT_WAIT=0 ./prog"
at_fn_check_prepare_trace "run_misc.at:4898"
( $at_check_trace; COB_EXIT_WAIT=0 ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4898"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_471
#AT_START_472
at_fn_group_banner 472 'run_misc.at:4903' \
  "LINE/COLUMN 0 exceptions" "                       " 4
at_xfail=no
(
  $as_echo "472. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/run_misc.at:4906: test \"\$COB_HAS_CURSES\" = \"yes\" || exit 77"
at_fn_check_prepare_dynamic "test \"$COB_HAS_CURSES\" = \"yes\" || exit 77" "run_misc.at:4906"
( $at_check_trace; test "$COB_HAS_CURSES" = "yes" || exit 77
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4906"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  zero-var PIC 9 VALUE 0.

       SCREEN SECTION.
       01  scr.
           03  VALUE "a".

       PROCEDURE DIVISION.
           DISPLAY scr AT LINE zero-var
           IF FUNCTION EXCEPTION-STATUS <> "EC-SCREEN-LINE-NUMBER"
               GOBACK RETURNING 1
           END-IF

           DISPLAY scr AT COLUMN zero-var
           IF FUNCTION EXCEPTION-STATUS <> "EC-SCREEN-STARTING-COLUMN"
               GOBACK RETURNING 2
           END-IF

           GOBACK RETURNING 0
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:4935: \$COMPILE  -faccept-display-extensions=error prog.cob"
at_fn_check_prepare_dynamic "$COMPILE  -faccept-display-extensions=error prog.cob" "run_misc.at:4935"
( $at_check_trace; $COMPILE  -faccept-display-extensions=error prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4935"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4936: COB_EXIT_WAIT=0 ./prog"
at_fn_check_prepare_trace "run_misc.at:4936"
( $at_check_trace; COB_EXIT_WAIT=0 ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4936"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_472
#AT_START_473
at_fn_group_banner 473 'run_misc.at:4941' \
  "SET LAST EXCEPTION TO OFF" "                      " 4
at_xfail=no
(
  $as_echo "473. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. blah.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC 9.

       PROCEDURE DIVISION.
           COMPUTE x = 10
           DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-STATUS)
           DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-LOCATION)
           SET LAST EXCEPTION TO OFF
           DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-STATUS)
           DISPLAY FUNCTION TRIM(FUNCTION EXCEPTION-LOCATION)
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:4962: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:4962"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4962"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4963: ./prog"
at_fn_check_prepare_trace "run_misc.at:4963"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "EC-SIZE-OVERFLOW
blah; ; 10


" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4963"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_473
#AT_START_474
at_fn_group_banner 474 'run_misc.at:4973' \
  "void PROCEDURE" "                                 " 4
at_xfail=no
(
  $as_echo "474. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       PROCEDURE        DIVISION RETURNING OMITTED.
           MOVE 42 TO RETURN-CODE
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       PROCEDURE        DIVISION.
           CALL "callee" RETURNING OMITTED
           END-CALL.
           DISPLAY RETURN-CODE WITH NO ADVANCING
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:4995: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:4995"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4995"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4996: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:4996"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4996"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:4997: ./caller"
at_fn_check_prepare_trace "run_misc.at:4997"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+000000000" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:4997"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_474
#AT_START_475
at_fn_group_banner 475 'run_misc.at:5003' \
  "void PROCEDURE, NOTHING return" "                 " 4
at_xfail=no
(
  $as_echo "475. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       PROCEDURE        DIVISION RETURNING OMITTED.
           MOVE 42 TO RETURN-CODE
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       PROCEDURE        DIVISION.
           MOVE 42 TO RETURN-CODE
           CALL "callee" RETURNING NOTHING
           END-CALL.
           DISPLAY RETURN-CODE WITH NO ADVANCING
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5026: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_misc.at:5026"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5026"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5027: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_misc.at:5027"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5027"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5028: ./caller"
at_fn_check_prepare_trace "run_misc.at:5028"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+000000042" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 42 $at_status "$at_srcdir/run_misc.at:5028"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_475
#AT_START_476
at_fn_group_banner 476 'run_misc.at:5034' \
  "READY TRACE / RESET TRACE" "                      " 4
at_xfail=no
(
  $as_echo "476. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
      *
       PROCEDURE        DIVISION.
           READY TRACE
           MOVE 1 TO RETURN-CODE
           RESET TRACE
           CALL "callee1"
           END-CALL
           READY TRACE
           MOVE 2 TO RETURN-CODE
           CALL "callee1"
           END-CALL
           CANCEL "callee1"
           MOVE 0 TO RETURN-CODE
           STOP RUN.
_ATEOF


cat >callee1.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee1.
       PROCEDURE        DIVISION.
           ADD 1 TO RETURN-CODE END-ADD
           CALL "callee2" END-CALL
           CANCEL "callee2"
           CALL "callee2b" END-CALL
           CANCEL "callee2b"
           SUBTRACT 1 FROM RETURN-CODE END-SUBTRACT
           EXIT PROGRAM.
_ATEOF


cat >callee2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee2.
       PROCEDURE        DIVISION.
           COMPUTE RETURN-CODE = 1 + 2 END-COMPUTE.
           CALL "callee2c" END-CALL
           CANCEL "callee2c"
           MOVE 0 TO RETURN-CODE.
           EXIT PROGRAM.
_ATEOF


cat >preload.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee2b.
       PROCEDURE        DIVISION.
       SOME-SEC SECTION.
       SOME-PAR.
           PERFORM OTHER-SEC
           MOVE 0 TO RETURN-CODE.
       ENTRY "LEAVE-ME".
       END-PAR.
           EXIT PROGRAM.
       OTHER-SEC SECTION.
           COMPUTE RETURN-CODE = 1 + 2 END-COMPUTE.
       EX. EXIT.
_ATEOF


cat >callee2c.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee2c.
       PROCEDURE        DIVISION.
       SOME-SEC SECTION.
       SOME-PAR.
           PERFORM OTHER-SEC
           MOVE 0 TO RETURN-CODE.
       END-PAR.
           EXIT PROGRAM.
       OTHER-SEC SECTION.
           COMPUTE RETURN-CODE = 1 + 2 END-COMPUTE.
       EX. EXIT.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5112: \$COBC -ftraceall callee1.cob"
at_fn_check_prepare_dynamic "$COBC -ftraceall callee1.cob" "run_misc.at:5112"
( $at_check_trace; $COBC -ftraceall callee1.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5112"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5113: \$COBC callee2.cob"
at_fn_check_prepare_dynamic "$COBC callee2.cob" "run_misc.at:5113"
( $at_check_trace; $COBC callee2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5113"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5114: \$COBC -ftrace preload.cob"
at_fn_check_prepare_dynamic "$COBC -ftrace preload.cob" "run_misc.at:5114"
( $at_check_trace; $COBC -ftrace preload.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5114"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5115: \$COBC -fsource-location callee2c.cob"
at_fn_check_prepare_dynamic "$COBC -fsource-location callee2c.cob" "run_misc.at:5115"
( $at_check_trace; $COBC -fsource-location callee2c.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5115"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5116: \$COBC -x -o prog -ftraceall caller.cob"
at_fn_check_prepare_dynamic "$COBC -x -o prog -ftraceall caller.cob" "run_misc.at:5116"
( $at_check_trace; $COBC -x -o prog -ftraceall caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5116"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5117: COB_PHYSICAL_CANCEL=1 COB_PRE_LOAD=preload ./prog"
at_fn_check_prepare_trace "run_misc.at:5117"
( $at_check_trace; COB_PHYSICAL_CANCEL=1 COB_PRE_LOAD=preload ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "Source :    'caller.cob'
Program-Id: caller           Statement: MOVE                   Line: 7
Program-Id: caller           Statement: RESET TRACE            Line: 8
Program-Id: caller           Statement: MOVE                   Line: 12
Program-Id: caller           Statement: CALL                   Line: 13
Source:     'callee1.cob'
Program-Id: callee1          Entry:     callee1                Line: 5
Program-Id: callee1          Section:   (None)                 Line: 5
Program-Id: callee1          Paragraph: (None)                 Line: 5
Program-Id: callee1          Statement: ADD                    Line: 5
Program-Id: callee1          Statement: CALL                   Line: 6
Source :    'callee2c.cob'
Program-Id: callee2c         Statement: PERFORM                Line: 7
Program-Id: callee2c         Statement: COMPUTE                Line: 12
Program-Id: callee2c         Statement: EXIT                   Line: 13
Program-Id: callee2c         Statement: MOVE                   Line: 8
Program-Id: callee2c         Statement: EXIT PROGRAM           Line: 10
Source :    'callee1.cob'
Program-Id: callee1          Statement: CANCEL                 Line: 7
Program-Id: callee1          Statement: CALL                   Line: 8
Source:     'preload.cob'
Program-Id: callee2b         Entry:     callee2b               Line: 5
Program-Id: callee2b         Section:   SOME-SEC               Line: 5
Program-Id: callee2b         Paragraph: SOME-PAR               Line: 6
Program-Id: callee2b         Section:   OTHER-SEC              Line: 12
Program-Id: callee2b         Paragraph: (None)                 Line: 13
Program-Id: callee2b         Paragraph: EX                     Line: 14
Program-Id: callee2b         Entry:     LEAVE-ME               Line: 9
Program-Id: callee2b         Paragraph: END-PAR                Line: 10
Program-Id: callee2b         Exit:      callee2b
Source :    'callee1.cob'
Program-Id: callee1          Statement: CANCEL                 Line: 9
Program-Id: callee1          Statement: SUBTRACT               Line: 10
Program-Id: callee1          Statement: EXIT PROGRAM           Line: 11
Program-Id: callee1          Exit:      callee1
Source :    'caller.cob'
Program-Id: caller           Statement: CANCEL                 Line: 15
Program-Id: caller           Statement: MOVE                   Line: 16
Program-Id: caller           Statement: STOP RUN               Line: 17
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5117"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_476
#AT_START_477
at_fn_group_banner 477 'run_misc.at:5162' \
  "CALL with program prototypes" "                   " 4
at_xfail=no
(
  $as_echo "477. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       PROCEDURE DIVISION.
           CALL "c"
           .
       END PROGRAM prog.


       IDENTIFICATION DIVISION.
       PROGRAM-ID. a AS "blah?Sdk".

       PROCEDURE DIVISION.
           DISPLAY "Hello!"
           .
       END PROGRAM a.


       IDENTIFICATION DIVISION.
       PROGRAM-ID. b.

       PROCEDURE DIVISION.
           DISPLAY "Hello again!"
           .
       END PROGRAM b.


       IDENTIFICATION DIVISION.
       PROGRAM-ID. c.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           PROGRAM d AS "blah?Sdk"
           PROGRAM b
           .

       PROCEDURE DIVISION.
           CALL d
           CALL b
           .
       END PROGRAM c.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5210: \$COMPILE -o prog prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -o prog prog.cob" "run_misc.at:5210"
( $at_check_trace; $COMPILE -o prog prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5210"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5211: ./prog"
at_fn_check_prepare_trace "run_misc.at:5211"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Hello!
Hello again!
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5211"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_477
#AT_START_478
at_fn_group_banner 478 'run_misc.at:5218' \
  "REDEFINES values on FILLER and INITIALIZE" "      " 4
at_xfail=no
(
  $as_echo "478. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'
       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       01  TSRDF.
           05  WS-ASK-ID-DATE                PIC X(10) VALUE ALL '*'.
           05  WS-ASK-ID-DATE-R              REDEFINES WS-ASK-ID-DATE.
               10  WS-ASK-ID-DATE-YYYY       PIC 9(4) VALUE 2017.
               10  FILLER                    PIC X VALUE '-'.
               10  WS-ASK-ID-DATE-MM         PIC 9(2).
               10  FILLER                    PIC X VALUE '-'.
               10  WS-ASK-ID-DATE-DD         PIC 9(2).
       PROCEDURE DIVISION.
           MOVE 2015 TO WS-ASK-ID-DATE-YYYY
           MOVE 08 TO WS-ASK-ID-DATE-MM
           MOVE 21 TO WS-ASK-ID-DATE-DD
           DISPLAY "The date is " WS-ASK-ID-DATE " Compiled".

           INITIALIZE WS-ASK-ID-DATE-R.
           MOVE 08 TO WS-ASK-ID-DATE-MM
           MOVE 21 TO WS-ASK-ID-DATE-DD
           DISPLAY "The date is " WS-ASK-ID-DATE " INITIALIZE".

           INITIALIZE WS-ASK-ID-DATE-R WITH FILLER.
           MOVE 08 TO WS-ASK-ID-DATE-MM
           MOVE 21 TO WS-ASK-ID-DATE-DD
           DISPLAY "The date is " WS-ASK-ID-DATE " WITH FILLER".

           INITIALIZE WS-ASK-ID-DATE-R WITH FILLER ALL TO VALUE.
           MOVE 08 TO WS-ASK-ID-DATE-MM
           MOVE 21 TO WS-ASK-ID-DATE-DD
           DISPLAY "The date is " WS-ASK-ID-DATE " ALL TO VALUE".
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5256: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5256"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: initial VALUE clause ignored for REDEFINES item
prog.cob: 9: warning: initial VALUE clause ignored for REDEFINES item
prog.cob: 11: warning: initial VALUE clause ignored for REDEFINES item
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5256"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:5262: ./prog"
at_fn_check_prepare_trace "run_misc.at:5262"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "The date is 2015*08*21 Compiled
The date is 0000*08*21 INITIALIZE
The date is 0000 08 21 WITH FILLER
The date is 2017-08-21 ALL TO VALUE
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5262"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_478
#AT_START_479
at_fn_group_banner 479 'run_misc.at:5271' \
  "PICTURE with constant-name" "                     " 4
at_xfail=no
(
  $as_echo "479. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  foo-bar     CONSTANT 8.
       01  x           PIC 9(foo-bar)9(foo-bar).

       PROCEDURE DIVISION.
           IF FUNCTION LENGTH (x) <> 16
               DISPLAY FUNCTION LENGTH (x)
           END-IF
           .
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5291: \$COMPILE -o prog prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -o prog prog.cob" "run_misc.at:5291"
( $at_check_trace; $COMPILE -o prog prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5291"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5292: ./prog"
at_fn_check_prepare_trace "run_misc.at:5292"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5292"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_479
#AT_START_480
at_fn_group_banner 480 'run_misc.at:5296' \
  "Quote marks in comment paragraphs" "              " 4
at_xfail=no
(
  $as_echo "480. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.
       DATE-written.  hello'".
      *> Written is intentionally lowercase.
      *> extra " to fix syntax highlighting
       PROCEDURE      DIVISION.
           DISPLAY "Hello, world!"
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5310: \$COMPILE -o prog prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -o prog prog.cob" "run_misc.at:5310"
( $at_check_trace; $COMPILE -o prog prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 4: warning: DATE-WRITTEN is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5310"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5313: \$COMPILE -free -o prog prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -free -o prog prog.cob" "run_misc.at:5313"
( $at_check_trace; $COMPILE -free -o prog prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 3: warning: DATE-WRITTEN is obsolete in GnuCOBOL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5313"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5316: ./prog"
at_fn_check_prepare_trace "run_misc.at:5316"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Hello, world!
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5316"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_480
#AT_START_481
at_fn_group_banner 481 'run_misc.at:5321' \
  "MOVE with -fbinary-truncate" "                    " 4
at_xfail=no
(
  $as_echo "481. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC 9(4) COMP.

       PROCEDURE       DIVISION.
           MOVE 30000 TO x
           PERFORM check-x-val

           COMPUTE x = 30000
           PERFORM check-x-val

           MOVE ZERO TO x
           ADD 30000 TO x
           PERFORM check-x-val

           GOBACK
           .
       check-x-val     SECTION.
           EVALUATE x
               WHEN >= 10000
                   DISPLAY "x >= 10000"

               WHEN ZERO
                   DISPLAY "x IS ZERO"

               WHEN OTHER
                   CONTINUE
           END-EVALUATE
           .
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5360: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5360"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5360"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5361: ./prog"
at_fn_check_prepare_trace "run_misc.at:5361"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "x IS ZERO
x IS ZERO
x IS ZERO
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5361"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:5367: \$COMPILE -fno-binary-truncate prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fno-binary-truncate prog.cob" "run_misc.at:5367"
( $at_check_trace; $COMPILE -fno-binary-truncate prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5367"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5368: ./prog"
at_fn_check_prepare_trace "run_misc.at:5368"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "x >= 10000
x >= 10000
x >= 10000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5368"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_481
#AT_START_482
at_fn_group_banner 482 'run_misc.at:5377' \
  "PROGRAM-ID / CALL literal/variable with spaces" " " 4
at_xfail=no
(
  $as_echo "482. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  MYRTN  PIC X(9) VALUE " SUB  ".

       PROCEDURE DIVISION.
           CALL " SUB " USING 'X'.
           MOVE x'00' TO MYRTN (6:1).
           CALL MYRTN   USING 'Y'.
           CALL "SUB"   USING 'Z'.
           CALL "S U B" USING 'A'.
           MOVE " S U B" TO MYRTN.
           CALL MYRTN   USING 'B'.
           STOP RUN.
       END PROGRAM prog.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. "SUB ".

       DATA DIVISION.
       LINKAGE SECTION.
       01  x  PIC X.

       PROCEDURE DIVISION USING x.
            DISPLAY "SUB GOT " X
            END-DISPLAY.
       END PROGRAM " SUB".

       IDENTIFICATION DIVISION.
       PROGRAM-ID. "S U B".

       DATA DIVISION.
       LINKAGE SECTION.
       01  x  PIC X.

       PROCEDURE DIVISION USING x.
            DISPLAY "S U B  GOT " X
            END-DISPLAY.
       END PROGRAM "S U B".
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5424: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5424"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 10: warning: ' SUB ' literal includes leading spaces which are omitted
prog.cob: 10: warning: ' SUB ' literal includes trailing spaces which are omitted
prog.cob: 21: warning: 'SUB ' literal includes trailing spaces which are omitted
prog.cob: 30: warning: ' SUB' literal includes leading spaces which are omitted
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5424"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:5431: ./prog"
at_fn_check_prepare_trace "run_misc.at:5431"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 12: warning: ' SUB' literal includes leading spaces which are omitted
libcob: prog.cob: 16: warning: ' S U B' literal includes leading spaces which are omitted
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "SUB GOT X
SUB GOT Y
SUB GOT Z
S U B  GOT A
S U B  GOT B
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5431"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_482
#AT_START_483
at_fn_group_banner 483 'run_misc.at:5444' \
  "C API Test" "                                     " 4
at_xfail=yes
(
  $as_echo "483. $at_setup_line: testing $at_desc ..."
  $at_traceon



# CHECKME - returns COMP-4 instead of COMP-5


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  BINFLD5     PIC  9(5) COMP-5  VALUE  1280.
       01  BINFLD5S    PIC S9(5) BINARY  VALUE  1024.
       01  BINFLD9     PIC  9(9) BINARY  VALUE  2560.
       01  COMP3       PIC  9(8) COMP-3  VALUE  4096.
       01  COMP3V99    PIC S9(7)V99 COMP-3  VALUE  12.50.
       01  PIC9        PIC S9(8) DISPLAY VALUE  8192.
       01  NE          PIC Z(4)9.99-.
       01  CHRX        PIC  X(9)         VALUE 'Hello'.
       01  GRPX.
           05  FILLER  PIC  X(9)         VALUE 'Hello'.
           05  FILLER  PIC  X(9)         VALUE 'World'.

       PROCEDURE DIVISION.
           MOVE -512.77 TO NE.
           CALL "CAPI" USING 2560 BY VALUE 16.
           CALL "CAPI" USING BINFLD5, NE.
           CALL "CAPI" USING BINFLD5S.
           CALL "CAPI" USING BINFLD9.
           MOVE  512.77 TO NE.
           CALL "CAPI" USING COMP3, NE.
           CALL "CAPI" USING PIC9 BINFLD5S CHRX GRPX.
           CALL "CAPI" USING COMP3, NE, CHRX.
           CALL "CAPI" USING BINFLD5, NE.
           MOVE "Hello!" TO CHRX.
           CALL "CAPI" USING BY VALUE BINFLD5, CHRX.
           CALL "CAPI" USING BY VALUE BINFLD5, CHRX.
           CALL "CAPI" USING LENGTH OF GRPX.
           CALL "CAPI" USING BY VALUE GRPX LENGTH OF GRPX.
           CALL "CAPI" USING "Fred Fish", COMP3.
           CALL "CAPI" USING COMP3V99.
           CALL "CAPI" .
           DISPLAY "COMP3    is now " COMP3 ";".
           DISPLAY "COMP4    is now " BINFLD5 ";".
           DISPLAY "BINFLD5S is now " BINFLD5S ";".
           DISPLAY "CHRX     is now " CHRX ";".
           DISPLAY "NE       is now " NE ";".
           STOP RUN.
_ATEOF


cat >cmod.c <<'_ATEOF'

#include <stdio.h>
#include <string.h>
#include <libcob.h>

static char *
getType(int type)
{
   static char wrk[24];
   switch (type) {
   case COB_TYPE_GROUP:    return "Group";
   case COB_TYPE_NUMERIC_COMP5:
       /* fall through as the test will have different results
          on bigendian systems otherwise
          return "COMP-5"; */
   case COB_TYPE_NUMERIC_BINARY: return "COMP-4";
   case COB_TYPE_NUMERIC_PACKED: return "COMP-3";
   case COB_TYPE_NUMERIC_FLOAT:  return "COMP-1";
   case COB_TYPE_NUMERIC_DOUBLE: return "COMP-2";
   case COB_TYPE_NUMERIC_DISPLAY:   return "DISPLAY";
   case COB_TYPE_ALPHANUMERIC:   return "X";
   case COB_TYPE_NUMERIC_EDITED: return "EDITED";
   }
   sprintf(wrk,"Type %04X",type);
   return wrk;
}

int
CAPI(void *p1, ...)
{
   int      k,nargs,type,digits,scale,size,sign;
   cob_s64_t   val;
   char     *str, wrk[80],pic[24];

   nargs = cob_get_num_params();
   printf("CAPI called with %d parameters\n",nargs);
   for(k=1; k <= nargs; k++) {
      type   = cob_get_param_type (k);
      digits = cob_get_param_digits (k);
      scale  = cob_get_param_scale (k);
      size   = cob_get_param_size (k);
      sign   = cob_get_param_sign (k);
      printf(" %d: %-8s ",k,getType(type));
      if (cob_get_param_constant(k))
         printf("BY VALUE     ");
      else
         printf("BY REFERENCE ");
      if (type == COB_TYPE_ALPHANUMERIC) {
         sprintf(pic,"X(%d)",size);
         str = cob_get_picx_param (k, NULL, 0);
         printf("%-11s '%s'",pic,str);
         cob_free ((void*)str);
         cob_put_picx_param (k, "Bye!");
      } else if (type == COB_TYPE_GROUP) {
         sprintf(pic,"(%d)",size);
         str = cob_get_grp_param (k, NULL, 0);
         printf("%-11s '%.*s'",pic,size,str);
         cob_free ((void*)str);
         memset(wrk,' ',sizeof(wrk));
         memcpy(wrk,"Bye-Bye Birdie!",15);
         cob_put_grp_param (k, wrk, sizeof(wrk));
      } else if (type == COB_TYPE_NUMERIC_EDITED) {
         if(scale > 0) {
            sprintf(pic,"%s9(%d)V9(%d)",sign?"S":"",digits-scale,scale);
         } else {
            sprintf(pic,"%s9(%d)",sign?"S":"",digits-scale);
         }
         val = cob_get_s64_param (k);
         printf("%-11s %lld ",pic,val);
         val = val + 130;
         val = -val;
         cob_put_s64_param (k, val);
         cob_get_grp_param (k, wrk, sizeof(wrk));
         printf(" to %.*s",size,wrk);
      } else {
         if(scale > 0) {
            sprintf(pic,"%s9(%d)V9(%d)",sign?"S":"",digits-scale,scale);
         } else {
            sprintf(pic,"%s9(%d)",sign?"S":"",digits-scale);
         }
         val = cob_get_s64_param (k);
         printf("%-11s %lld",pic,val);
         cob_put_s64_param (k, val + 3);
      }
      printf(";\n");
      fflush(stdout);
   }
   if (nargs > 2)
      cob_put_s64_param (7, val + 3);
   return 0;
}
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5588: \$COMPILE -w prog.cob cmod.c"
at_fn_check_prepare_dynamic "$COMPILE -w prog.cob cmod.c" "run_misc.at:5588"
( $at_check_trace; $COMPILE -w prog.cob cmod.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 31: warning: BY CONTENT assumed for alphanumeric item
prog.cob: 32: warning: BY CONTENT assumed for alphanumeric item
prog.cob: 34: warning: BY CONTENT assumed for alphanumeric item
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5588"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:5594: ./prog"
at_fn_check_prepare_trace "run_misc.at:5594"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 21: warning: cob_put_s64_param: attempt to over-write constant param 1 with 2563
libcob: prog.cob: 21: warning: cob_put_s64_param: attempt to over-write constant param 2 with 19
libcob: prog.cob: 27: warning: cob_put_s64_param: param 7 is not within range of 4
libcob: prog.cob: 28: warning: cob_put_s64_param: param 7 is not within range of 3
libcob: prog.cob: 31: warning: cob_put_picx_param: attempt to over-write constant param 2 with 'Bye!'
libcob: prog.cob: 32: warning: cob_put_picx_param: attempt to over-write constant param 2 with 'Bye!'
libcob: prog.cob: 33: warning: cob_put_s64_param: attempt to over-write constant param 1 with 21
libcob: prog.cob: 34: warning: cob_put_grp_param: attempt to over-write constant param 1
libcob: prog.cob: 34: warning: cob_put_s64_param: attempt to over-write constant param 2 with 21
libcob: prog.cob: 35: warning: cob_put_picx_param: attempt to over-write constant param 1 with 'Bye!'
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "CAPI called with 2 parameters
 1: COMP-4   BY VALUE     S9(9)       2560;
 2: DISPLAY  BY VALUE     9(2)        16;
CAPI called with 2 parameters
 1: COMP-5   BY REFERENCE 9(5)        1280;
 2: EDITED   BY REFERENCE S9(5)V9(2)  -51277  to   511.47 ;
CAPI called with 1 parameters
 1: COMP-4   BY REFERENCE S9(5)       1024;
CAPI called with 1 parameters
 1: COMP-4   BY REFERENCE 9(9)        2560;
CAPI called with 2 parameters
 1: COMP-3   BY REFERENCE 9(8)        4096;
 2: EDITED   BY REFERENCE S9(5)V9(2)  51277  to   514.07-;
CAPI called with 4 parameters
 1: DISPLAY  BY REFERENCE S9(8)       8192;
 2: COMP-4   BY REFERENCE S9(5)       1027;
 3: X        BY REFERENCE X(9)        'Hello';
 4: Group    BY REFERENCE (18)        'Hello    World    ';
CAPI called with 3 parameters
 1: COMP-3   BY REFERENCE 9(8)        4099;
 2: EDITED   BY REFERENCE S9(5)V9(2)  -51407  to   512.77 ;
 3: X        BY REFERENCE X(9)        'Bye!';
CAPI called with 2 parameters
 1: COMP-5   BY REFERENCE 9(5)        1283;
 2: EDITED   BY REFERENCE S9(5)V9(2)  51277  to   514.07-;
CAPI called with 2 parameters
 1: COMP-5   BY REFERENCE 9(5)        1286;
 2: X        BY VALUE     X(9)        'Hello!';
CAPI called with 2 parameters
 1: COMP-5   BY REFERENCE 9(5)        1289;
 2: X        BY VALUE     X(9)        'Hello!';
CAPI called with 1 parameters
 1: COMP-4   BY VALUE     S9(9)       18;
CAPI called with 2 parameters
 1: Group    BY VALUE     (18)        'Bye-Bye Birdie!   ';
 2: COMP-4   BY VALUE     S9(9)       18;
CAPI called with 2 parameters
 1: X        BY VALUE     X(9)        'Fred Fish';
 2: COMP-3   BY REFERENCE 9(8)        4102;
CAPI called with 1 parameters
 1: COMP-3   BY REFERENCE S9(7)V9(2)  1250;
CAPI called with 0 parameters
COMP3    is now 00004105;
COMP4    is now 0000001292;
BINFLD5S is now +01030;
CHRX     is now Hello!   ;
NE       is now   514.07-;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5594"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_483
#AT_START_484
at_fn_group_banner 484 'run_misc.at:5657' \
  "DEFAULT ROUNDED MODE" "                           " 4
at_xfail=no
(
  $as_echo "484. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.
       OPTIONS.
           DEFAULT ROUNDED NEAREST-EVEN.

       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  x           PIC 9.

       PROCEDURE       DIVISION.
           COMPUTE x ROUNDED = 1.5
           DISPLAY x
           COMPUTE x ROUNDED = 2.5
           DISPLAY x
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5678: \$COMPILE -o prog prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -o prog prog.cob" "run_misc.at:5678"
( $at_check_trace; $COMPILE -o prog prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5678"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5679: ./prog"
at_fn_check_prepare_trace "run_misc.at:5679"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "2
2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5679"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_484
#AT_START_485
at_fn_group_banner 485 'run_misc.at:5687' \
  "OCCURS INDEXED ASCENDING" "                       " 4
at_xfail=no
(
  $as_echo "485. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       01  DBI-RECORD-NAMEST.
           05  FILLER.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ACM            0315 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-MGL            0303 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZBL            0304 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZCC            0308 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZGL            0305 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZOO            0306 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZTR            0307 '.
       01  DBI-RECORD-NAMESR REDEFINES DBI-RECORD-NAMEST.
           05  DBI-RECORD-NAMES
                  OCCURS 7 TIMES
                  INDEXED BY REC-NAME-IDX
                  ASCENDING KEY IS DBI-RECORD-NAME
                  .
             10  DBI-RECORD-NAME PIC X(30).
             10  DBI-RECORD-CODE PIC 9(4).
             10  DBI-RECORD-DIR  PIC X.
       01  REC-NAME   PIC X(30).
       01  DBX-RECORD-NAMEST.
           05  FILLER.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ACM            0315 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-MGL            0303 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZBL            0304 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZCC            0308 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZGL            0305 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZOO            0306 '.
             10 FILLER PIC X(35)
                VALUE 'A-F-GEN-LEDGER-ZTR            0307 '.
       01  DBX-RECORD-NAMESR REDEFINES DBX-RECORD-NAMEST.
           05  DBX-RECORD-NAMES
                  OCCURS 7 TIMES
                  ASCENDING KEY IS DBX-RECORD-NAME
                  INDEXED BY REC-NAME-DBX
                  .
             10  DBX-RECORD-NAME PIC X(30).
             10  DBX-RECORD-CODE PIC 9(4).
             10  DBX-RECORD-DIR  PIC X.

       PROCEDURE DIVISION.
       MAIN.
           MOVE 'A-F-GEN-LEDGER-ZGL' TO REC-NAME.
           PERFORM FINDIT.
           MOVE 'JUNK' TO REC-NAME.
           PERFORM FINDIT.
           STOP RUN.

       FINDIT.
           SEARCH DBI-RECORD-NAMES
           AT END
               DISPLAY 'A ' REC-NAME ' is invalid.'
           WHEN REC-NAME = DBI-RECORD-NAME (REC-NAME-IDX)
               DISPLAY 'A ' REC-NAME ' is code '
                         DBI-RECORD-CODE (REC-NAME-IDX) '.'.

           SEARCH DBX-RECORD-NAMES
           AT END
               DISPLAY 'B ' REC-NAME ' is invalid.'
           WHEN REC-NAME = DBX-RECORD-NAME (REC-NAME-DBX)
               DISPLAY 'B ' REC-NAME ' is code '
                         DBX-RECORD-CODE (REC-NAME-DBX) '.'.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:5771: \$COMPILE -frelax-syntax-checks prog.cob "
at_fn_check_prepare_dynamic "$COMPILE -frelax-syntax-checks prog.cob " "run_misc.at:5771"
( $at_check_trace; $COMPILE -frelax-syntax-checks prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 26: warning: INDEXED should follow ASCENDING/DESCENDING
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5771"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:5775: ./prog"
at_fn_check_prepare_trace "run_misc.at:5775"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "A A-F-GEN-LEDGER-ZGL             is code 0305.
B A-F-GEN-LEDGER-ZGL             is code 0305.
A JUNK                           is invalid.
B JUNK                           is invalid.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5775"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_485
#AT_START_486
at_fn_group_banner 486 'run_misc.at:5785' \
  "ZERO unsigned and negative binary subscript" "    " 4
at_xfail=no
(
  $as_echo "486. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       77  UBIN        PIC  9(8) BINARY.
       77  SBIN        PIC S9(8) BINARY.
       77  UNUP        PIC  9(8).
       77  SNUP        PIC S9(8).

       01  TSTREC.
           05  TSTX PIC X(4) OCCURS 3 TIMES.
           05  TSTY PIC X(4) OCCURS 3 TIMES.

       PROCEDURE DIVISION.
           MOVE ALL 'A' TO TSTX(1).
           MOVE ALL 'B' TO TSTX(2).
           MOVE ALL 'C' TO TSTX(3).
           MOVE ALL '1' TO TSTY(1).
           MOVE ALL '2' TO TSTY(2).
           MOVE ALL '3' TO TSTY(3).
           MOVE 0  TO UNUP.
           DISPLAY "UNUP: " UNUP " is :" TSTY(UNUP) ":" UPON CONSOLE.
           MOVE 0  TO SNUP.
           DISPLAY "SNUP: " SNUP " is :" TSTY(SNUP) ":" UPON CONSOLE.
           MOVE 0  TO SBIN.
           DISPLAY "SBIN: " SBIN " is :" TSTY(SBIN) ":" UPON CONSOLE.
           MOVE -1 TO SBIN.
           DISPLAY "SBIN: " SBIN " is :" TSTY(SBIN) ":" UPON CONSOLE.
           MOVE 'xxx'   TO TSTY(SBIN).
           DISPLAY "SBIN: " SBIN " is :" TSTY(SBIN) ":" UPON CONSOLE.
      * The following would often core dump
           MOVE 0 TO UBIN.
           DISPLAY "UBIN: " UBIN " is :" TSTY(UBIN) ":" UPON CONSOLE.
           MOVE 'xxx'   TO TSTY(UBIN).
           MOVE 1 TO UBIN.
           DISPLAY "UBIN: " UBIN " is :" TSTY(UBIN) ":" UPON CONSOLE.
           STOP RUN.
_ATEOF


# Safe run with runtime checks
{ set +x
$as_echo "$at_srcdir/run_misc.at:5829: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5829"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5829"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5830: ./prog"
at_fn_check_prepare_trace "run_misc.at:5830"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 23: subscript of 'TSTY' out of bounds: 0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_misc.at:5830"
$at_failed && at_fn_log_failure
$at_traceon; }


# Runtime checks disable, subscript may be zero or even negative
{ set +x
$as_echo "$at_srcdir/run_misc.at:5834: \$COBC -x prog.cob -o prog_unsafe"
at_fn_check_prepare_dynamic "$COBC -x prog.cob -o prog_unsafe" "run_misc.at:5834"
( $at_check_trace; $COBC -x prog.cob -o prog_unsafe
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5834"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_misc.at:5835: ./prog_unsafe"
at_fn_check_prepare_trace "run_misc.at:5835"
( $at_check_trace; ./prog_unsafe
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "UNUP: 00000000 is :CCCC:
SNUP: +00000000 is :CCCC:
SBIN: +00000000 is :CCCC:
SBIN: -00000001 is :BBBB:
SBIN: -00000001 is :xxx :
UBIN: 00000000 is :CCCC:
UBIN: 00000001 is :1111:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5835"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_486
#AT_START_487
at_fn_group_banner 487 'run_misc.at:5848' \
  "Default Arithmetic" "                             " 4
at_xfail=no
(
  $as_echo "487. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 NUM-A   PIC 9(3) VALUE 399.
       01 NUM-B   PIC 9(3) VALUE 211.
       01 NUM-C   PIC 9(3)V99 VALUE 212.34.
       01 NUMV1   PIC 9(3)V9.
       01 PICX    PIC X VALUE 'A'.
       01 RSLT    PIC 9(3).
       01 RSLTV1  PIC 9(3).9.
       01 RSLTV2  PIC 9(3).99.
      *
       PROCEDURE DIVISION.
       MAIN.
           COMPUTE RSLT = NUM-A + 1.1.
           DISPLAY 'Simple Compute  RSLT IS ' RSLT
           COMPUTE RSLT = ((NUM-A / 100) - (NUM-B / 100)) * 100
           DISPLAY 'Single Variable RSLT IS ' RSLT
           COMPUTE RSLTV2, RSLT = ((NUM-A / 100) - (NUM-B / 100)) * 100
           DISPLAY 'Compute  RSLT    IS ' RSLT
           DISPLAY 'Compute  RSLTv99 IS ' RSLTV2
           COMPUTE RSLTV1, RSLT = ((NUM-A / 100) - (NUM-B / 100)) * 100
           DISPLAY 'Compute  RSLT    IS ' RSLT
           DISPLAY 'Compute  RSLTv9  IS ' RSLTV1
           MOVE 0 TO RSLT
           ADD NUM-C TO RSLT.
           DISPLAY 'Add      RSLT    IS ' RSLT.
           MOVE 0 TO RSLT
           ADD NUM-A NUM-C 10 TO RSLT.
           DISPLAY 'Add      RSLT    IS ' RSLT.
           SUBTRACT NUM-C FROM RSLT.
           DISPLAY 'Subtract RSLT    IS ' RSLT.
           SUBTRACT NUM-A -10 FROM RSLT.
           DISPLAY 'Subtract RSLT    IS ' RSLT.
           MOVE 0 TO RSLT
           ADD NUM-A NUM-C TO RSLT GIVING RSLTV1.
           DISPLAY 'Add      RSLTv9  IS ' RSLTV1
           MULTIPLY NUM-A BY NUM-C GIVING RSLT.
           DISPLAY 'Multiply RSLT    IS ' RSLT.
           MULTIPLY RSLT BY NUM-C.
           DISPLAY 'Multiply RSLT    IS ' RSLT.
           DIVIDE NUM-A BY 10 GIVING RSLT.
           DISPLAY 'Divide   RSLT    IS ' RSLT.
           DIVIDE RSLT BY 4 GIVING RSLTV1.
           DISPLAY 'Divide   RSLTv9  IS ' RSLTV1.
           DIVIDE RSLT BY 4 GIVING RSLT.
           DISPLAY 'Divide   RSLT    IS ' RSLT.

           COMPUTE RSLTV1, RSLT = ((NUM-A / 100) - (NUM-B / 100)) * 100
           DISPLAY 'Simple   RSLT    IS ' RSLT
                           ' RSLTv9  IS ' RSLTV1.

           COMPUTE RSLTV1, RSLT = ((NUM-A / (100.55 + -0.550))
                                -  (NUM-B / (10.11 * 10 - 1.1)))
                                  * (220 / 2.2)
           DISPLAY 'Complex  RSLT    IS ' RSLT
                           ' RSLTv9  IS ' RSLTV1.

           COMPUTE RSLTV1, RSLT = ((NUM-A / (101 - 1))
                                -  (NUM-B / (10 * 10))) * (200 / 2)
           DISPLAY 'Reduced  RSLT    IS ' RSLT
                           ' RSLTv9  IS ' RSLTV1.
           MOVE NUM-A TO NUMV1.
           IF ((NUMV1 / (101 - 1))
              -  (NUM-B / (10 * 10))) * (200 / 2) EQUAL 188
              DISPLAY "Not Using ARITHMETIC-OSVS"
           ELSE
              DISPLAY "Using ARITHMETIC-OSVS"
           END-IF.
           STOP RUN.
_ATEOF

{ set +x
$as_echo "$at_srcdir/run_misc.at:5924: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:5924"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5924"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:5926: ./prog"
at_fn_check_prepare_trace "run_misc.at:5926"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Simple Compute  RSLT IS 400
Single Variable RSLT IS 188
Compute  RSLT    IS 188
Compute  RSLTv99 IS 188.00
Compute  RSLT    IS 188
Compute  RSLTv9  IS 188.0
Add      RSLT    IS 212
Add      RSLT    IS 621
Subtract RSLT    IS 408
Subtract RSLT    IS 019
Add      RSLTv9  IS 611.3
Multiply RSLT    IS 723
Multiply RSLT    IS 723
Divide   RSLT    IS 039
Divide   RSLTv9  IS 009.7
Divide   RSLT    IS 009
Simple   RSLT    IS 188 RSLTv9  IS 188.0
Complex  RSLT    IS 188 RSLTv9  IS 188.0
Reduced  RSLT    IS 188 RSLTv9  IS 188.0
Not Using ARITHMETIC-OSVS
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:5926"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_487
#AT_START_488
at_fn_group_banner 488 'run_misc.at:5952' \
  "OSVS Arithmetic" "                                " 4
at_xfail=no
(
  $as_echo "488. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 NUM-A   PIC 9(3) VALUE 399.
       01 NUM-B   PIC 9(3) VALUE 211.
       01 NUM-C   PIC 9(3)V99 VALUE 212.34.
       01 NUMV1   PIC 9(3)V9.
       01 PICX    PIC X VALUE 'A'.
       01 RSLT    PIC 9(3).
       01 RSLTV1  PIC 9(3).9.
       01 RSLTV2  PIC 9(3).99.
      *
       PROCEDURE DIVISION.
       MAIN.
           COMPUTE RSLT = NUM-A + 1.1.
           DISPLAY 'Simple Compute  RSLT IS ' RSLT
           COMPUTE RSLT = ((NUM-A / 100) - (NUM-B / 100)) * 100
           DISPLAY 'Single Variable RSLT IS ' RSLT
           COMPUTE RSLTV2, RSLT = ((NUM-A / 100) - (NUM-B / 100)) * 100
           DISPLAY 'Compute  RSLT    IS ' RSLT
           DISPLAY 'Compute  RSLTv99 IS ' RSLTV2
           COMPUTE RSLTV1, RSLT = ((NUM-A / 100) - (NUM-B / 100)) * 100
           DISPLAY 'Compute  RSLT    IS ' RSLT
           DISPLAY 'Compute  RSLTv9  IS ' RSLTV1
           MOVE 0 TO RSLT
           ADD NUM-C TO RSLT.
           DISPLAY 'Add      RSLT    IS ' RSLT.
           MOVE 0 TO RSLT
           ADD NUM-A NUM-C 10 TO RSLT.
           DISPLAY 'Add      RSLT    IS ' RSLT.
           SUBTRACT NUM-C FROM RSLT.
           DISPLAY 'Subtract RSLT    IS ' RSLT.
           SUBTRACT NUM-A -10 FROM RSLT.
           DISPLAY 'Subtract RSLT    IS ' RSLT.
           MOVE 0 TO RSLT
           ADD NUM-A NUM-C TO RSLT GIVING RSLTV1.
           DISPLAY 'Add      RSLTv9  IS ' RSLTV1
           MULTIPLY NUM-A BY NUM-C GIVING RSLT.
           DISPLAY 'Multiply RSLT    IS ' RSLT.
           MULTIPLY RSLT BY NUM-C.
           DISPLAY 'Multiply RSLT    IS ' RSLT.
           DIVIDE NUM-A BY 10 GIVING RSLT.
           DISPLAY 'Divide   RSLT    IS ' RSLT.
           DIVIDE RSLT BY 4 GIVING RSLTV1.
           DISPLAY 'Divide   RSLTv9  IS ' RSLTV1.
           DIVIDE RSLT BY 4 GIVING RSLT.
           DISPLAY 'Divide   RSLT    IS ' RSLT.

           COMPUTE RSLTV1, RSLT = ((NUM-A / 100) - (NUM-B / 100)) * 100
           DISPLAY 'Simple   RSLT    IS ' RSLT
                           ' RSLTv9  IS ' RSLTV1.

           COMPUTE RSLTV1, RSLT = ((NUM-A / (100.55 + -0.550))
                                -  (NUM-B / (10.11 * 10 - 1.1)))
                                  * (220 / 2.2)
           DISPLAY 'Complex  RSLT    IS ' RSLT
                           ' RSLTv9  IS ' RSLTV1.

           COMPUTE RSLTV1, RSLT = ((NUM-A / (101 - 1))
                                -  (NUM-B / (10 * 10))) * (200 / 2)
           DISPLAY 'Reduced  RSLT    IS ' RSLT
                           ' RSLTv9  IS ' RSLTV1.
           MOVE NUM-A TO NUMV1.
           IF ((NUMV1 / (101 - 1))
              -  (NUM-B / (10 * 10))) * (200 / 2) EQUAL 188
              DISPLAY "Not Using ARITHMETIC-OSVS"
           ELSE
              DISPLAY "Using ARITHMETIC-OSVS"
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:6029: \$COMPILE -farithmetic-osvs prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -farithmetic-osvs prog.cob" "run_misc.at:6029"
( $at_check_trace; $COMPILE -farithmetic-osvs prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in paragraph 'MAIN':
prog.cob: 17: warning: precision of result may change with arithmetic-osvs
prog.cob: 19: warning: precision of result may change with arithmetic-osvs
prog.cob: 21: warning: precision of result may change with arithmetic-osvs
prog.cob: 24: warning: precision of result may change with arithmetic-osvs
prog.cob: 31: warning: precision of result may change with arithmetic-osvs
prog.cob: 35: warning: precision of result may change with arithmetic-osvs
prog.cob: 38: warning: precision of result may change with arithmetic-osvs
prog.cob: 40: warning: precision of result may change with arithmetic-osvs
prog.cob: 44: warning: precision of result may change with arithmetic-osvs
prog.cob: 46: warning: precision of result may change with arithmetic-osvs
prog.cob: 48: warning: precision of result may change with arithmetic-osvs
prog.cob: 51: warning: precision of result may change with arithmetic-osvs
prog.cob: 55: warning: precision of result may change with arithmetic-osvs
prog.cob: 61: warning: precision of result may change with arithmetic-osvs
prog.cob: 67: warning: precision of result may change with arithmetic-osvs
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6029"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:6048: ./prog"
at_fn_check_prepare_trace "run_misc.at:6048"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Simple Compute  RSLT IS 400
Single Variable RSLT IS 100
Compute  RSLT    IS 188
Compute  RSLTv99 IS 188.00
Compute  RSLT    IS 180
Compute  RSLTv9  IS 180.0
Add      RSLT    IS 212
Add      RSLT    IS 621
Subtract RSLT    IS 408
Subtract RSLT    IS 019
Add      RSLTv9  IS 611.3
Multiply RSLT    IS 723
Multiply RSLT    IS 723
Divide   RSLT    IS 039
Divide   RSLTv9  IS 009.7
Divide   RSLT    IS 009
Simple   RSLT    IS 180 RSLTv9  IS 180.0
Complex  RSLT    IS 180 RSLTv9  IS 180.0
Reduced  RSLT    IS 180 RSLTv9  IS 180.0
Using ARITHMETIC-OSVS
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6048"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_488
#AT_START_489
at_fn_group_banner 489 'run_misc.at:6074' \
  "SET CONSTANT directive" "                         " 4
at_xfail=no
(
  $as_echo "489. $at_setup_line: testing $at_desc ..."
  $at_traceon



# The SET CONSTANT directive defines a level78 variable
# for the current compilation unit

# original MF extension: $SET CONSTANT
cat >prog.cob <<'_ATEOF'

       $SET CONSTANT DOGGY "Barky"
       $SET CONSTANT PONY "Blacky"
       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  THEDOG    PIC X(6) VALUE DOGGY.
       77  MYHORSE   PIC X(7) VALUE PONY.
       $SET CONSTANT PONY "White"
      *
       PROCEDURE DIVISION.
       MAIN.
           DISPLAY "Your Dog's name is " DOGGY ";".
           DISPLAY "The Dog's name is " THEDOG ";".
           DISPLAY "My Horse is " MYHORSE ";".
           DISPLAY "My little pony is " PONY ".".
           STOP RUN.
_ATEOF


# OpenCOBOL/GnuCOBOL extension: >>SET CONSTANT
cat >prog2.cob <<'_ATEOF'

       >>SET CONSTANT DOGGY "Barky"
       >>SET CONSTANT PONY "Blacky"
       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog2.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  THEDOG    PIC X(6) VALUE DOGGY.
       77  MYHORSE   PIC X(7) VALUE PONY.
       >>SET CONSTANT PONY "White"
      *
       PROCEDURE DIVISION.
       MAIN.
           DISPLAY "Your Dog's name is " DOGGY ";".
           DISPLAY "The Dog's name is " THEDOG ";".
           DISPLAY "My Horse is " MYHORSE ";".
           DISPLAY "My little pony is " PONY ".".
           STOP RUN.
_ATEOF


# OpenCOBOL/GnuCOBOL extension: >>DEFINE CONSTANT
cat >prog3.cob <<'_ATEOF'

       >>DEFINE CONSTANT DOGGY "Barky"
       >>DEFINE CONSTANT PONY "Blacky"
       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog3.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  THEDOG    PIC X(6) VALUE DOGGY.
       77  MYHORSE   PIC X(7) VALUE PONY.
       >>DEFINE CONSTANT PONY "White" OVERRIDE
      *
       PROCEDURE DIVISION.
       MAIN.
           DISPLAY "Your Dog's name is " DOGGY ";".
           DISPLAY "The Dog's name is " THEDOG ";".
           DISPLAY "My Horse is " MYHORSE ";".
           DISPLAY "My little pony is " PONY ".".
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:6143: \$COMPILE -std=mf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_misc.at:6143"
( $at_check_trace; $COMPILE -std=mf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6143"
$at_failed && at_fn_log_failure
$at_traceon; }


# Note: MF does not redefine a value via SET CONSTANT
# the first definitions wins (we should add a warning)
{ set +x
$as_echo "$at_srcdir/run_misc.at:6147: ./prog"
at_fn_check_prepare_trace "run_misc.at:6147"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Your Dog's name is Barky;
The Dog's name is Barky ;
My Horse is Blacky ;
My little pony is Blacky.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6147"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:6154: \$COMPILE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_misc.at:6154"
( $at_check_trace; $COMPILE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6154"
$at_failed && at_fn_log_failure
$at_traceon; }


# Note: MF does not redefine a value via SET CONSTANT
# the first definitions wins (we should add a warning)
{ set +x
$as_echo "$at_srcdir/run_misc.at:6158: ./prog2"
at_fn_check_prepare_trace "run_misc.at:6158"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Your Dog's name is Barky;
The Dog's name is Barky ;
My Horse is Blacky ;
My little pony is Blacky.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6158"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:6165: \$COMPILE -fdefine-constant-directive=ok prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE -fdefine-constant-directive=ok prog3.cob" "run_misc.at:6165"
( $at_check_trace; $COMPILE -fdefine-constant-directive=ok prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6165"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:6167: ./prog3"
at_fn_check_prepare_trace "run_misc.at:6167"
( $at_check_trace; ./prog3
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Your Dog's name is Barky;
The Dog's name is Barky ;
My Horse is Blacky ;
My little pony is White.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6167"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_489
#AT_START_490
at_fn_group_banner 490 'run_misc.at:6177' \
  "DEFINE OVERRIDE" "                                " 4
at_xfail=no
(
  $as_echo "490. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       >>SET CONSTANT DOGGY "Pluto"
       >>SET CONSTANT PONY "Piper"
       WORKING-STORAGE SECTION.
       01  THEDOG    PIC X(6) VALUE DOGGY.

       >>DEFINE DPONY  AS PARAMETER OVERRIDE
       >>IF DPONY IS NOT DEFINED
       >>DEFINE DPONY AS "No Dpony"
       >>END-IF
       01  CNSPONY     CONSTANT FROM DPONY.

       >>DEFINE ENVPONY AS PARAMETER OVERRIDE
       >>IF ENVPONY IS NOT DEFINED
       >>DEFINE ENVPONY AS "No EnvPony"
       >>END-IF
       01  HORSE       CONSTANT FROM ENVPONY.
       77  MYHORSE    PIC X(12) VALUE HORSE  .
       77  MYPONYENV  PIC X(12).
      *
       PROCEDURE DIVISION.
       MAIN.
           DISPLAY "ENVPONY" UPON ENVIRONMENT-NAME
           ACCEPT  MYPONYENV FROM ENVIRONMENT-VALUE.
           DISPLAY "ENVPONY env var set to " MYPONYENV ";".
           DISPLAY "1st Dog's name is " DOGGY ";".
           DISPLAY "2nd Dog's name is " PONY ";".
       >>IF ENVPONY IS DEFINED
           DISPLAY "ENVPONY is DEFINED as " HORSE ";".
       >>ELSE
           DISPLAY "ENVPONY was NOT DEFINED;".
       >>END-IF
           DISPLAY "DPONY set to " CNSPONY ";".
       >>IF ENVPONY = "WHITE"
       >>DEFINE CONSTANT PONY AS "White Horse" OVERRIDE
       >>ELSE
       >>DEFINE CONSTANT PONY AS "default Dirty" OVERRIDE
       >>END-IF
           DISPLAY "My pony is " PONY ";".
       >>IF DPONY IS DEFINED
           DISPLAY "DPONY is DEFINED as " CNSPONY ";".
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:6228: export ENVPONY=WHITE; \$COMPILE prog.cob -fdefine-constant-directive=ok -DDPONY=Stallone"
at_fn_check_prepare_dynamic "export ENVPONY=WHITE; $COMPILE prog.cob -fdefine-constant-directive=ok -DDPONY=Stallone" "run_misc.at:6228"
( $at_check_trace; export ENVPONY=WHITE; $COMPILE prog.cob -fdefine-constant-directive=ok -DDPONY=Stallone
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6228"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:6230: export ENVPONY=WHITE; ./prog"
at_fn_check_prepare_trace "run_misc.at:6230"
( $at_check_trace; export ENVPONY=WHITE; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ENVPONY env var set to WHITE       ;
1st Dog's name is Pluto;
2nd Dog's name is Piper;
ENVPONY is DEFINED as WHITE;
DPONY set to Stallone;
My pony is White Horse;
DPONY is DEFINED as Stallone;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6230"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_490
#AT_START_491
at_fn_group_banner 491 'run_misc.at:6243' \
  "DEFINE Defaults" "                                " 4
at_xfail=no
(
  $as_echo "491. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       >>SET CONSTANT DOGGY "Pluto"
       >>SET CONSTANT PONY "Piper"
       WORKING-STORAGE SECTION.
       01  THEDOG    PIC X(6) VALUE DOGGY.

       >>DEFINE DPONY  AS PARAMETER OVERRIDE
       >>IF DPONY IS NOT DEFINED
       >>DEFINE DPONY AS "No Dpony"
       >>END-IF
       01  CNSPONY     CONSTANT FROM DPONY.

       >>DEFINE ENVPONY AS PARAMETER OVERRIDE
       >>IF ENVPONY IS NOT DEFINED
       >>DEFINE ENVPONY AS "No EnvPony"
       >>END-IF
       01  HORSE       CONSTANT FROM ENVPONY.
       77  MYHORSE    PIC X(12) VALUE HORSE  .
       77  MYPONYENV  PIC X(12).
      *
       PROCEDURE DIVISION.
       MAIN.
           DISPLAY "ENVPONY" UPON ENVIRONMENT-NAME
           ACCEPT  MYPONYENV FROM ENVIRONMENT-VALUE.
           DISPLAY "ENVPONY env var set to " MYPONYENV ";".
           DISPLAY "1st Dog's name is " DOGGY ";".
           DISPLAY "2nd Dog's name is " PONY ";".
       >>IF ENVPONY IS DEFINED
           DISPLAY "ENVPONY is DEFINED as " HORSE ";".
       >>ELSE
           DISPLAY "ENVPONY was NOT DEFINED;".
       >>END-IF
           DISPLAY "DPONY set to " CNSPONY ";".
       >>IF ENVPONY = "WHITE"
       >>DEFINE CONSTANT PONY AS "White Horse" OVERRIDE
       >>ELSE
       >>DEFINE CONSTANT PONY AS "default Dirty" OVERRIDE
       >>END-IF
           DISPLAY "My pony is " PONY ";".
       >>IF DPONY IS DEFINED
           DISPLAY "DPONY is DEFINED as " CNSPONY ";".
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:6294: \$COMPILE prog.cob -fdefine-constant-directive=ok"
at_fn_check_prepare_dynamic "$COMPILE prog.cob -fdefine-constant-directive=ok" "run_misc.at:6294"
( $at_check_trace; $COMPILE prog.cob -fdefine-constant-directive=ok
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6294"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:6296: ./prog"
at_fn_check_prepare_trace "run_misc.at:6296"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ENVPONY env var set to             ;
1st Dog's name is Pluto;
2nd Dog's name is Piper;
ENVPONY is DEFINED as No EnvPony;
DPONY set to No Dpony;
My pony is default Dirty;
DPONY is DEFINED as No Dpony;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6296"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_491
#AT_START_492
at_fn_group_banner 492 'run_misc.at:6309' \
  "78 VALUE" "                                       " 4
at_xfail=no
(
  $as_echo "492. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       78  DOGGY     VALUE "Barky".
       01  MYREC.
          05  FLD1   PIC 9(2).
          05  FLD2   PIC X(7).
          05  FLD3   PIC X(2) OCCURS 5 TIMES.
          05  FLD4   PIC X(4).
          05  FLD5   PIC X(4).
       01  PICX      PIC XXX VALUE 'Abc'.
       78  HUN       VALUE 10 * (10 + LENGTH OF PICX) + 12.35-2+3.
       78  HUN2      VALUE HUN * (10 + LENGTH OF PICX) -4.
       01  THEDOG    PIC X(6) VALUE DOGGY.
       78  DIV1      VALUE 100 / 3.
       78  NUM2      VALUE 1 + 2 * 3.
       LINKAGE SECTION.
       01  XMYREC.
          05  XFLD1   PIC 9(2).
          05  XFLD2   PIC X(7).
             78  XPOS3    VALUE NEXT.
          05  XFLD3   PIC X(2) OCCURS 5 TIMES.
             78  XPOS4    VALUE NEXT.
          05  XFLD4   PIC X(4).
          05  XFLD5   PIC X(4).
       78  XSTRT4     VALUE START OF XFLD4.
      *
       PROCEDURE DIVISION.
       MAIN.
           DISPLAY "DIV1 is " DIV1.
           DISPLAY "HUN  is " HUN.
           DISPLAY "HUN2 is " HUN2.
           MOVE NUM2 TO FLD1
           IF FLD1 = 9
             DISPLAY "NUM2 is " NUM2 " left to right precedence."
           ELSE
             DISPLAY "NUM2 is " NUM2 " normal precedence."
           END-IF.
           DISPLAY "XFLD3 starts at " XPOS3.
           DISPLAY "XFLD4 starts at " XSTRT4.
           DISPLAY "XFLD4 starts at " XPOS4.
           DISPLAY "Your Dog's name is " DOGGY ";".
           DISPLAY "The Dog's name is " THEDOG ";".
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:6360: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:6360"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6360"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:6362: ./prog"
at_fn_check_prepare_trace "run_misc.at:6362"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "DIV1 is 33
HUN  is 143
HUN2 is 1855
NUM2 is 9 left to right precedence.
XFLD3 starts at 9
XFLD4 starts at 19
XFLD4 starts at 11
Your Dog's name is Barky;
The Dog's name is Barky ;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6362"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_492
#AT_START_493
at_fn_group_banner 493 'run_misc.at:6377' \
  "01 CONSTANT" "                                    " 4
at_xfail=no
(
  $as_echo "493. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       >>DEFINE MYDOG AS "Piper"
       >>DEFINE MYNUM1 AS 11
       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  MYREC.
          05  FLD1   PIC 9(2).
          05  FLD2   PIC X(7).
          05  FLD3   PIC X(2) OCCURS 5 TIMES.
          05  FLD4   PIC X(4).
          05  FLD5   PIC X(4).
       01  PICX      PIC XXX VALUE 'Abc'.
       01  CAT       CONSTANT  'Cat '.
       01  DOG       CONSTANT  'Dog '.
       01  YARD      CONSTANT  CAT & "& " & DOG.
       78  HUN       VALUE 10 * (10 + LENGTH OF PICX) + 12.35-2+3.
       78  HUN2      VALUE HUN * (10 + LENGTH OF PICX) -4.
       78  DIV1      VALUE 100 / 3.
       78  NUM2      VALUE 1 + 2 * 3.
       01  CON3      CONSTANT (((1 + 2) * NUM2) - 4).
       01  CON4      CONSTANT AS 3.1416 + CON3.
       01  CON5      CONSTANT 1 + 2 * 3.
       01  DOGNAME   CONSTANT FROM MYDOG.
       01  NUM1      CONSTANT FROM MYNUM1.
       01  CON6      CONSTANT AS CON5 + NUM1.
       >> IF NUM2 DEFINED  *> optional passed from command line
       01  NUM2      CONSTANT FROM MYNUM2.
       >> END-IF
      *
       PROCEDURE DIVISION.
       MAIN.
           DISPLAY "CAT  is '" CAT "'".
           DISPLAY "Yard is '" YARD "'".
           DISPLAY "DIV1 is " DIV1.
           DISPLAY "HUN  is " HUN.
           DISPLAY "HUN2 is " HUN2.
           MOVE NUM2 TO FLD1
           IF FLD1 = 9
             DISPLAY "78 VALUE has simple left to right precedence."
           ELSE
             DISPLAY "78 VALUE is " NUM2 " normal precedence."
           END-IF.
           MOVE CON5 TO FLD1
           IF FLD1 = 7
             DISPLAY "01 CONSTANT has normal operator precedence."
           ELSE
             DISPLAY "01 CONSTANT is " CON5 " left to right precedence."
           END-IF.
           DISPLAY "CON3 is " CON3.
           DISPLAY "CON4 is " CON4 " vs " 3.141596
                   " & " -2.189 " & " +12.
           DISPLAY "CON6 is " CON6 "."
           DISPLAY "My Dog's name is " DOGNAME ";".
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_misc.at:6438: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_misc.at:6438"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6438"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_misc.at:6440: ./prog"
at_fn_check_prepare_trace "run_misc.at:6440"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "CAT  is 'Cat '
Yard is 'Cat & Dog '
DIV1 is 33
HUN  is 143
HUN2 is 1855
78 VALUE has simple left to right precedence.
01 CONSTANT has normal operator precedence.
CON3 is 23
CON4 is 26 vs 3.141596 & -2.189 & +12
CON6 is 18.
My Dog's name is Piper;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_misc.at:6440"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_493
#AT_START_494
at_fn_group_banner 494 'run_file.at:22' \
  "READ INTO AT-END sequence" "                      " 4
at_xfail=no
(
  $as_echo "494. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN "./TEST-FILE".
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE.
       01  TEST-REC     PIC X(10).
       WORKING-STORAGE  SECTION.
       01  X            PIC X(10).
       PROCEDURE        DIVISION.
           OPEN  OUTPUT TEST-FILE.
           CLOSE TEST-FILE.
           OPEN  INPUT  TEST-FILE.
           READ  TEST-FILE INTO X
               AT END MOVE ALL ZERO TO X
           END-READ.
           CLOSE TEST-FILE.
           IF X NOT = "0000000000"
              DISPLAY "Expected zeros - Got " X
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:53: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:53"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:53"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:54: ./prog"
at_fn_check_prepare_trace "run_file.at:54"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:54"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_494
#AT_START_495
at_fn_group_banner 495 'run_file.at:59' \
  "First READ on empty SEQUENTIAL INDEXED file" "    " 4
at_xfail=no
(
  $as_echo "495. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/run_file.at:62: test \"\$COB_HAS_ISAM\" = \"yes\" || exit 77"
at_fn_check_prepare_dynamic "test \"$COB_HAS_ISAM\" = \"yes\" || exit 77" "run_file.at:62"
( $at_check_trace; test "$COB_HAS_ISAM" = "yes" || exit 77
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:62"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       "./TEST-FILE"
                        ORGANIZATION IS  INDEXED
                        ACCESS MODE  IS  SEQUENTIAL
                        RECORD KEY   IS  TEST-KEY.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-KEY      PIC X(10).
       PROCEDURE        DIVISION.
           OPEN  OUTPUT TEST-FILE.
           CLOSE TEST-FILE.
           OPEN  INPUT  TEST-FILE.
           READ  TEST-FILE
                 AT END
                   CONTINUE
                 NOT AT END
                   DISPLAY "NOT OK"
                   END-DISPLAY
           END-READ.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:93: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:93"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:94: ./prog"
at_fn_check_prepare_trace "run_file.at:94"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_495
#AT_START_496
at_fn_group_banner 496 'run_file.at:99' \
  "REWRITE a RELATIVE file with RANDOM access" "     " 4
at_xfail=no
(
  $as_echo "496. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       "./TEST-FILE"
                        ORGANIZATION IS RELATIVE
                        ACCESS MODE  IS RANDOM
                        RELATIVE KEY IS TEST-KEY.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X.
       WORKING-STORAGE  SECTION.
       01 TEST-KEY      PIC 9.
       PROCEDURE        DIVISION.
      *
           OPEN OUTPUT TEST-FILE.
           MOVE 1 TO TEST-KEY.
           MOVE "A" TO TEST-REC.
           WRITE TEST-REC
           END-WRITE.
           MOVE 2 TO TEST-KEY.
           MOVE "B" TO TEST-REC.
           WRITE TEST-REC
           END-WRITE.
           CLOSE TEST-FILE.
      *
           OPEN I-O TEST-FILE.
           MOVE 1 TO TEST-KEY.
           READ TEST-FILE
           END-READ.
           MOVE 2 TO TEST-KEY.
           MOVE "C" TO TEST-REC.
           REWRITE TEST-REC
           END-REWRITE.
           CLOSE TEST-FILE.
      *
           OPEN INPUT TEST-FILE.
           MOVE 1 TO TEST-KEY.
           READ TEST-FILE
           END-READ.
           IF TEST-REC NOT = "A"
              DISPLAY "Expected 'A' - Got " TEST-REC
              END-DISPLAY
           END-IF.
           MOVE 2 TO TEST-KEY.
           READ TEST-FILE
           END-READ.
           IF TEST-REC NOT = "C"
              DISPLAY "Expected 'C' - Got " TEST-REC
              END-DISPLAY
           END-IF.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:160: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:160"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:160"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:161: ./prog"
at_fn_check_prepare_trace "run_file.at:161"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_496
#AT_START_497
at_fn_group_banner 497 'run_file.at:166' \
  "SORT with SD, I/O SEQUENTIAL" "                   " 4
at_xfail=no
(
  $as_echo "497. $at_setup_line: testing $at_desc ..."
  $at_traceon



# Note: We shouldn't use AT_DATA to create sequential record
# data, because AT_DATA needs a \n at the end

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT SORT-IN   ASSIGN "test.txt".
       SELECT SORT-OUT  ASSIGN "result.txt".
       SELECT SORT-WRK  ASSIGN "SORT-WRK".
       DATA             DIVISION.
       FILE             SECTION.
       FD SORT-IN.
       01 IN-REC        PIC X(6).
       FD SORT-OUT.
       01 OUT-REC       PIC X(6).
       SD SORT-WRK.
       01 WRK-REC       PIC X(6).
       PROCEDURE        DIVISION.

      * Special case: write test data in COBOL, see note above
           OPEN OUTPUT SORT-IN.
           WRITE IN-REC FROM SPACES   END-WRITE.
           WRITE IN-REC FROM SPACES   END-WRITE.
           WRITE IN-REC FROM "world " END-WRITE.
           WRITE IN-REC FROM SPACES   END-WRITE.
           WRITE IN-REC FROM "hello " END-WRITE.
           WRITE IN-REC FROM SPACES   END-WRITE.
           WRITE IN-REC FROM SPACES   END-WRITE.
           CLOSE SORT-IN.

           SORT SORT-WRK
                ASCENDING KEY WRK-REC
                USING  SORT-IN
                GIVING SORT-OUT.
             STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:209: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:209"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:209"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:210: ./prog"
at_fn_check_prepare_trace "run_file.at:210"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:210"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:211: cat result.txt"
at_fn_check_prepare_trace "run_file.at:211"
( $at_check_trace; cat result.txt
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "                              hello world " | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:211"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_497
#AT_START_498
at_fn_group_banner 498 'run_file.at:216' \
  "SORT with SD, I/O LINE SEQUENTIAL" "              " 4
at_xfail=no
(
  $as_echo "498. $at_setup_line: testing $at_desc ..."
  $at_traceon



# Note: We shouldn't use AT_DATA to create sequential record
# data, because AT_DATA needs a \n at the end

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT SORT-IN   ASSIGN "test.txt"
                        ORGANISATION LINE SEQUENTIAL.
       SELECT SORT-OUT  ASSIGN "result.txt"
                        ORGANISATION LINE SEQUENTIAL.
       SELECT SORT-WRK  ASSIGN "SORT-WRK".
       DATA             DIVISION.
       FILE             SECTION.
       FD SORT-IN.
       01 IN-REC        PIC X(20).
       FD SORT-OUT.
       01 OUT-REC       PIC X(20).
       SD SORT-WRK.
       01 WRK-REC       PIC X(6).
       PROCEDURE        DIVISION.

      * Special case: write test data in COBOL, see note above
           OPEN OUTPUT SORT-IN.
           WRITE IN-REC FROM SPACES   END-WRITE.
           WRITE IN-REC FROM SPACES   END-WRITE.
           WRITE IN-REC FROM "world " END-WRITE.
           WRITE IN-REC FROM SPACES   END-WRITE.
           WRITE IN-REC FROM "hello " END-WRITE.
           WRITE IN-REC FROM SPACES   END-WRITE.
           WRITE IN-REC FROM SPACES   END-WRITE.
           CLOSE SORT-IN.

           SORT SORT-WRK
                ASCENDING KEY WRK-REC
                USING  SORT-IN
                GIVING SORT-OUT.
             STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:261: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:261"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:261"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:262: ./prog"
at_fn_check_prepare_trace "run_file.at:262"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:262"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:263: cat result.txt"
at_fn_check_prepare_trace "run_file.at:263"
( $at_check_trace; cat result.txt
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "




hello
world
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:263"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_498
#AT_START_499
at_fn_group_banner 499 'run_file.at:275' \
  "SORT with SD, I/O LINE SEQUENTIAL same file" "    " 4
at_xfail=no
(
  $as_echo "499. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.txt <<'_ATEOF'

bla
world
hello

blubb
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT SORT-IN   ASSIGN "test.txt"
                        ORGANISATION LINE SEQUENTIAL.
       SELECT SORT-WRK  ASSIGN "dummy".
       DATA             DIVISION.
       FILE             SECTION.
       FD SORT-IN.
       01 IN-REC        PIC X(6).
       SD SORT-WRK.
       01 sort-entry    PIC X(6).
       PROCEDURE        DIVISION.

      * We can use normal test data as we want to
      * create a line sequential file.
      *     OPEN OUTPUT SORT-IN.
      *     WRITE IN-REC FROM SPACES   END-WRITE.
      *     WRITE IN-REC FROM "world " END-WRITE.
      *     WRITE IN-REC FROM "hello " END-WRITE.
      *     WRITE IN-REC FROM SPACES   END-WRITE.
      *     CLOSE SORT-IN.

           SORT SORT-WRK
                ASCENDING sort-entry
                USING  SORT-IN
                GIVING SORT-IN.
             STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:319: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:319"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:319"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:320: ./prog"
at_fn_check_prepare_trace "run_file.at:320"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:320"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:321: cat test.txt"
at_fn_check_prepare_trace "run_file.at:321"
( $at_check_trace; cat test.txt
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "

bla
blubb
hello
world
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:321"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_499
#AT_START_500
at_fn_group_banner 500 'run_file.at:332' \
  "SORT nonexistent file" "                          " 4
at_xfail=no
(
  $as_echo "500. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT SORT-IN   ASSIGN "SORT-IN".
       SELECT SORT-OUT  ASSIGN "SORT-OUT".
       SELECT SORT-WRK  ASSIGN "SORT-WRK".
       DATA             DIVISION.
       FILE             SECTION.
       FD SORT-IN.
       01 IN-REC        PIC X(100).
       FD SORT-OUT.
       01 OUT-REC       PIC X(100).
       SD SORT-WRK.
       01 WRK-REC       PIC X(100).
       PROCEDURE        DIVISION.
           SORT SORT-WRK
                ASCENDING KEY WRK-REC
                USING  SORT-IN
                GIVING SORT-OUT.
             STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:360: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:360"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:360"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:361: ./prog"
at_fn_check_prepare_trace "run_file.at:361"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:361"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:362: cat SORT-OUT"
at_fn_check_prepare_trace "run_file.at:362"
( $at_check_trace; cat SORT-OUT
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:362"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_500
#AT_START_501
at_fn_group_banner 501 'run_file.at:367' \
  "ASSIGN with LOCAL-STORAGE item" "                 " 4
at_xfail=no
(
  $as_echo "501. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test.txt <<'_ATEOF'
hello
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT test-file ASSIGN path
                        ORGANIZATION LINE SEQUENTIAL.
       DATA             DIVISION.
       FILE	            SECTION.
       FD  test-file.
       01  test-rec     PIC X(5).
       LOCAL-STORAGE    SECTION.
       01  path         PIC X(10) VALUE "test.txt".
       PROCEDURE        DIVISION.
           OPEN INPUT test-file.
           READ test-file   END-READ.
           DISPLAY test-rec END-DISPLAY.
           CLOSE test-file.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:396: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:396"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:396"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:397: ./prog"
at_fn_check_prepare_trace "run_file.at:397"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "hello
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:397"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_501
#AT_START_502
at_fn_group_banner 502 'run_file.at:403' \
  "ASSIGN with LOCAL-STORAGE item and INITIAL prog" "" 4
at_xfail=no
(
  $as_echo "502. $at_setup_line: testing $at_desc ..."
  $at_traceon



# Files are initialised in a different location in INITIAL program, hence the
# need for a separate test.

cat >test.txt <<'_ATEOF'
hello
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog INITIAL.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT test-file ASSIGN path
                        ORGANIZATION LINE SEQUENTIAL.
       DATA             DIVISION.
       FILE	            SECTION.
       FD  test-file.
       01  test-rec     PIC X(5).
       LOCAL-STORAGE    SECTION.
       01  path         PIC X(10) VALUE "test.txt".
       PROCEDURE        DIVISION.
           OPEN INPUT test-file.
           READ test-file   END-READ.
           DISPLAY test-rec END-DISPLAY.
           CLOSE test-file.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:435: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:435"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:435"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:436: ./prog"
at_fn_check_prepare_trace "run_file.at:436"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "hello
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:436"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_502
#AT_START_503
at_fn_group_banner 503 'run_file.at:443' \
  "WRITE+REWRITE FILE name" "                        " 4
at_xfail=no
(
  $as_echo "503. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.

       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT FLATFILE ASSIGN EXTERNAL RELFIX
           ORGANIZATION RELATIVE
           ACCESS IS SEQUENTIAL RELATIVE KEY IS REC-NUM
           FILE STATUS IS CUST-STAT.

           SELECT FLATFILE2 ASSIGN EXTERNAL RELFIX
           ORGANIZATION RELATIVE
           ACCESS IS RANDOM RELATIVE KEY IS REC-NUM
           FILE STATUS IS CUST-STAT.

       DATA  DIVISION.
       FILE SECTION.
       FD  FLATFILE
           BLOCK CONTAINS 5 RECORDS.

       01  TSPFL-RECORD.
           10  CM-CUST-NUM                     PICTURE X(8).
           10  CM-COMPANY                      PICTURE X(25).
           10  CM-DISK                         PICTURE X(8).
           10  CM-NO-TERMINALS                 PICTURE 9(4).

       FD  FLATFILE2
           BLOCK CONTAINS 5 RECORDS.

       01  TSP2-RECORD.
           10  C2-CUST-NUM                     PICTURE X(8).
           10  C2-COMPANY                      PICTURE X(25).
           10  C2-DISK                         PICTURE X(8).
           10  C2-NO-TERMINALS                 PICTURE 9(4).

       WORKING-STORAGE SECTION.

       77  MAX-SUB           VALUE  6          PICTURE 9(4) COMP SYNC.
       77  CUST-STAT                           PICTURE X(2).
       77  REC-NUM           VALUE  1          PICTURE 9(4).

       01  TEST-DATA.

         02  DATA-CUST-NUM-TBL.

           05  FILLER PIC X(8) VALUE "ALP00000".
           05  FILLER PIC X(8) VALUE "BET00000".
           05  FILLER PIC X(8) VALUE "DEL00000".
           05  FILLER PIC X(8) VALUE "EPS00000".
           05  FILLER PIC X(8) VALUE "FOR00000".
           05  FILLER PIC X(8) VALUE "GAM00000".

         02  DATA-CUST-NUM REDEFINES DATA-CUST-NUM-TBL
                                       PIC X(8) OCCURS 6.
         02  DATA-COMPANY-TBL.

           05  FILLER PIC X(25) VALUE "ALPHA ELECTRICAL CO. LTD.".
           05  FILLER PIC X(25) VALUE "BETA SHOE MFG. INC.      ".
           05  FILLER PIC X(25) VALUE "DELTA LUGGAGE REPAIRS    ".
           05  FILLER PIC X(25) VALUE "EPSILON EQUIPMENT SUPPLY ".
           05  FILLER PIC X(25) VALUE "FORTUNE COOKIE COMPANY   ".
           05  FILLER PIC X(25) VALUE "GAMMA X-RAY TECHNOLOGY   ".
         02  DATA-COMPANY  REDEFINES DATA-COMPANY-TBL
                                       PIC X(25) OCCURS 6.
         02  DATA-ADDRESS-2-TBL.

           05  FILLER PIC X(10) VALUE "ATLANTA   ".
           05  FILLER PIC X(10) VALUE "CALGARY   ".
           05  FILLER PIC X(10) VALUE "NEW YORK  ".
           05  FILLER PIC X(10) VALUE "TORONTO   ".
           05  FILLER PIC X(10) VALUE "WASHINGTON".
           05  FILLER PIC X(10) VALUE "WHITEPLAIN".
         02  DATA-ADDRESS   REDEFINES DATA-ADDRESS-2-TBL
                                       PIC X(10) OCCURS 6.

         02  DATA-NO-TERMINALS-TBL.

           05  FILLER PIC 9(3) COMP-3 VALUE 10.
           05  FILLER PIC 9(3) COMP-3 VALUE 13.
           05  FILLER PIC 9(3) COMP-3 VALUE 75.
           05  FILLER PIC 9(3) COMP-3 VALUE 10.
           05  FILLER PIC 9(3) COMP-3 VALUE 90.
           05  FILLER PIC 9(3) COMP-3 VALUE 254.

         02  DATA-NO-TERMINALS REDEFINES DATA-NO-TERMINALS-TBL
                                       PIC 9(3) COMP-3 OCCURS 6.
       01  WORK-AREA.
           05  SUB                             PICTURE 9(4) COMP SYNC.
               88  ODD-RECORD                  VALUE 1 3 5.


       PROCEDURE DIVISION.

           PERFORM LOADFILE.

           OPEN I-O FLATFILE2.
           MOVE 2 TO REC-NUM
           READ FLATFILE2
           DISPLAY "Read    " C2-CUST-NUM " Sts:" CUST-STAT
                   " Trms:" C2-NO-TERMINALS.
           ADD 1 TO C2-NO-TERMINALS
           REWRITE FILE FLATFILE2 FROM TSP2-RECORD
           READ FLATFILE2
           DISPLAY "REWROTE " C2-CUST-NUM " Sts:" CUST-STAT
                   " Trms:" C2-NO-TERMINALS.
           CLOSE FLATFILE2.
           STOP RUN.

       LOADFILE.
           DISPLAY "Loading sample program data file."
                            UPON CONSOLE.

           OPEN OUTPUT FLATFILE.

           PERFORM LOAD-RECORD
                        VARYING SUB FROM 1 BY 1
                          UNTIL SUB > MAX-SUB.

           DISPLAY "Sample program data file load complete."
                            UPON CONSOLE.
           CLOSE FLATFILE.

       LOAD-RECORD.

           MOVE SPACES                       TO TSPFL-RECORD.
           MOVE DATA-CUST-NUM      (SUB)     TO CM-CUST-NUM.
           MOVE DATA-COMPANY       (SUB)     TO CM-COMPANY.
           MOVE DATA-NO-TERMINALS  (SUB)     TO CM-NO-TERMINALS.
           IF  ODD-RECORD
               MOVE "8417"                   TO CM-DISK
           ELSE
               MOVE "8470"                   TO CM-DISK.
           WRITE FILE FLATFILE FROM TSPFL-RECORD.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:584: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:584"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:584"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_file.at:586: ./prog"
at_fn_check_prepare_trace "run_file.at:586"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Loading sample program data file.
Sample program data file load complete.
Read    BET00000 Sts:00 Trms:0013
REWROTE BET00000 Sts:00 Trms:0014
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:586"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_503
#AT_START_504
at_fn_group_banner 504 'run_file.at:595' \
  "START RELATIVE (1)" "                             " 4
at_xfail=no
(
  $as_echo "504. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT OPTIONAL TEST-FILE
              ASSIGN      "TESTFILE"
              ACCESS       DYNAMIC
              ORGANIZATION RELATIVE
              STATUS       TESTSTAT
              RELATIVE KEY TESTKEY
       .
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE.
       01  TEST-REC     PIC X(4).
       WORKING-STORAGE  SECTION.
       01  TESTKEY      USAGE BINARY-LONG.
       01  TESTSTAT     PIC XX.
           88  V-OK     VALUE "00" "05".
       PROCEDURE        DIVISION.
           DELETE FILE TEST-FILE.
           OPEN  I-O   TEST-FILE.
           IF NOT V-OK
              DISPLAY "OPEN " TESTSTAT
              END-DISPLAY
              GOBACK
           END-IF.
           MOVE 99 TO TESTKEY.
           START TEST-FILE KEY < TESTKEY
           END-START.
           IF TESTSTAT NOT = "23"
              DISPLAY "START " TESTSTAT
              END-DISPLAY
           END-IF.
           CLOSE TEST-FILE.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:638: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:638"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:638"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:639: ./prog"
at_fn_check_prepare_trace "run_file.at:639"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:639"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_504
#AT_START_505
at_fn_group_banner 505 'run_file.at:644' \
  "START RELATIVE (2)" "                             " 4
at_xfail=no
(
  $as_echo "505. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT OPTIONAL TEST-FILE
              ASSIGN      "TESTFILE"
              ACCESS       DYNAMIC
              ORGANIZATION RELATIVE
              STATUS       TESTSTAT
              RELATIVE KEY TESTKEY
       .
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE.
       01  TEST-REC     PIC X(4).
       WORKING-STORAGE  SECTION.
       01  TESTKEY      USAGE BINARY-LONG.
       01  TESTSTAT     PIC XX.
           88  V-OK     VALUE "00" "05".
           88  V-ZERO   VALUE "00".
       PROCEDURE        DIVISION.
           DELETE FILE TEST-FILE.
           OPEN  I-O   TEST-FILE.
           IF NOT V-OK
              DISPLAY "OPEN " TESTSTAT
              END-DISPLAY
              GOBACK
           END-IF.
           MOVE 3 TO TESTKEY.
           MOVE "0003" TO TEST-REC.
           WRITE TEST-REC INVALID KEY
                 DISPLAY "WRITE " TESTSTAT
                 END-DISPLAY
           END-WRITE.
           MOVE 2 TO TESTKEY.
           MOVE "0002" TO TEST-REC.
           WRITE TEST-REC INVALID KEY
                 DISPLAY "WRITE " TESTSTAT
                 END-DISPLAY
           END-WRITE.
           MOVE 99 TO TESTKEY.
           START TEST-FILE KEY < TESTKEY
           END-START.
           IF NOT V-ZERO
              DISPLAY "START " TESTSTAT
              END-DISPLAY
           END-IF.
           IF TESTKEY NOT = 99
              DISPLAY "TESTKEY " TESTKEY
              END-DISPLAY
           END-IF.
           MOVE  SPACE TO TEST-REC.
           READ  TEST-FILE NEXT
           END-READ.
           IF NOT V-ZERO
              DISPLAY "READ " TESTSTAT
              END-DISPLAY
           END-IF.
           IF TEST-REC NOT = "0003"
              DISPLAY "READ RECORD " TEST-REC
              END-DISPLAY
           END-IF.
           CLOSE TEST-FILE.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:715: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:715"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:715"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:716: ./prog"
at_fn_check_prepare_trace "run_file.at:716"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:716"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_505
#AT_START_506
at_fn_group_banner 506 'run_file.at:721' \
  "Read on optional missing file" "                  " 4
at_xfail=no
(
  $as_echo "506. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT OPTIONAL INFILE  ASSIGN TO
                "missing.txt"
                ORGANIZATION IS RELATIVE
                ACCESS IS SEQUENTIAL
                FILE STATUS IS WSFS.
       DATA DIVISION.
       FILE SECTION.
       FD  INFILE.
       01  INREC             PIC X(80).
       WORKING-STORAGE SECTION.
       01  WSFS           PIC X(2).
           88  RECORDFOUND VALUE "00".
       01  WSINREC         PIC X(80).
       PROCEDURE DIVISION.
       MAIN-PROCEDURE.
      *    Open missing file
           OPEN INPUT INFILE
      *    First read, raise a FS 10 (AT END) which is expected
           READ INFILE INTO WSINREC
           END-READ
           IF WSFS = '10'
              DISPLAY "1st Read on missing optional file = " WSFS " OK"
           ELSE
              DISPLAY "1st Read on missing optional file = " WSFS " Bad"
           END-IF.

      *    Second read, should raise a FS 46 (READ AFTER AT END)
      *    but a FS 23 is raised instead.
           READ INFILE INTO WSINREC
           END-READ

           IF WSFS = '46'
              DISPLAY "2nd Read on missing optional file = " WSFS " OK"
           ELSE
              DISPLAY "2nd Read on missing optional file = " WSFS " Bad"
           END-IF.

           CLOSE INFILE
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:772: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:772"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:772"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_file.at:774: ./prog"
at_fn_check_prepare_trace "run_file.at:774"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1st Read on missing optional file = 10 OK
2nd Read on missing optional file = 46 OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:774"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_506
#AT_START_507
at_fn_group_banner 507 'run_file.at:781' \
  "System routines for directories" "                " 4
at_xfail=no
(
  $as_echo "507. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01 DIR PIC X(4) VALUE 'ABCD'.

        PROCEDURE DIVISION.
        CALL 'CBL_CREATE_DIR' USING DIR END-CALL
        IF RETURN-CODE NOT = 0
            DISPLAY 'error creating dir ...' END-DISPLAY
        END-IF

        CALL 'CBL_CHANGE_DIR' USING DIR END-CALL
        IF RETURN-CODE NOT = 0
            DISPLAY 'error changing dir ...' END-DISPLAY
        END-IF

        CALL 'CBL_CHANGE_DIR' USING '..' END-CALL
        IF RETURN-CODE NOT = 0
            DISPLAY 'error changing dir up ...' END-DISPLAY
        END-IF

        CALL 'CBL_DELETE_DIR' USING DIR END-CALL
        IF RETURN-CODE NOT = 0
            DISPLAY 'error deleting dir' END-DISPLAY
        END-IF

        STOP RUN.
_ATEOF



{ set +x
$as_echo "$at_srcdir/run_file.at:816: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:816"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:816"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:817: ./prog"
at_fn_check_prepare_trace "run_file.at:817"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:817"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:818: test -e abcd"
at_fn_check_prepare_trace "run_file.at:818"
( $at_check_trace; test -e abcd
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_file.at:818"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_507
#AT_START_508
at_fn_group_banner 508 'run_file.at:823' \
  "System routines for files" "                      " 4
at_xfail=no
(
  $as_echo "508. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >file1 <<'_ATEOF'

dummy
_ATEOF

cat >file2 <<'_ATEOF'

test
_ATEOF

cat >file3 <<'_ATEOF'

data
_ATEOF


cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID.     prog.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01 FNAME        PIC X(256) VALUE 'testtext.txt'.
        01 ACCESS-MODE  PIC X      USAGE COMP-X VALUE 2.
        01 FHANDLE      PIC X(4)   USAGE COMP-X.

        01 OFFSET       PIC X(8)   USAGE COMP-X.
        01 NBYTES       PIC X(4)   USAGE COMP-X.
        01 WRITE-BUFFER PIC X(20).

        PROCEDURE DIVISION.
        CALL 'CBL_CREATE_FILE' USING FNAME 55 11 22 FHANDLE
        END-CALL
        IF RETURN-CODE NOT = -1
           DISPLAY 'Wrong return codes ...' END-DISPLAY
        END-IF
        MOVE 0 TO RETURN-CODE

        CALL 'CBL_CREATE_FILE' USING
        FNAME ACCESS-MODE 0 0 FHANDLE
        END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error creating file ...' END-DISPLAY
           MOVE 0 TO RETURN-CODE
        END-IF

        MOVE 'TestText.ABCD' TO WRITE-BUFFER.
        MOVE 0 TO OFFSET.
        MOVE 9 TO NBYTES.

        CALL 'CBL_WRITE_FILE' USING
        FHANDLE OFFSET NBYTES '0' WRITE-BUFFER
        END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error writing file ...' END-DISPLAY
           MOVE 0 TO RETURN-CODE
        END-IF

        CALL 'CBL_FLUSH_FILE' USING FHANDLE END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error flushing file ...' END-DISPLAY
           MOVE 0 TO RETURN-CODE
        END-IF

        CALL 'CBL_CLOSE_FILE' USING FHANDLE END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error closing file ...' END-DISPLAY
           MOVE 0 TO RETURN-CODE
        END-IF

        STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID.     prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01 FNAME        PIC X(256) VALUE 'testtext.txt'.
        01 RET          PIC -9.
        01 FHANDLE      PIC X(4)   USAGE COMP-X.

        01 OFFSET       PIC X(8)   USAGE COMP-X.
        01 NBYTES       PIC X(4)   USAGE COMP-X.
        01 READ-BUFFER  PIC X(10).

        PROCEDURE DIVISION.
        CALL 'CBL_OPEN_FILE' USING FNAME 1 0 0 FHANDLE
        END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error opening file ...' END-DISPLAY
        END-IF

        MOVE SPACES TO READ-BUFFER.
        MOVE 2 TO OFFSET.
        MOVE 9 TO NBYTES.

        CALL 'CBL_READ_FILE' USING
        FHANDLE OFFSET NBYTES 0 READ-BUFFER
        END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error reading file ...'
                   return-code
           END-DISPLAY
           MOVE 0 TO RETURN-CODE
        END-IF
        IF READ-BUFFER NOT = 'stText.' *> text from first test
           DISPLAY 'Wrong readbuffer ...' END-DISPLAY
        END-IF

        CALL 'CBL_CLOSE_FILE' USING FHANDLE END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error closing file ...'
                   return-code
           END-DISPLAY
           MOVE 0 TO RETURN-CODE
        END-IF

        CALL 'CBL_RENAME_FILE' USING FNAME 'foo.txt' END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error renaming file ...'
                   return-code
           END-DISPLAY
           MOVE 0 TO RETURN-CODE
        END-IF

        CALL 'CBL_DELETE_FILE' USING 'file1' END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error deleting file1 ...'
                   return-code
           END-DISPLAY
           MOVE 0 TO RETURN-CODE
        END-IF
        CALL 'CBL_DELETE_FILE' USING 'file1' END-CALL
        IF RETURN-CODE = 0
           DISPLAY 'no error on deleting file1 for the second time...'
                   return-code
           END-DISPLAY
        END-IF
        MOVE 0 TO RETURN-CODE

        CALL 'C$DELETE' USING 'file2' 'S' END-CALL
        IF RETURN-CODE NOT = 0
           DISPLAY 'error deleting file2 ...'
                   return-code
           END-DISPLAY
           MOVE 0 TO RETURN-CODE
        END-IF
        CALL 'CBL_DELETE_FILE' USING 'file2' END-CALL
        IF RETURN-CODE = 0   *> note: should only return 0 or 1 when in ACUCOBOL mode
           DISPLAY 'no error on deleting file2 for the second time...'
                   return-code
           END-DISPLAY
        END-IF
        MOVE 0 TO RETURN-CODE

        STOP RUN.
_ATEOF



{ set +x
$as_echo "$at_srcdir/run_file.at:981: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_file.at:981"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:981"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:982: \$COMPILE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:982"
( $at_check_trace; $COMPILE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:982"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:983: ./prog"
at_fn_check_prepare_trace "run_file.at:983"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog.cob: 15: warning: call to CBL_CREATE_FILE with wrong file_lock: 11
libcob: prog.cob: 15: warning: call to CBL_CREATE_FILE with wrong file_dev: 22
libcob: prog.cob: 15: warning: call to CBL_OPEN_FILE with wrong access mode: 55
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:983"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:988: ./prog2"
at_fn_check_prepare_trace "run_file.at:988"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:988"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_508
#AT_START_509
at_fn_group_banner 509 'run_file.at:993' \
  "System routine CBL_COPY_FILE" "                   " 4
at_xfail=no
(
  $as_echo "509. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        PROCEDURE DIVISION.
        DISPLAY "test" END-DISPLAY
        STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog2.
        DATA DIVISION.
        WORKING-STORAGE SECTION.
        01 FILE1 PIC X(8) VALUE 'prog.cob'.
        01 FILE2 PIC X(9) VALUE 'prog3.cob'.

        PROCEDURE DIVISION.
        CALL 'CBL_COPY_FILE' USING
        FILE1 FILE2
        END-CALL
        STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_file.at:1021: \$COMPILE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_file.at:1021"
( $at_check_trace; $COMPILE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1021"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:1022: ./prog2"
at_fn_check_prepare_trace "run_file.at:1022"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1022"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_file.at:1023: diff prog.cob prog3.cob"
at_fn_check_prepare_trace "run_file.at:1023"
( $at_check_trace; diff prog.cob prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_file.at:1023"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_509
#AT_START_510
at_fn_group_banner 510 'run_returncode.at:23' \
  "RETURN-CODE moving" "                             " 4
at_xfail=no
(
  $as_echo "510. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 I             PIC 99 COMP.
       PROCEDURE        DIVISION.
           INITIALIZE RETURN-CODE.
           MOVE ZERO TO RETURN-CODE.
           MOVE 1 TO RETURN-CODE.
           MOVE RETURN-CODE TO I.
           IF I NOT = 1
              DISPLAY I NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_returncode.at:44: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_returncode.at:44"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_returncode.at:44"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_returncode.at:45: ./prog"
at_fn_check_prepare_trace "run_returncode.at:45"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_returncode.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_510
#AT_START_511
at_fn_group_banner 511 'run_returncode.at:49' \
  "RETURN-CODE passing" "                            " 4
at_xfail=no
(
  $as_echo "511. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >mod1.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      mod1.
       PROCEDURE        DIVISION.
           IF RETURN-CODE NOT = 0
              DISPLAY RETURN-CODE NO ADVANCING
              END-DISPLAY
           END-IF.
           MOVE 1 TO RETURN-CODE.
           IF RETURN-CODE NOT = 1
              DISPLAY RETURN-CODE NO ADVANCING
              END-DISPLAY
           END-IF.
           EXIT PROGRAM.
_ATEOF


cat >mod2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      mod2.
       PROCEDURE        DIVISION.
           EXIT PROGRAM.
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           CALL "mod1"
           END-CALL.
           IF RETURN-CODE NOT = 1
              DISPLAY RETURN-CODE NO ADVANCING
              END-DISPLAY
           END-IF.
           CALL "mod2"
           END-CALL.
           IF RETURN-CODE NOT = 0
              DISPLAY RETURN-CODE NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_returncode.at:94: \$COMPILE_MODULE mod1.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE mod1.cob" "run_returncode.at:94"
( $at_check_trace; $COMPILE_MODULE mod1.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_returncode.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_returncode.at:95: \$COMPILE_MODULE mod2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE mod2.cob" "run_returncode.at:95"
( $at_check_trace; $COMPILE_MODULE mod2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_returncode.at:95"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_returncode.at:96: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_returncode.at:96"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_returncode.at:96"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_returncode.at:97: ./prog"
at_fn_check_prepare_trace "run_returncode.at:97"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_returncode.at:97"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_511
#AT_START_512
at_fn_group_banner 512 'run_returncode.at:101' \
  "RETURN-CODE nested" "                             " 4
at_xfail=no
(
  $as_echo "512. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           MOVE 1 TO RETURN-CODE.
           IF RETURN-CODE NOT = 1
              DISPLAY RETURN-CODE NO ADVANCING
              END-DISPLAY
           END-IF.
           CALL "mod1"
           END-CALL.
           IF RETURN-CODE NOT = 2
              DISPLAY RETURN-CODE NO ADVANCING
              END-DISPLAY
           END-IF.
           MOVE ZERO TO RETURN-CODE.
           STOP RUN.
       PROGRAM-ID.      mod1.
       PROCEDURE        DIVISION.
           IF RETURN-CODE NOT = 1
              DISPLAY RETURN-CODE NO ADVANCING
              END-DISPLAY
           END-IF.
           MOVE 2 TO RETURN-CODE.
           EXIT PROGRAM.
       END PROGRAM mod1.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_returncode.at:133: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_returncode.at:133"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_returncode.at:133"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_returncode.at:134: ./prog"
at_fn_check_prepare_trace "run_returncode.at:134"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_returncode.at:134"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_512
#AT_START_513
at_fn_group_banner 513 'run_functions.at:24' \
  "FUNCTION ABS" "                                   " 4
at_xfail=no
(
  $as_echo "513. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   S9(4)V9(4) VALUE -1.2345.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION ABS ( X ) NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:39: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:39"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:40: ./prog"
at_fn_check_prepare_trace "run_functions.at:40"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+0001.2345" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_513
#AT_START_514
at_fn_group_banner 514 'run_functions.at:46' \
  "FUNCTION ACOS" "                                  " 4
at_xfail=no
(
  $as_echo "514. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z   PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION ACOS ( -0.2345 ) TO Z.
           IF Z NOT = 1.80750052110824343510150043852321026
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:64: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:64"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:64"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:65: ./prog"
at_fn_check_prepare_trace "run_functions.at:65"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_514
#AT_START_515
at_fn_group_banner 515 'run_functions.at:70' \
  "FUNCTION ANNUITY" "                               " 4
at_xfail=no
(
  $as_echo "515. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z   PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION ANNUITY ( 3, 5 ) TO Z.
           IF Z NOT = 3.00293255131964809384164222873900293
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:88: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:88"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:88"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:89: ./prog"
at_fn_check_prepare_trace "run_functions.at:89"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:89"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_515
#AT_START_516
at_fn_group_banner 516 'run_functions.at:94' \
  "FUNCTION ASIN" "                                  " 4
at_xfail=no
(
  $as_echo "516. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION ASIN ( -0.2345 ) TO Y.
           IF Y NOT = -0.23670419431334681587017874688345882
              DISPLAY Y
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:112: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:112"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:113: ./prog"
at_fn_check_prepare_trace "run_functions.at:113"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:113"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_516
#AT_START_517
at_fn_group_banner 517 'run_functions.at:118' \
  "FUNCTION ATAN" "                                  " 4
at_xfail=no
(
  $as_echo "517. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION ATAN ( 1 ) TO Y.
           IF Y NOT = 0.78539816339744830961566084581987572
              DISPLAY Y
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:136: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:136"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:136"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:137: ./prog"
at_fn_check_prepare_trace "run_functions.at:137"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:137"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_517
#AT_START_518
at_fn_group_banner 518 'run_functions.at:142' \
  "FUNCTION BYTE-LENGTH" "                           " 4
at_xfail=no
(
  $as_echo "518. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC      X(4).
       01  Z   PIC      N(4).
       01  TEST-FLD     PIC S9(04)V9(08).
       PROCEDURE        DIVISION.
           MOVE FUNCTION BYTE-LENGTH ( X )
             TO TEST-FLD.
           IF TEST-FLD NOT = 4
              DISPLAY 'BYTE-LENGTH X(4) wrong: ' TEST-FLD
              END-DISPLAY
           END-IF.
           MOVE FUNCTION BYTE-LENGTH ( Z )
             TO TEST-FLD.
           IF TEST-FLD NOT = 8
              DISPLAY 'BYTE-LENGTH N(4) wrong: ' TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:169: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:169"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: handling of USAGE NATIONAL is unfinished; implementation is likely to be changed
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:169"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:172: ./prog"
at_fn_check_prepare_trace "run_functions.at:172"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_518
#AT_START_519
at_fn_group_banner 519 'run_functions.at:177' \
  "FUNCTION CHAR" "                                  " 4
at_xfail=no
(
  $as_echo "519. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC   S9(4)V9(4) VALUE 108.
       01  TEST-FLD.
           05  TEST-DATA  PIC X(01).
               88  VALID-DATA   VALUE 'k'.
           05  TEST-UNSET PIC X VALUE '_'.
               88  VALID-UNSET  VALUE '_'.
       PROCEDURE        DIVISION.
           STRING FUNCTION CHAR ( X )
                  DELIMITED BY SIZE
                  INTO TEST-FLD
           END-STRING.
           EVALUATE TRUE
              WHEN NOT VALID-UNSET
                 DISPLAY "FUNCTION result too long"
                 END-DISPLAY
              WHEN VALID-DATA
                 CONTINUE
              WHEN OTHER
                 DISPLAY TEST-DATA
                 END-DISPLAY
           END-EVALUATE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:209: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:209"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:209"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:210: ./prog"
at_fn_check_prepare_trace "run_functions.at:210"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:210"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_519
#AT_START_520
at_fn_group_banner 520 'run_functions.at:215' \
  "FUNCTION COMBINED-DATETIME" "                     " 4
at_xfail=no
(
  $as_echo "520. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(04)V9(08).
       PROCEDURE        DIVISION.
           MOVE FUNCTION COMBINED-DATETIME ( 987, 345.6 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 987.003456
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:234: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:234"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:234"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:235: ./prog"
at_fn_check_prepare_trace "run_functions.at:235"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:235"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_520
#AT_START_521
at_fn_group_banner 521 'run_functions.at:240' \
  "FUNCTION CONCATENATE" "                           " 4
at_xfail=no
(
  $as_echo "521. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y            PIC   X(4).
       01  TEST-FLD.
           05  TEST-DATA  PIC X(14).
               88  VALID-DATA   VALUE 'defxabczz55666'.
           05  TEST-UNSET PIC X VALUE '_'.
               88  VALID-UNSET  VALUE '_'.
       PROCEDURE        DIVISION.
           MOVE "defx" TO Y.
           STRING FUNCTION CONCATENATE ( Y "abc" "zz" "55" "666" )
                  DELIMITED BY SIZE
                  INTO TEST-FLD
           END-STRING.
           EVALUATE TRUE
              WHEN NOT VALID-UNSET
                 DISPLAY "FUNCTION result too long"
                 END-DISPLAY
              WHEN VALID-DATA
                 CONTINUE
              WHEN OTHER
                 DISPLAY TEST-DATA
                 END-DISPLAY
           END-EVALUATE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:273: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:273"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:273"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:274: ./prog"
at_fn_check_prepare_trace "run_functions.at:274"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:274"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_521
#AT_START_522
at_fn_group_banner 522 'run_functions.at:279' \
  "FUNCTION CONCATENATE with reference modding" "    " 4
at_xfail=no
(
  $as_echo "522. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y            PIC X(4).
       01  TEST-FLD     PIC X(9) VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE 'defx' TO Y.
           MOVE FUNCTION CONCATENATE
                ( Y "abc" "zz" "55" "666" ) (2 : 9)
             TO TEST-FLD.
           IF TEST-FLD NOT = 'efxabczz5'
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:301: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:301"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:301"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:302: ./prog"
at_fn_check_prepare_trace "run_functions.at:302"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:302"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_522
#AT_START_523
at_fn_group_banner 523 'run_functions.at:307' \
  "FUNCTION as CALL parameter BY CONTENT" "          " 4
at_xfail=no
(
  $as_echo "523. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       PROCEDURE DIVISION.
       PROG-MAIN.
           CALL "subprog" USING BY CONTENT
                                FUNCTION CONCATENATE("Abc" "D")
           STOP RUN.
           END PROGRAM prog.

       *> *****************************
       IDENTIFICATION DIVISION.
       PROGRAM-ID. subprog.

       DATA DIVISION.
       LINKAGE SECTION.
       01 TESTING PIC X ANY LENGTH.

       PROCEDURE DIVISION USING TESTING.
       SUBPROG-MAIN.
           DISPLAY TESTING
           GOBACK.
       END PROGRAM subprog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:336: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:336"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:337: ./prog"
at_fn_check_prepare_trace "run_functions.at:337"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "AbcD
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:337"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_523
#AT_START_524
at_fn_group_banner 524 'run_functions.at:343' \
  "FUNCTION COS" "                                   " 4
at_xfail=no
(
  $as_echo "524. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y            PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION COS ( -0.2345 ) TO Y.
           IF Y NOT = 0.97263064125625818471341696241456141
              DISPLAY Y
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:361: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:361"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:361"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:362: ./prog"
at_fn_check_prepare_trace "run_functions.at:362"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:362"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_524
#AT_START_525
at_fn_group_banner 525 'run_functions.at:367' \
  "FUNCTION CURRENCY-SYMBOL" "                       " 4
at_xfail=no
(
  $as_echo "525. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-FLD     PIC X(8) VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION CURRENCY-SYMBOL TO TEST-FLD.
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:384: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:384"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:384"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:385: ./prog"
at_fn_check_prepare_trace "run_functions.at:385"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:385"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_525
#AT_START_526
at_fn_group_banner 526 'run_functions.at:390' \
  "FUNCTION CURRENT-DATE" "                          " 4
at_xfail=no
(
  $as_echo "526. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-FLD.
           02  WS-YEAR            PIC 9(04).
               88 VALID-YEAR      VALUE 1980 THRU 9999.
           02  WS-MONTH           PIC 9(02).
               88 VALID-MONTH     VALUE 01 THRU 12.
           02  WS-DAY             PIC 9(02).
               88 VALID-DAY       VALUE 01 THRU 31.
           02  WS-HOUR            PIC 9(02).
               88 VALID-HOUR      VALUE 00 THRU 23.
           02  WS-MIN             PIC 9(02).
               88 VALID-MIN       VALUE 00 THRU 59.
           02  WS-SEVALIDD        PIC 9(02).
               88 VALID-SEC       VALUE 00 THRU 59.
           02  WS-HUNDSEC         PIC 9(02).
               88 VALID-HUNDSEC   VALUE 00 THRU 99.
           02  WS-GREENW          PIC X.
               88 VALID-GREENW    VALUE "-", "+", "0".
               88 ZERO-GREENW     VALUE "0".
           02  WS-OFFSET          PIC 9(02).
               88 VALID-OFFSET    VALUE 00 THRU 13.
               88 ZERO-OFFSET     VALUE 00.
           02  WS-OFFSET2         PIC 9(02).
               88 VALID-OFFSET2   VALUE 00 THRU 59.
               88 ZERO-OFFSET2    VALUE 00.
           02  WS-UNSET           PIC X VALUE '_'.
               88 VALID-UNSET     VALUE '_'.
       PROCEDURE        DIVISION.
           STRING FUNCTION CURRENT-DATE
                  DELIMITED BY SIZE
                  INTO TEST-FLD
           END-STRING.
           EVALUATE TRUE
              WHEN NOT VALID-UNSET
                 DISPLAY "FUNCTION result too long"
                 END-DISPLAY
              WHEN VALID-YEAR     AND
                 VALID-MONTH    AND
                 VALID-DAY      AND
                 VALID-HOUR     AND
                 VALID-MIN      AND
                 VALID-SEC      AND
                 VALID-HUNDSEC  AND
                 VALID-GREENW   AND
                 VALID-OFFSET   AND
                 VALID-OFFSET2  AND
                 VALID-UNSET    AND
                 ((NOT ZERO-GREENW) OR (ZERO-OFFSET AND ZERO-OFFSET2))
                 CONTINUE
              WHEN OTHER
                 DISPLAY "CURRENT-DATE with wrong format: "
                         TEST-FLD (01:21)
                 END-DISPLAY
           END-EVALUATE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:455: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:455"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:455"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:456: ./prog"
at_fn_check_prepare_trace "run_functions.at:456"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:456"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_526
#AT_START_527
at_fn_group_banner 527 'run_functions.at:461' \
  "FUNCTION DATE-OF-INTEGER" "                       " 4
at_xfail=no
(
  $as_echo "527. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(09)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION DATE-OF-INTEGER ( 146000 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 20000925
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:480: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:480"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:480"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:481: ./prog"
at_fn_check_prepare_trace "run_functions.at:481"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:481"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_527
#AT_START_528
at_fn_group_banner 528 'run_functions.at:486' \
  "FUNCTION DATE-TO-YYYYMMDD" "                      " 4
at_xfail=no
(
  $as_echo "528. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(09)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION DATE-TO-YYYYMMDD ( 981002, -10, 1994 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 018981002
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:505: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:505"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:505"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:506: ./prog"
at_fn_check_prepare_trace "run_functions.at:506"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:506"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_528
#AT_START_529
at_fn_group_banner 529 'run_functions.at:511' \
  "FUNCTION DAY-OF-INTEGER" "                        " 4
at_xfail=no
(
  $as_echo "529. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(09)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION DAY-OF-INTEGER ( 146000 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 2000269
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:530: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:530"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:530"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:531: ./prog"
at_fn_check_prepare_trace "run_functions.at:531"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:531"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_529
#AT_START_530
at_fn_group_banner 530 'run_functions.at:536' \
  "FUNCTION DAY-TO-YYYYDDD" "                        " 4
at_xfail=no
(
  $as_echo "530. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(09)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION DAY-TO-YYYYDDD ( 95005, -10, 2013 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 001995005
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:555: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:555"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:555"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:556: ./prog"
at_fn_check_prepare_trace "run_functions.at:556"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:556"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_530
#AT_START_531
at_fn_group_banner 531 'run_functions.at:561' \
  "FUNCTION E" "                                     " 4
at_xfail=no
(
  $as_echo "531. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   9V9(35).
       PROCEDURE        DIVISION.
           MOVE    FUNCTION E TO Y.
           IF Y NOT = 2.71828182845904523536028747135266249
              DISPLAY Y
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:579: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:579"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:579"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:580: ./prog"
at_fn_check_prepare_trace "run_functions.at:580"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:580"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_531
#AT_START_532
at_fn_group_banner 532 'run_functions.at:585' \
  "FUNCTION EXCEPTION-FILE" "                        " 4
at_xfail=no
(
  $as_echo "532. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
           SELECT TEST-FILE ASSIGN "NOTEXIST"
           FILE STATUS IS TEST-STATUS.
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE.
       01  TEST-REC      PIC X(4).
       WORKING-STORAGE SECTION.
       01  TEST-STATUS  PIC XX.
       PROCEDURE        DIVISION.
           OPEN INPUT TEST-FILE.
           DISPLAY FUNCTION EXCEPTION-FILE
                   NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:610: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:610"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:610"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:611: ./prog"
at_fn_check_prepare_trace "run_functions.at:611"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "35TEST-FILE" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:611"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_532
#AT_START_533
at_fn_group_banner 533 'run_functions.at:617' \
  "FUNCTION EXCEPTION-LOCATION" "                    " 4
at_xfail=no
(
  $as_echo "533. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
           SELECT TEST-FILE ASSIGN "NOTEXIST"
           FILE STATUS IS TEST-STATUS.
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE.
       01  TEST-REC      PIC X(4).
       WORKING-STORAGE SECTION.
       01  TEST-STATUS  PIC XX.
       PROCEDURE        DIVISION.
       A00-MAIN SECTION.
       A00.
           OPEN INPUT TEST-FILE.
       B00-MAIN SECTION.
       B00.
           DISPLAY FUNCTION EXCEPTION-LOCATION
                   NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:646: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:646"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:646"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:647: ./prog"
at_fn_check_prepare_trace "run_functions.at:647"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "prog; A00 OF A00-MAIN; 18" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:647"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_533
#AT_START_534
at_fn_group_banner 534 'run_functions.at:653' \
  "FUNCTION EXCEPTION-STATEMENT" "                   " 4
at_xfail=no
(
  $as_echo "534. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
           SELECT TEST-FILE ASSIGN "NOTEXIST"
           FILE STATUS IS TEST-STATUS.
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE.
       01  TEST-REC      PIC X(4).
       WORKING-STORAGE SECTION.
       01  TEST-STATUS  PIC XX.
       PROCEDURE        DIVISION.
           OPEN INPUT TEST-FILE.
           DISPLAY FUNCTION EXCEPTION-STATEMENT
                   NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:678: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:678"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:678"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:679: ./prog"
at_fn_check_prepare_trace "run_functions.at:679"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OPEN                           " | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:679"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_534
#AT_START_535
at_fn_group_banner 535 'run_functions.at:685' \
  "FUNCTION EXCEPTION-STATUS" "                      " 4
at_xfail=no
(
  $as_echo "535. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
           SELECT TEST-FILE ASSIGN "NOTEXIST"
           FILE STATUS IS TEST-STATUS.
       DATA             DIVISION.
       FILE             SECTION.
       FD  TEST-FILE.
       01  TEST-REC      PIC X(4).
       WORKING-STORAGE SECTION.
       01  TEST-STATUS  PIC XX.
       PROCEDURE        DIVISION.
           OPEN INPUT TEST-FILE.
           DISPLAY FUNCTION EXCEPTION-STATUS
                   NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:710: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:710"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:710"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:711: ./prog"
at_fn_check_prepare_trace "run_functions.at:711"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "EC-I-O-PERMANENT-ERROR         " | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:711"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_535
#AT_START_536
at_fn_group_banner 536 'run_functions.at:717' \
  "FUNCTION EXP" "                                   " 4
at_xfail=no
(
  $as_echo "536. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S99V9(34).
       PROCEDURE        DIVISION.
           MOVE FUNCTION EXP ( 3 ) TO Y.
           IF Y NOT = 20.0855369231876677409285296545817178
              DISPLAY Y
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:735: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:735"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:735"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:736: ./prog"
at_fn_check_prepare_trace "run_functions.at:736"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:736"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_536
#AT_START_537
at_fn_group_banner 537 'run_functions.at:741' \
  "FUNCTION EXP10" "                                 " 4
at_xfail=no
(
  $as_echo "537. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(09)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION EXP10 ( 4 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 000010000
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:760: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:760"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:760"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:761: ./prog"
at_fn_check_prepare_trace "run_functions.at:761"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:761"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_537
#AT_START_538
at_fn_group_banner 538 'run_functions.at:766' \
  "FUNCTION FACTORIAL" "                             " 4
at_xfail=no
(
  $as_echo "538. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(09)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION FACTORIAL ( 6 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 000000720
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:785: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:785"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:785"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:786: ./prog"
at_fn_check_prepare_trace "run_functions.at:786"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:786"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_538
#AT_START_539
at_fn_group_banner 539 'run_functions.at:791' \
  "FUNCTION FORMATTED-CURRENT-DATE" "                " 4
at_xfail=no
(
  $as_echo "539. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Datetime-Format CONSTANT "YYYYMMDDThhmmss.ss+hhmm".
       01  str             PIC X(25).
       PROCEDURE        DIVISION.
      *>   Test normal inputs.
           MOVE FUNCTION FORMATTED-CURRENT-DATE ( Datetime-Format )
             TO str
           IF FUNCTION TEST-FORMATTED-DATETIME ( Datetime-Format, str)
                   <> 0
              DISPLAY "Test 1 failed: " str END-DISPLAY
           END-IF.

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:813: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:813"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:813"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:814: ./prog"
at_fn_check_prepare_trace "run_functions.at:814"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:814"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_539
#AT_START_540
at_fn_group_banner 540 'run_functions.at:819' \
  "FUNCTION FORMATTED-DATE" "                        " 4
at_xfail=no
(
  $as_echo "540. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  str          PIC X(10).
       PROCEDURE        DIVISION.
      *>   Test normal inputs.
           MOVE FUNCTION FORMATTED-DATE ( "YYYYMMDD", 1 ) TO str
           IF str <> "16010101"
              DISPLAY "Test 1 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-DATE ( "YYYY-MM-DD", 1 ) TO str
           IF str <> "1601-01-01"
              DISPLAY "Test 2 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-DATE ( "YYYYDDD", 1 ) TO str
           IF str <> "1601001"
              DISPLAY "Test 3 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-DATE ( "YYYY-DDD", 1 ) TO str
           IF str <> "1601-001"
              DISPLAY "Test 4 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-DATE ( "YYYYWwwD", 1 ) TO str
           IF str <> "1601W011"
              DISPLAY "Test 5 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-DATE ( "YYYY-Www-D", 1 ) TO str
           IF str <> "1601-W01-1"
              DISPLAY "Test 6 failed: " str END-DISPLAY
           END-IF

      *>   Test week number edge cases.
      *>   For 2012-01-01.
           MOVE FUNCTION FORMATTED-DATE ( "YYYYWwwD", 150115 ) TO str
           IF str <> "2011W527"
              DISPLAY "Test 7 failed: " str END-DISPLAY
           END-IF

      *>   and for 2013-12-30.
           MOVE FUNCTION FORMATTED-DATE ( "YYYYWwwD", 150844 ) TO str
           IF str <> "2014W011"
              DISPLAY "Test 8 failed: " str END-DISPLAY
           END-IF

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:876: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:876"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:876"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:877: ./prog"
at_fn_check_prepare_trace "run_functions.at:877"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:877"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_540
#AT_START_541
at_fn_group_banner 541 'run_functions.at:882' \
  "FUNCTION FORMATTED-DATE with ref modding" "       " 4
at_xfail=no
(
  $as_echo "541. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  str          PIC X(04).
       PROCEDURE        DIVISION.
           MOVE FUNCTION FORMATTED-DATE ("YYYYMMDD", 1) (3:4)
             TO STR
           IF STR NOT = '0101'
              DISPLAY STR
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:901: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:901"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:901"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:902: ./prog"
at_fn_check_prepare_trace "run_functions.at:902"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:902"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_541
#AT_START_542
at_fn_group_banner 542 'run_functions.at:907' \
  "FUNCTION FORMATTED-DATETIME" "                    " 4
at_xfail=no
(
  $as_echo "542. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  str          PIC X(40).
       PROCEDURE        DIVISION.
      *>   Test normal inputs.
           MOVE FUNCTION FORMATTED-DATETIME
                   ("YYYYMMDDThhmmss", 1, 45296)
               TO str
           IF str <> "16010101T123456"
               DISPLAY "Test 1 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-DATETIME
                   ("YYYY-MM-DDThh:mm:ss", 1, 45296)
               TO str
           IF str <> "1601-01-01T12:34:56"
               DISPLAY "Test 2 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-DATETIME
                    ("YYYYDDDThhmmss+hhmm", 1, 45296, -754)
               TO str
           IF str <> "1601001T123456-1234"
               DISPLAY "Test 3 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-DATETIME
                    ("YYYYDDDThhmmss+hhmm", 1, 45296)
               TO str
           IF str <> "1601001T123456+0000"
               DISPLAY "Test 4 failed: " str END-DISPLAY
           END-IF

           *> Test underflow to next day due to offset
           MOVE FUNCTION FORMATTED-DATETIME
                    ("YYYYDDDThhmmss.sssssssssZ", 150846, 0,
                     1)
               TO str
           IF str <> "2013365T235900.000000000Z"
               DISPLAY "Test 5 failed: " str END-DISPLAY
           END-IF

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:958: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:958"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:958"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:959: ./prog"
at_fn_check_prepare_trace "run_functions.at:959"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:959"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_542
#AT_START_543
at_fn_group_banner 543 'run_functions.at:964' \
  "FUNCTION FORMATTED-DATETIME with ref modding" "   " 4
at_xfail=no
(
  $as_echo "543. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  str          PIC X(04).
       PROCEDURE        DIVISION.
           MOVE FUNCTION FORMATTED-DATETIME
               ("YYYYMMDDThhmmss", 1, 1) (3:4)
             TO STR
           IF STR NOT = '0101'
              DISPLAY STR
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:984: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:984"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:984"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:985: ./prog"
at_fn_check_prepare_trace "run_functions.at:985"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:985"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_543
#AT_START_544
at_fn_group_banner 544 'run_functions.at:990' \
  "FUNCTION FORMATTED-TIME" "                        " 4
at_xfail=no
(
  $as_echo "544. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  str          PIC X(20).
       PROCEDURE        DIVISION.
      *>   Test normal inputs.
           MOVE FUNCTION FORMATTED-TIME ( "hhmmss", 45296 ) TO str
           IF str <> "123456"
               DISPLAY "Test 1 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME ( "hh:mm:ss", 45296 ) TO str
           IF str <> "12:34:56"
               DISPLAY "Test 2 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME ( "hhmmssZ", 86399, -1 ) TO str
           IF str <> "000059Z"
               DISPLAY "Test 3 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME ( "hh:mm:ssZ", 45296)
               TO str
           IF str <> "12:34:56Z"
               DISPLAY "Test 4 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME ( "hhmmss.ss", 45296.78 ) TO str
           IF str <> "123456.78"
               DISPLAY "Test 5 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME ( "hh:mm:ss.ssZ", 0, 120)
               TO str
           IF str <> "22:00:00.00Z"
               DISPLAY "Test 6 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME ( "hhmmss+hhmm", 45296)
               TO str
           IF str <> "123456+0000"
               DISPLAY "Test 7 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME ( "hh:mm:ss+hh:mm", 45296, 0 )
               TO str
           IF str <> "12:34:56+00:00"
               DISPLAY "Test 8 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME ( "hhmmss+hhmm", 45296, -754)
               TO str
           IF str <> "123456-1234"
               DISPLAY "Test 9 failed: " str END-DISPLAY
           END-IF

      *>   Test with invalid/missing offset times.
           MOVE FUNCTION FORMATTED-TIME ( "hhmmss+hhmm", 1, 3000 )
               TO str
           IF str <> SPACES
                  OR FUNCTION EXCEPTION-STATUS <> "EC-ARGUMENT-FUNCTION"
                  OR FUNCTION EXCEPTION-LOCATION <> "prog; ; 60"
               DISPLAY "Test 10 failed: " str END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME ( "hhmmss+hhmm", 1, -3000 )
               TO str
           IF str <> SPACES
                  OR FUNCTION EXCEPTION-STATUS <> "EC-ARGUMENT-FUNCTION"
                  OR FUNCTION EXCEPTION-LOCATION <> "prog; ; 68"
               DISPLAY "Test 11 failed: " str END-DISPLAY
           END-IF

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1071: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1071"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1071"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1072: ./prog"
at_fn_check_prepare_trace "run_functions.at:1072"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1072"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_544
#AT_START_545
at_fn_group_banner 545 'run_functions.at:1077' \
  "FUNCTION FORMATTED-TIME DP.COMMA" "               " 4
at_xfail=no
(
  $as_echo "545. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.

       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT IS COMMA.

       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  str          PIC X(11).

       PROCEDURE        DIVISION.
           MOVE FUNCTION FORMATTED-TIME ("hh:mm:ss,ss", 45296) TO str
           IF str <> "12:34:56,00"
               DISPLAY "Test 1 failed: " str END-DISPLAY
           END-IF

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1102: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1102"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1102"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1103: ./prog"
at_fn_check_prepare_trace "run_functions.at:1103"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1103"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_545
#AT_START_546
at_fn_group_banner 546 'run_functions.at:1108' \
  "FUNCTION FORMATTED-TIME with ref modding" "       " 4
at_xfail=no
(
  $as_echo "546. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  str          PIC X(04).
       PROCEDURE        DIVISION.
           MOVE FUNCTION FORMATTED-TIME ("hhmmss", 45296) (3:4)
             TO STR
           IF STR NOT = '3456'
              DISPLAY STR
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1127: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1127"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1127"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1128: ./prog"
at_fn_check_prepare_trace "run_functions.at:1128"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1128"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_546
#AT_START_547
at_fn_group_banner 547 'run_functions.at:1133' \
  "FUNCTION FRACTION-PART" "                         " 4
at_xfail=no
(
  $as_echo "547. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(04)V9(08).
       PROCEDURE        DIVISION.
           MOVE FUNCTION FRACTION-PART ( 3.12345 )
             TO TEST-FLD.
           IF TEST-FLD NOT = +0000.12345
              DISPLAY 'FRACTION-PART ( +3.12345 ) wrong: ' TEST-FLD
              END-DISPLAY
           END-IF.
           MOVE FUNCTION FRACTION-PART ( -3.12345 )
             TO TEST-FLD.
           IF TEST-FLD NOT = -0000.12345
              DISPLAY 'FRACTION-PART ( -3.12345 ) wrong: ' TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1158: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1158"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1158"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1159: ./prog"
at_fn_check_prepare_trace "run_functions.at:1159"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1159"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_547
#AT_START_548
at_fn_group_banner 548 'run_functions.at:1164' \
  "FUNCTION HIGHEST-ALGEBRAIC" "                     " 4
at_xfail=no
(
  $as_echo "548. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  F1           PIC S999.
       01  F2           PIC S9(4) BINARY.
       01  F3           PIC 99V9(3).
       01  F4           PIC $**,**9.99BCR.
       01  F5           PIC $**,**9.99.
       01  F6           USAGE BINARY-CHAR SIGNED.
       01  F7           USAGE BINARY-CHAR UNSIGNED.
       01  TEST-FLD     PIC S9(08)V9(04).
       PROCEDURE        DIVISION.
           MOVE FUNCTION HIGHEST-ALGEBRAIC (F1)
             TO TEST-FLD.
           IF TEST-FLD NOT = 999
              DISPLAY "Test 1 fail: " TEST-FLD
              END-DISPLAY
           END-IF.
           MOVE FUNCTION HIGHEST-ALGEBRAIC (F2)
             TO TEST-FLD.
           IF TEST-FLD NOT = 9999
              DISPLAY "Test 2 fail: " TEST-FLD
              END-DISPLAY
           END-IF.
           MOVE FUNCTION HIGHEST-ALGEBRAIC (F3)
             TO TEST-FLD.
           IF TEST-FLD NOT = 99.999
              DISPLAY "Test 3 fail: " TEST-FLD
              END-DISPLAY
           END-IF.
           MOVE FUNCTION HIGHEST-ALGEBRAIC (F4)
             TO TEST-FLD.
           IF TEST-FLD NOT = 99999.99
              DISPLAY "Test 4 fail: " TEST-FLD
              END-DISPLAY
           END-IF.
           MOVE FUNCTION HIGHEST-ALGEBRAIC (F5)
             TO TEST-FLD.
           IF TEST-FLD NOT = 99999.99
              DISPLAY "Test 5 fail: " TEST-FLD
              END-DISPLAY
           END-IF.
           MOVE FUNCTION HIGHEST-ALGEBRAIC (F6)
             TO TEST-FLD.
           IF TEST-FLD NOT = 127
              DISPLAY "Test 6 fail: " TEST-FLD
              END-DISPLAY
           END-IF.
           MOVE FUNCTION HIGHEST-ALGEBRAIC (F7)
             TO TEST-FLD.
           IF TEST-FLD NOT = 255
              DISPLAY "Test 7 fail: " TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1226: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1226"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1226"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1227: ./prog"
at_fn_check_prepare_trace "run_functions.at:1227"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1227"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_548
#AT_START_549
at_fn_group_banner 549 'run_functions.at:1232' \
  "FUNCTION INTEGER" "                               " 4
at_xfail=no
(
  $as_echo "549. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC   S9(4)V9(4) VALUE -1.5.
       01  Y            PIC   9(12)      VALUE 600851475143.
       01  TEST-FLD     PIC S9(14)V9(08).
       PROCEDURE        DIVISION.
           MOVE FUNCTION INTEGER ( X )
             TO TEST-FLD.
           IF TEST-FLD NOT = -2
              DISPLAY 'INTEGER ( X ) wrong: ' TEST-FLD
              END-DISPLAY
           END-IF.
           MOVE FUNCTION INTEGER ( Y / 71 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 8462696833
              DISPLAY 'INTEGER ( Y / 71 ) wrong: ' TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1259: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1259"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1259"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1260: ./prog"
at_fn_check_prepare_trace "run_functions.at:1260"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1260"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_549
#AT_START_550
at_fn_group_banner 550 'run_functions.at:1265' \
  "FUNCTION INTEGER-OF-DATE" "                       " 4
at_xfail=no
(
  $as_echo "550. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(09)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION INTEGER-OF-DATE ( 20000925 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 000146000
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1284: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1284"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1284"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1285: ./prog"
at_fn_check_prepare_trace "run_functions.at:1285"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1285"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_550
#AT_START_551
at_fn_group_banner 551 'run_functions.at:1290' \
  "FUNCTION INTEGER-OF-DAY" "                        " 4
at_xfail=no
(
  $as_echo "551. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TEST-FLD     PIC S9(09)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION INTEGER-OF-DAY ( 2000269 )
             TO TEST-FLD.
           IF TEST-FLD NOT = 000146000
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1309: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1309"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1309"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1310: ./prog"
at_fn_check_prepare_trace "run_functions.at:1310"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1310"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_551
#AT_START_552
at_fn_group_banner 552 'run_functions.at:1315' \
  "FUNCTION INTEGER-OF-FORMATTED-DATE" "             " 4
at_xfail=no
(
  $as_echo "552. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  day-int      PIC 9(9).

       PROCEDURE        DIVISION.
           *> The date 2013-12-30 is used as it can also be used to
           *> check the conversion of dates in week form.
           MOVE FUNCTION INTEGER-OF-FORMATTED-DATE
                   ("YYYY-MM-DD", "2013-12-30")
               TO day-int
           IF day-int <> 150844
               DISPLAY "Test 1 failed: " day-int END-DISPLAY
           END-IF

           MOVE FUNCTION INTEGER-OF-FORMATTED-DATE
                   ("YYYY-DDD", "2013-364")
               TO day-int
           IF day-int <> 150844
               DISPLAY "Test 2 failed: " day-int END-DISPLAY
           END-IF

           MOVE FUNCTION INTEGER-OF-FORMATTED-DATE
                   ("YYYY-Www-D", "2014-W01-1")
               TO day-int
           IF day-int <> 150844
               DISPLAY "Test 3 failed: " day-int END-DISPLAY
           END-IF

           MOVE FUNCTION INTEGER-OF-FORMATTED-DATE
                   ("YYYY-MM-DDThh:mm:ss", "2013-12-30T12:34:56")
               TO day-int
           IF day-int <> 150844
               DISPLAY "Test 4 failed: " day-int END-DISPLAY
           END-IF

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1359: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1359"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1359"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1360: ./prog"
at_fn_check_prepare_trace "run_functions.at:1360"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1360"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_552
#AT_START_553
at_fn_group_banner 553 'run_functions.at:1365' \
  "FUNCTION INTEGER-PART" "                          " 4
at_xfail=no
(
  $as_echo "553. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   S9(4)V9(4) VALUE -1.5.
       01  TEST-FLD     PIC S9(04)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION INTEGER-PART ( X )
             TO TEST-FLD.
           IF TEST-FLD NOT = -1
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1385: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1385"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1385"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1386: ./prog"
at_fn_check_prepare_trace "run_functions.at:1386"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1386"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_553
#AT_START_554
at_fn_group_banner 554 'run_functions.at:1391' \
  "FUNCTION LENGTH" "                                " 4
at_xfail=no
(
  $as_echo "554. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC      S9(4)V9(4) VALUE -1.5.
       01  TEST-FLD     PIC S9(04)V9(02).
       PROCEDURE        DIVISION.
           MOVE FUNCTION LENGTH ( X )
             TO TEST-FLD.
           IF TEST-FLD NOT = 8
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1411: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1411"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1411"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1412: ./prog"
at_fn_check_prepare_trace "run_functions.at:1412"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1412"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_554
#AT_START_555
at_fn_group_banner 555 'run_functions.at:1417' \
  "FUNCTION LOCALE-COMPARE" "                        " 4
at_xfail=no
(
  $as_echo "555. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           IF FUNCTION LOCALE-COMPARE ("A", "B") NOT = "<"
              DISPLAY "Test 1 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION LOCALE-COMPARE ("B", "A") NOT = ">"
              DISPLAY "Test 2 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION LOCALE-COMPARE ("A", "A") NOT = "="
              DISPLAY "Test 3 fail"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1441: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1441"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1441"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1442: ./prog"
at_fn_check_prepare_trace "run_functions.at:1442"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1442"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_555
#AT_START_556
at_fn_group_banner 556 'run_functions.at:1447' \
  "FUNCTION LOCALE-DATE" "                           " 4
at_xfail=no
(
  $as_echo "556. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(32)   VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION LOCALE-DATE ( "19630302" ) TO X.
           IF X NOT = SPACES
                DISPLAY "OK"
                END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1465: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1465"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1465"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1466: ./prog"
at_fn_check_prepare_trace "run_functions.at:1466"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1466"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_556
#AT_START_557
at_fn_group_banner 557 'run_functions.at:1473' \
  "FUNCTION LOCALE-TIME" "                           " 4
at_xfail=no
(
  $as_echo "557. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(32)   VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION LOCALE-TIME ( "233012" ) TO X.
           IF X NOT = SPACES
                DISPLAY "OK"
                END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1491: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1491"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1491"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1492: ./prog"
at_fn_check_prepare_trace "run_functions.at:1492"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1492"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_557
#AT_START_558
at_fn_group_banner 558 'run_functions.at:1499' \
  "FUNCTION LOCALE-TIME-FROM-SECONDS" "              " 4
at_xfail=no
(
  $as_echo "558. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(32)   VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION LOCALE-TIME-FROM-SECONDS ( 33012 ) TO X.
           IF X NOT = SPACES
              DISPLAY "OK"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1517: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1517"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1517"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1518: ./prog"
at_fn_check_prepare_trace "run_functions.at:1518"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1518"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_558
#AT_START_559
at_fn_group_banner 559 'run_functions.at:1525' \
  "FUNCTION LOG" "                                   " 4
at_xfail=no
(
  $as_echo "559. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION LOG ( 1.5 ) TO Y.
           IF Y NOT = 0.40546510810816438197801311546434913
              DISPLAY Y
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1543: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1543"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1543"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1544: ./prog"
at_fn_check_prepare_trace "run_functions.at:1544"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1544"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_559
#AT_START_560
at_fn_group_banner 560 'run_functions.at:1549' \
  "FUNCTION LOG10" "                                 " 4
at_xfail=no
(
  $as_echo "560. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION LOG10 ( 1.5 ) TO Y.
           IF Y NOT = 0.17609125905568124208128900853062228
              DISPLAY Y
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1567: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1567"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1567"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1568: ./prog"
at_fn_check_prepare_trace "run_functions.at:1568"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1568"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_560
#AT_START_561
at_fn_group_banner 561 'run_functions.at:1573' \
  "FUNCTION LOWER-CASE" "                            " 4
at_xfail=no
(
  $as_echo "561. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(10) VALUE "A#B.C%D+E$".
       01  TEST-FLD     PIC X(12) VALUE ALL '_'.
       PROCEDURE        DIVISION.
           STRING FUNCTION LOWER-CASE ( X )
                  DELIMITED BY SIZE
                  INTO TEST-FLD
           END-STRING
           IF TEST-FLD NOT = 'a#b.c%d+e$__'
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1595: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1595"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1595"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1596: ./prog"
at_fn_check_prepare_trace "run_functions.at:1596"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1596"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_561
#AT_START_562
at_fn_group_banner 562 'run_functions.at:1601' \
  "FUNCTION LOWER-CASE with reference modding" "     " 4
at_xfail=no
(
  $as_echo "562. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(10) VALUE "A#B.C%D+E$".
       01  TEST-FLD     PIC X(03).
       PROCEDURE        DIVISION.
           MOVE FUNCTION LOWER-CASE ( X ) (1 : 3)
             TO TEST-FLD
           IF TEST-FLD NOT = 'a#b'
              DISPLAY TEST-FLD
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1621: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1621"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1621"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1622: ./prog"
at_fn_check_prepare_trace "run_functions.at:1622"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1622"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_562
#AT_START_563
at_fn_group_banner 563 'run_functions.at:1627' \
  "FUNCTION LOWEST-ALGEBRAIC" "                      " 4
at_xfail=no
(
  $as_echo "563. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  F1           PIC S999.
       01  F2           PIC S9(4) BINARY.
       01  F3           PIC 99V9(3).
       01  F4           PIC $**,**9.99BCR.
       01  F5           PIC $**,**9.99.
       01  F6           USAGE BINARY-CHAR SIGNED.
       01  F7           USAGE BINARY-CHAR UNSIGNED.
       PROCEDURE        DIVISION.
           IF FUNCTION LOWEST-ALGEBRAIC (F1) NOT = -999
              DISPLAY "Test 1 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION LOWEST-ALGEBRAIC (F2) NOT = -9999
              DISPLAY "Test 2 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION LOWEST-ALGEBRAIC (F3) NOT = 0
              DISPLAY "Test 3 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION LOWEST-ALGEBRAIC (F4) NOT = -99999.99
              DISPLAY "Test 4 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION LOWEST-ALGEBRAIC (F5) NOT = 0
              DISPLAY "Test 5 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION LOWEST-ALGEBRAIC (F6) NOT = -128
              DISPLAY "Test 6 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION LOWEST-ALGEBRAIC (F7) NOT = 0
              DISPLAY "Test 7 fail"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1674: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1674"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1674"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1675: ./prog"
at_fn_check_prepare_trace "run_functions.at:1675"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1675"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_563
#AT_START_564
at_fn_group_banner 564 'run_functions.at:1680' \
  "FUNCTION MAX" "                                   " 4
at_xfail=no
(
  $as_echo "564. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION MAX ( 3 -14 0 8 -3 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1694: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1694"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1694"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1695: ./prog"
at_fn_check_prepare_trace "run_functions.at:1695"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "8
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1695"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_564
#AT_START_565
at_fn_group_banner 565 'run_functions.at:1702' \
  "FUNCTION MEAN" "                                  " 4
at_xfail=no
(
  $as_echo "565. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION MEAN ( 3 -14 0 8 -3 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1716: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1716"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1716"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1717: ./prog"
at_fn_check_prepare_trace "run_functions.at:1717"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-00000001.2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1717"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_565
#AT_START_566
at_fn_group_banner 566 'run_functions.at:1724' \
  "FUNCTION MEDIAN" "                                " 4
at_xfail=no
(
  $as_echo "566. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION MEDIAN ( 3 -14 0 8 -3 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1738: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1738"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1738"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1739: ./prog"
at_fn_check_prepare_trace "run_functions.at:1739"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1739"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_566
#AT_START_567
at_fn_group_banner 567 'run_functions.at:1746' \
  "FUNCTION MIDRANGE" "                              " 4
at_xfail=no
(
  $as_echo "567. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION MIDRANGE ( 3 -14 0 8 -3 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1760: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1760"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1760"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1761: ./prog"
at_fn_check_prepare_trace "run_functions.at:1761"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-000000003
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1761"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_567
#AT_START_568
at_fn_group_banner 568 'run_functions.at:1768' \
  "FUNCTION MIN" "                                   " 4
at_xfail=no
(
  $as_echo "568. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION MIN ( 3 -14 0 8 -3 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1782: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1782"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1782"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1783: ./prog"
at_fn_check_prepare_trace "run_functions.at:1783"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-14
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1783"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_568
#AT_START_569
at_fn_group_banner 569 'run_functions.at:1790' \
  "FUNCTION MOD" "                                   " 4
at_xfail=no
(
  $as_echo "569. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   9(12)      VALUE 600851475143.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION MOD ( -11 5 )
           END-DISPLAY.
           DISPLAY FUNCTION MOD ( Y, 71 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1807: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1807"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1807"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1808: ./prog"
at_fn_check_prepare_trace "run_functions.at:1808"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000000004
000000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1808"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_569
#AT_START_570
at_fn_group_banner 570 'run_functions.at:1816' \
  "FUNCTION MODULE-CALLER-ID" "                      " 4
at_xfail=no
(
  $as_echo "570. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           CALL "prog2"
           END-CALL.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION MODULE-CALLER-ID NO ADVANCING
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1843: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1843"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1843"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1844: \$COMPILE_MODULE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_functions.at:1844"
( $at_check_trace; $COMPILE_MODULE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1844"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1845: ./prog"
at_fn_check_prepare_trace "run_functions.at:1845"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "prog" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1845"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_570
#AT_START_571
at_fn_group_banner 571 'run_functions.at:1850' \
  "FUNCTION MODULE-DATE" "                           " 4
at_xfail=no
(
  $as_echo "571. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-DATE    PIC 9(8) VALUE 0.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MODULE-DATE TO TEST-DATE.
           IF   TEST-DATE NOT = 0
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1869: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1869"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1869"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1870: ./prog"
at_fn_check_prepare_trace "run_functions.at:1870"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1870"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_571
#AT_START_572
at_fn_group_banner 572 'run_functions.at:1875' \
  "FUNCTION MODULE-FORMATTED-DATE" "                 " 4
at_xfail=no
(
  $as_echo "572. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-DATE    PIC X(16) VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MODULE-FORMATTED-DATE TO TEST-DATE.
           IF   TEST-DATE NOT = SPACES
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1894: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1894"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1894"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1895: ./prog"
at_fn_check_prepare_trace "run_functions.at:1895"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1895"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_572
#AT_START_573
at_fn_group_banner 573 'run_functions.at:1900' \
  "FUNCTION MODULE-ID" "                             " 4
at_xfail=no
(
  $as_echo "573. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION MODULE-ID NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1915: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1915"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1915"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1916: ./prog"
at_fn_check_prepare_trace "run_functions.at:1916"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "prog" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1916"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_573
#AT_START_574
at_fn_group_banner 574 'run_functions.at:1921' \
  "FUNCTION MODULE-PATH" "                           " 4
at_xfail=no
(
  $as_echo "574. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-PATH    PIC X(16) VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MODULE-PATH TO TEST-PATH.
           IF   TEST-PATH NOT = SPACES
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1940: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1940"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1940"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1941: ./prog"
at_fn_check_prepare_trace "run_functions.at:1941"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1941"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_574
#AT_START_575
at_fn_group_banner 575 'run_functions.at:1946' \
  "FUNCTION MODULE-SOURCE" "                         " 4
at_xfail=no
(
  $as_echo "575. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION MODULE-SOURCE NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1961: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1961"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1961"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1962: ./prog"
at_fn_check_prepare_trace "run_functions.at:1962"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "prog.cob" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1962"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_575
#AT_START_576
at_fn_group_banner 576 'run_functions.at:1967' \
  "FUNCTION MODULE-TIME" "                           " 4
at_xfail=no
(
  $as_echo "576. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-TIME    PIC 9(6) VALUE 0.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MODULE-TIME TO TEST-TIME.
           IF   TEST-TIME NOT = 0
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:1986: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:1986"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1986"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:1987: ./prog"
at_fn_check_prepare_trace "run_functions.at:1987"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:1987"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_576
#AT_START_577
at_fn_group_banner 577 'run_functions.at:1992' \
  "FUNCTION MONETARY-DECIMAL-POINT" "                " 4
at_xfail=no
(
  $as_echo "577. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-FLD     PIC X(8) VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MONETARY-DECIMAL-POINT TO TEST-FLD.
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2009: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2009"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2009"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2010: ./prog"
at_fn_check_prepare_trace "run_functions.at:2010"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2010"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_577
#AT_START_578
at_fn_group_banner 578 'run_functions.at:2015' \
  "FUNCTION MONETARY-THOUSANDS-SEPARATOR" "          " 4
at_xfail=no
(
  $as_echo "578. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-FLD     PIC X(8) VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MONETARY-THOUSANDS-SEPARATOR TO TEST-FLD.
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2032: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2032"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2032"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2033: ./prog"
at_fn_check_prepare_trace "run_functions.at:2033"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2033"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_578
#AT_START_579
at_fn_group_banner 579 'run_functions.at:2038' \
  "FUNCTION NUMERIC-DECIMAL-POINT" "                 " 4
at_xfail=no
(
  $as_echo "579. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-FLD     PIC X(8) VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION NUMERIC-DECIMAL-POINT TO TEST-FLD.
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2055: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2055"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2055"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2056: ./prog"
at_fn_check_prepare_trace "run_functions.at:2056"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2056"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_579
#AT_START_580
at_fn_group_banner 580 'run_functions.at:2061' \
  "FUNCTION NUMERIC-THOUSANDS-SEPARATOR" "           " 4
at_xfail=no
(
  $as_echo "580. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE SECTION.
       01  TEST-FLD     PIC X(8) VALUE SPACES.
       PROCEDURE        DIVISION.
           MOVE FUNCTION NUMERIC-THOUSANDS-SEPARATOR TO TEST-FLD.
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2078: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2078"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2078"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2079: ./prog"
at_fn_check_prepare_trace "run_functions.at:2079"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2079"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_580
#AT_START_581
at_fn_group_banner 581 'run_functions.at:2084' \
  "FUNCTION NUMVAL" "                                " 4
at_xfail=no
(
  $as_echo "581. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X1  PIC   X(12) VALUE " -9876.1234 ".
       01  X2  PIC   X(18) VALUE " 19876.1234 CR".
       01  N   PIC   s9(5)v9(5).
       PROCEDURE        DIVISION.
           MOVE FUNCTION NUMVAL ( X1 ) TO N
           IF N NOT = -9876.1234
              DISPLAY N
              END-DISPLAY
           END-IF
           MOVE FUNCTION NUMVAL ( X2 ) TO N
           IF N NOT = -19876.1234
              DISPLAY N
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2109: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2109"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2109"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2110: ./prog"
at_fn_check_prepare_trace "run_functions.at:2110"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2110"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_581
#AT_START_582
at_fn_group_banner 582 'run_functions.at:2115' \
  "FUNCTION NUMVAL-C" "                              " 4
at_xfail=no
(
  $as_echo "582. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X1  PIC   X(14) VALUE " % -9876.1234 ".
       01  X2  PIC   X(20) VALUE " % 19,876.1234 DB".
       01  N   PIC   s9(5)v9(5).
       PROCEDURE        DIVISION.
           MOVE FUNCTION NUMVAL-C ( X1 , "%" ) TO N
           IF N NOT = -9876.1234
              DISPLAY N
              END-DISPLAY
           END-IF
           MOVE FUNCTION NUMVAL-C ( X2 , "%" ) TO N
           IF N NOT = -19876.1234
              DISPLAY N
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2140: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2140"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2140"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2141: ./prog"
at_fn_check_prepare_trace "run_functions.at:2141"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2141"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_582
#AT_START_583
at_fn_group_banner 583 'run_functions.at:2146' \
  "FUNCTION NUMVAL-C DP.COMMA" "                     " 4
at_xfail=no
(
  $as_echo "583. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT IS COMMA
           .
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X1  PIC   X(20) VALUE " % 19.876,1234 DB".
       01  N   PIC   s9(5)v9(5).
       PROCEDURE        DIVISION.
           MOVE FUNCTION NUMVAL-C ( X1 , "%" ) TO N
           IF N NOT = -19876,1234
              DISPLAY N
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2170: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2170"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2170"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2171: ./prog"
at_fn_check_prepare_trace "run_functions.at:2171"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2171"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_583
#AT_START_584
at_fn_group_banner 584 'run_functions.at:2176' \
  "FUNCTION NUMVAL-F" "                              " 4
at_xfail=no
(
  $as_echo "584. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(12) VALUE " -0.1234E+4 ".
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION NUMVAL-F ( X )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2191: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2191"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2191"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2192: ./prog"
at_fn_check_prepare_trace "run_functions.at:2192"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-000001234
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2192"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_584
#AT_START_585
at_fn_group_banner 585 'run_functions.at:2199' \
  "FUNCTION ORD" "                                   " 4
at_xfail=no
(
  $as_echo "585. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION ORD ( "k" )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2213: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2213"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2213"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2214: ./prog"
at_fn_check_prepare_trace "run_functions.at:2214"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000000108
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2214"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_585
#AT_START_586
at_fn_group_banner 586 'run_functions.at:2221' \
  "FUNCTION ORD-MAX" "                               " 4
at_xfail=no
(
  $as_echo "586. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION ORD-MAX ( 3 -14 0 8 -3 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2235: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2235"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2235"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2236: ./prog"
at_fn_check_prepare_trace "run_functions.at:2236"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000000004
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2236"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_586
#AT_START_587
at_fn_group_banner 587 'run_functions.at:2243' \
  "FUNCTION ORD-MIN" "                               " 4
at_xfail=no
(
  $as_echo "587. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION ORD-MIN ( 3 -14 0 8 -3 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2257: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2257"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2257"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2258: ./prog"
at_fn_check_prepare_trace "run_functions.at:2258"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000000002
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2258"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_587
#AT_START_588
at_fn_group_banner 588 'run_functions.at:2265' \
  "FUNCTION PI" "                                    " 4
at_xfail=no
(
  $as_echo "588. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   9V9(35).
       PROCEDURE        DIVISION.
           MOVE    FUNCTION PI TO Y.
           IF Y NOT = 3.14159265358979323846264338327950288
              DISPLAY Y
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2283: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2283"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2283"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2284: ./prog"
at_fn_check_prepare_trace "run_functions.at:2284"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2284"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_588
#AT_START_589
at_fn_group_banner 589 'run_functions.at:2289' \
  "FUNCTION PRESENT-VALUE" "                         " 4
at_xfail=no
(
  $as_echo "589. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION PRESENT-VALUE ( 3 2 1 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2303: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2303"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2303"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2304: ./prog"
at_fn_check_prepare_trace "run_functions.at:2304"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000.5625
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2304"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_589
#AT_START_590
at_fn_group_banner 590 'run_functions.at:2311' \
  "FUNCTION RANDOM" "                                " 4
at_xfail=no
(
  $as_echo "590. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S99V99   COMP VALUE -1.0.
       PROCEDURE        DIVISION.
           MOVE FUNCTION RANDOM ( ) TO Y.
           IF Y < 0
                   DISPLAY Y
                   END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2329: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2329"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2329"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2330: ./prog"
at_fn_check_prepare_trace "run_functions.at:2330"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2330"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_590
#AT_START_591
at_fn_group_banner 591 'run_functions.at:2335' \
  "FUNCTION RANGE" "                                 " 4
at_xfail=no
(
  $as_echo "591. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            PIC S9(4)V9(4) COMP-5.
       PROCEDURE        DIVISION.
           MOVE FUNCTION RANGE ( 3 -14 0 8 -3 ) TO Z.
           IF Z NOT = 22
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2353: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2353"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2353"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2354: ./prog"
at_fn_check_prepare_trace "run_functions.at:2354"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2354"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_591
#AT_START_592
at_fn_group_banner 592 'run_functions.at:2359' \
  "FUNCTION REM" "                                   " 4
at_xfail=no
(
  $as_echo "592. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            PIC S9(4)V9(4) COMP-5.
       PROCEDURE        DIVISION.
           MOVE FUNCTION REM ( -11 5 ) TO Z.
           IF Z NOT = -1
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2377: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2377"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2377"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2378: ./prog"
at_fn_check_prepare_trace "run_functions.at:2378"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2378"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_592
#AT_START_593
at_fn_group_banner 593 'run_functions.at:2383' \
  "FUNCTION REVERSE" "                               " 4
at_xfail=no
(
  $as_echo "593. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(10) VALUE "A#B.C%D+E$".
       01  Z   PIC   X(10).
       PROCEDURE        DIVISION.
           MOVE FUNCTION REVERSE ( X ) TO Z.
           IF Z NOT = "$E+D%C.B#A"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2402: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2402"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2402"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2403: ./prog"
at_fn_check_prepare_trace "run_functions.at:2403"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2403"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_593
#AT_START_594
at_fn_group_banner 594 'run_functions.at:2408' \
  "FUNCTION REVERSE with reference modding" "        " 4
at_xfail=no
(
  $as_echo "594. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(10) VALUE "A#B.C%D+E$".
       01  Z   PIC   X(10).
       PROCEDURE        DIVISION.
           MOVE FUNCTION REVERSE ( X ) (1 : 4) TO Z.
           IF Z NOT = "$E+D      "
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2427: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2427"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2427"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2428: ./prog"
at_fn_check_prepare_trace "run_functions.at:2428"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2428"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_594
#AT_START_595
at_fn_group_banner 595 'run_functions.at:2433' \
  "FUNCTION SECONDS-FROM-FORMATTED-TIME" "           " 4
at_xfail=no
(
  $as_echo "595. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  result       PIC 9(8)V9(9) COMP-5.
       PROCEDURE        DIVISION.
           MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME
                    ("hhmmss", "010203")
               TO result.
           IF result NOT = 3723
                   DISPLAY "Test 1 failed: " result
                   END-DISPLAY
           END-IF.

           MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME
                    ("hh:mm:ss", "01:02:03")
               TO result.
           IF result NOT = 3723
                   DISPLAY "Test 2 failed: " result
                   END-DISPLAY
           END-IF.

           MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME
                    ("hhmmss.ssssssss", "010203.04050607")
               TO result.
           IF result NOT = 3723.04050607
                   DISPLAY "Test 3 failed: " result
                   END-DISPLAY
           END-IF.

           MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME
                    ("hhmmssZ", "010203Z")
               TO result.
           IF result NOT = 3723
                   DISPLAY "Test 4 failed: " result
                   END-DISPLAY
           END-IF.

           MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME
                    ("hhmmss+hhmm", "010203+0405")
               TO result.
           IF result NOT = 3723
                   DISPLAY "Test 5 failed: " result
                   END-DISPLAY
           END-IF.

           MOVE FUNCTION SECONDS-FROM-FORMATTED-TIME
                    ("YYYYMMDDThhmmss", "16010101T010203")
               TO result.
           IF result NOT = 3723
                   DISPLAY "Test 6 failed: " result
                   END-DISPLAY
           END-IF.

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2494: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2494"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2494"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2495: ./prog"
at_fn_check_prepare_trace "run_functions.at:2495"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2495"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_595
#AT_START_596
at_fn_group_banner 596 'run_functions.at:2500' \
  "FUNCTION SECONDS-PAST-MIDNIGHT" "                 " 4
at_xfail=no
(
  $as_echo "596. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC      9(8)   COMP-5.
       PROCEDURE        DIVISION.
           MOVE FUNCTION SECONDS-PAST-MIDNIGHT TO Y.
           IF Y NOT < 86402
                   DISPLAY Y
                   END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2518: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2518"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2518"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2519: ./prog"
at_fn_check_prepare_trace "run_functions.at:2519"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2519"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_596
#AT_START_597
at_fn_group_banner 597 'run_functions.at:2524' \
  "FUNCTION SIGN" "                                  " 4
at_xfail=no
(
  $as_echo "597. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            USAGE BINARY-LONG SIGNED.
       PROCEDURE        DIVISION.
           MOVE FUNCTION SIGN ( 3.12345 ) TO Z.
           IF Z NOT = 1
              DISPLAY "Sign 1 " Z
              END-DISPLAY
           END-IF.
           MOVE FUNCTION SIGN ( -0.0 ) TO Z.
           IF Z NOT = 0
              DISPLAY "Sign 2 " Z
              END-DISPLAY
           END-IF.
           MOVE FUNCTION SIGN ( 0.0 ) TO Z.
           IF Z NOT = 0
              DISPLAY "Sign 3 " Z
              END-DISPLAY
           END-IF.
           MOVE FUNCTION SIGN ( -3.12345 ) TO Z.
           IF Z NOT = -1
              DISPLAY "Sign 4 " Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2557: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2557"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2557"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2558: ./prog"
at_fn_check_prepare_trace "run_functions.at:2558"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2558"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_597
#AT_START_598
at_fn_group_banner 598 'run_functions.at:2563' \
  "FUNCTION SIN" "                                   " 4
at_xfail=no
(
  $as_echo "598. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION SIN ( 1.5 ) TO Y.
           IF Y NOT = 0.99749498660405443094172337114148732
                   DISPLAY Y
                   END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2581: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2581"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2581"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2582: ./prog"
at_fn_check_prepare_trace "run_functions.at:2582"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2582"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_598
#AT_START_599
at_fn_group_banner 599 'run_functions.at:2587' \
  "FUNCTION SQRT" "                                  " 4
at_xfail=no
(
  $as_echo "599. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION SQRT ( 1.5 ) TO Y.
           IF Y NOT = 1.22474487139158904909864203735294569
                   DISPLAY Y
                   END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2605: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2605"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2605"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2606: ./prog"
at_fn_check_prepare_trace "run_functions.at:2606"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2606"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_599
#AT_START_600
at_fn_group_banner 600 'run_functions.at:2611' \
  "FUNCTION STANDARD-DEVIATION" "                    " 4
at_xfail=no
(
  $as_echo "600. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S9V9(35).
       PROCEDURE        DIVISION.
           MOVE FUNCTION STANDARD-DEVIATION ( 3 -14 0 8 -3 ) TO Y.
           IF Y NOT = 7.35934779718963954877237043574538183
                   DISPLAY Y
                   END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2629: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2629"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2629"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2630: ./prog"
at_fn_check_prepare_trace "run_functions.at:2630"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2630"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_600
#AT_START_601
at_fn_group_banner 601 'run_functions.at:2635' \
  "FUNCTION STORED-CHAR-LENGTH" "                    " 4
at_xfail=no
(
  $as_echo "601. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   X(24).
       01  Z   USAGE BINARY-LONG.
       PROCEDURE        DIVISION.
           MOVE "123456789012" TO Y.
           MOVE FUNCTION STORED-CHAR-LENGTH ( Y ) TO Z.
           IF Z NOT = 12
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2655: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2655"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2655"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2656: ./prog"
at_fn_check_prepare_trace "run_functions.at:2656"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2656"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_601
#AT_START_602
at_fn_group_banner 602 'run_functions.at:2661' \
  "FUNCTION SUBSTITUTE" "                            " 4
at_xfail=no
(
  $as_echo "602. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   X(20).
       01  Z   PIC   X(20) VALUE ALL '_'.
       PROCEDURE        DIVISION.
           MOVE "abc111444555defxxabc" TO Y.
           STRING FUNCTION SUBSTITUTE ( Y "abc" "zz" "55" "666" )
                  DELIMITED BY SIZE
                  INTO Z
           END-STRING
           IF Z NOT = "zz1114446665defxxzz_"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2684: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2684"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2684"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2685: ./prog"
at_fn_check_prepare_trace "run_functions.at:2685"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2685"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_602
#AT_START_603
at_fn_group_banner 603 'run_functions.at:2690' \
  "FUNCTION SUBSTITUTE with reference modding" "     " 4
at_xfail=no
(
  $as_echo "603. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   X(20).
       01  Z   PIC   X(20).
       PROCEDURE        DIVISION.
           MOVE "abc111444555defxxabc" TO Y.
           MOVE FUNCTION SUBSTITUTE
                   ( Y "abc" "zz" "55" "666" ) (2 : 9)
                TO Z.
           IF Z NOT = "z11144466"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2712: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2712"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2712"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2713: ./prog"
at_fn_check_prepare_trace "run_functions.at:2713"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2713"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_603
#AT_START_604
at_fn_group_banner 604 'run_functions.at:2718' \
  "FUNCTION SUBSTITUTE-CASE" "                       " 4
at_xfail=no
(
  $as_echo "604. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   X(20).
       01  Z   PIC   X(20).
       PROCEDURE        DIVISION.
           MOVE "ABC111444555defxxabc" TO Y.
           MOVE FUNCTION SUBSTITUTE-CASE (Y "abc" "zz" "55" "666")
                TO Z.
           IF Z NOT = "zz1114446665defxxzz"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2739: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2739"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2739"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2740: ./prog"
at_fn_check_prepare_trace "run_functions.at:2740"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2740"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_604
#AT_START_605
at_fn_group_banner 605 'run_functions.at:2745' \
  "FUNCTION SUBSTITUTE-CASE with reference mod" "    " 4
at_xfail=no
(
  $as_echo "605. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   X(20).
       01  Z   PIC   X(20).
       PROCEDURE        DIVISION.
           MOVE "abc111444555defxxabc" TO Y.
           MOVE FUNCTION SUBSTITUTE-CASE
                   ( Y "ABC" "zz" "55" "666" ) (2 : 9)
                TO Z.
           IF Z NOT = "z11144466"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2767: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2767"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2767"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2768: ./prog"
at_fn_check_prepare_trace "run_functions.at:2768"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2768"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_605
#AT_START_606
at_fn_group_banner 606 'run_functions.at:2773' \
  "FUNCTION SUM" "                                   " 4
at_xfail=no
(
  $as_echo "606. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            USAGE BINARY-LONG.
       PROCEDURE        DIVISION.
           MOVE FUNCTION SUM ( 3 -14 0 8 -3 ) TO Z.
           IF Z NOT = -6
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2791: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2791"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2791"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2792: ./prog"
at_fn_check_prepare_trace "run_functions.at:2792"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2792"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_606
#AT_START_607
at_fn_group_banner 607 'run_functions.at:2797' \
  "FUNCTION TAN" "                                   " 4
at_xfail=no
(
  $as_echo "607. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Y   PIC   S99V9(34).
       PROCEDURE        DIVISION.
           MOVE FUNCTION TAN ( 1.5 ) TO Y.
           IF Y NOT = 14.1014199471717193876460836519877564
                   DISPLAY Y
                   END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2815: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2815"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2815"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2816: ./prog"
at_fn_check_prepare_trace "run_functions.at:2816"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2816"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_607
#AT_START_608
at_fn_group_banner 608 'run_functions.at:2821' \
  "FUNCTION TEST-DATE-YYYYMMDD" "                    " 4
at_xfail=no
(
  $as_echo "608. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION TEST-DATE-YYYYMMDD ( 20020231 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2835: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2835"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2835"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2836: ./prog"
at_fn_check_prepare_trace "run_functions.at:2836"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000000003
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2836"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_608
#AT_START_609
at_fn_group_banner 609 'run_functions.at:2843' \
  "FUNCTION TEST-DAY-YYYYDDD" "                      " 4
at_xfail=no
(
  $as_echo "609. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION TEST-DAY-YYYYDDD ( 2002400 )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2857: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2857"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2857"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2858: ./prog"
at_fn_check_prepare_trace "run_functions.at:2858"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000000002
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2858"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_609
#AT_START_610
at_fn_group_banner 610 'run_functions.at:2865' \
  "FUNCTION TEST-FORMATTED-DATETIME with dates" "    " 4
at_xfail=no
(
  $as_echo "610. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
        DATA             DIVISION.
        WORKING-STORAGE  SECTION.
        PROCEDURE        DIVISION.
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "16010101") <> 0
                DISPLAY "Test 1 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYY-MM-DD", "1601-01-01") <> 0
                DISPLAY "Test 2 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYDDD", "1601001") <> 0
                DISPLAY "Test 3 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYY-DDD", "1601-001") <> 0
                DISPLAY "Test 4 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYWwwD", "1601W011") <> 0
                DISPLAY "Test 5 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYY-Www-D", "1601-W01-1") <> 0
                DISPLAY "Test 6 failed" END-DISPLAY
            END-IF


            *> How will this work with zero-length items?
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "1") <> 2
                DISPLAY "Test 7 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "160A0101") <> 4
                DISPLAY "Test 8 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "00000101") <> 1
                DISPLAY "Test 9 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "16000101") <> 4
                DISPLAY "Test 10 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "16010001") <> 6
                DISPLAY "Test 11 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "16011301") <> 6
                DISPLAY "Test 12 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "16010190") <> 7
                DISPLAY "Test 13 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "18000229") <> 8
                DISPLAY "Test 14 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYY-MM-DD", "1601 01 01") <> 5
                DISPLAY "Test 15 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "160101010") <> 9
                DISPLAY "Test 16 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYWwwD", "1601A011") <> 5
                DISPLAY "Test 17 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYWwwD", "1601W531") <> 7
                DISPLAY "Test 18 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYWwwD", "1601W601") <> 6
                DISPLAY "Test 19 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYWwwD", "2009W531") <> 0
                DISPLAY "Test 20 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYWwwD", "1601W018") <> 8
                DISPLAY "Test 21 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYDDD", "1601366") <> 7
                DISPLAY "Test 22 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYDDD", "1601370") <> 6
                DISPLAY "Test 23 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYDDD", "1601400") <> 5
                DISPLAY "Test 24 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "01") <> 1
                DISPLAY "Test 25 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYMMDD", "1601010") <> 8
                DISPLAY "Test 26 failed" END-DISPLAY
            END-IF

            STOP RUN
            .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:2986: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:2986"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2986"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:2987: ./prog"
at_fn_check_prepare_trace "run_functions.at:2987"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:2987"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_610
#AT_START_611
at_fn_group_banner 611 'run_functions.at:2992' \
  "FUNCTION TEST-FORMATTED-DATETIME with times" "    " 4
at_xfail=no
(
  $as_echo "611. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
        DATA             DIVISION.
        WORKING-STORAGE  SECTION.
        PROCEDURE        DIVISION.
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss.sssssssssZ", "000000.000000000Z") <> 0
                DISPLAY "Test 1 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hh:mm:ss.sssssssssZ", "00:00:00.000000000Z") <> 0
                DISPLAY "Test 2 failed" END-DISPLAY
            END-IF
            *> 0 instead of +/- valid in sending fields with offset of zero.
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss.sssssssss+hhmm", "000000.00000000000000")
                    <> 0
                DISPLAY "Test 3 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hh:mm:ss.sssssssss+hh:mm",
                    "00:00:00.000000000+00:00")
                    <> 0
                DISPLAY "Test 4 failed" END-DISPLAY
            END-IF

            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss", "300000") <> 1
                DISPLAY "Test 5 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss", "250000") <> 2
                DISPLAY "Test 6 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss", "006000") <> 3
                DISPLAY "Test 7 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss", "000060") <> 5
                DISPLAY "Test 8 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hh:mm:ss", "00-00-00") <> 3
                DISPLAY "Test 9 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss.ss", "000000,00") <> 7
                DISPLAY "Test 10 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss+hhmm", "000000 0000") <> 7
                DISPLAY "Test 11 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss+hhmm", "00000000001") <> 11
                DISPLAY "Test 12 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmssZ", "000000A") <> 7
                DISPLAY "Test 13 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss", SPACE) <> 1
                DISPLAY "Test 14 failed" END-DISPLAY
            END-IF

            STOP RUN
            .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3067: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3067"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3067"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3068: ./prog"
at_fn_check_prepare_trace "run_functions.at:3068"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3068"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_611
#AT_START_612
at_fn_group_banner 612 'run_functions.at:3073' \
  "FUNCTION TEST-FORMATTED-DATETIME with datetimes" "" 4
at_xfail=no
(
  $as_echo "612. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
        DATA             DIVISION.
        WORKING-STORAGE  SECTION.
        77 RESULT        PIC 9(02).
        PROCEDURE        DIVISION.
            MOVE FUNCTION TEST-FORMATTED-DATETIME
                    ("YYYYMMDDThhmmss", "16010101T000000")
              TO RESULT
            IF RESULT <> 0
               DISPLAY "Test 1 failed: " RESULT END-DISPLAY
            END-IF
            MOVE FUNCTION TEST-FORMATTED-DATETIME
                    ("YYYY-MM-DDThh:mm:ss.sssssssss+hh:mm",
                    "1601-01-01T00:00:00.000000000+00:00")
              TO RESULT
            IF RESULT <> 0
               DISPLAY "Test 2 failed: " RESULT END-DISPLAY
            END-IF

            MOVE FUNCTION TEST-FORMATTED-DATETIME
                    ("YYYYMMDDThhmmss", "16010101 000000")
              TO RESULT
            IF RESULT <> 9
               DISPLAY "Test 3 failed: " RESULT END-DISPLAY
            END-IF
            MOVE FUNCTION TEST-FORMATTED-DATETIME
                    ("YYYYMMDDThhmmss", SPACE)
              TO RESULT
            IF RESULT <> 1
               DISPLAY "Test 4 failed: " RESULT END-DISPLAY
            END-IF
            MOVE FUNCTION TEST-FORMATTED-DATETIME
                    ("YYYYMMDDThhmmss", "16010101T      ")
              TO RESULT
            IF RESULT <> 10
               DISPLAY "Test 5 failed: " RESULT END-DISPLAY
            END-IF

            STOP RUN
            .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3120: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3120"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3120"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3121: ./prog"
at_fn_check_prepare_trace "run_functions.at:3121"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3121"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_612
#AT_START_613
at_fn_group_banner 613 'run_functions.at:3126' \
  "FUNCTION TEST-FORMATTED-DATETIME DP.COMMA" "      " 4
at_xfail=no
(
  $as_echo "613. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
        ENVIRONMENT      DIVISION.
        CONFIGURATION    SECTION.
        SPECIAL-NAMES.
            DECIMAL-POINT IS COMMA.
        DATA             DIVISION.
        WORKING-STORAGE  SECTION.
        PROCEDURE        DIVISION.
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss,ss", "000000,00") <> 0
                DISPLAY "Test 1 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("YYYYMMDDThhmmss,ss", "16010101T000000,00") <> 0
                DISPLAY "Test 2 failed" END-DISPLAY
            END-IF

            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("hhmmss,ss", "000000.00") <> 7
                DISPLAY "Test 3 failed" END-DISPLAY
            END-IF
            IF FUNCTION TEST-FORMATTED-DATETIME
                    ("YYYYMMDDThhmmss,ss", "16010101T000000.00") <> 16
                DISPLAY "Test 4 failed" END-DISPLAY
            END-IF

            STOP RUN
            .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3161: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3161"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3161"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3162: ./prog"
at_fn_check_prepare_trace "run_functions.at:3162"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3162"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_613
#AT_START_614
at_fn_group_banner 614 'run_functions.at:3167' \
  "FUNCTION TEST-NUMVAL" "                           " 4
at_xfail=no
(
  $as_echo "614. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           IF FUNCTION TEST-NUMVAL ("+ 1")     NOT = 0
              DISPLAY "Test 1  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL (" + 1")    NOT = 0
              DISPLAY "Test 2  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("- 1")     NOT = 0
              DISPLAY "Test 3  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL (" - 1")    NOT = 0
              DISPLAY "Test 4  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("+- 1")    NOT = 2
              DISPLAY "Test 5  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1 +")     NOT = 0
              DISPLAY "Test 6  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1 -")     NOT = 0
              DISPLAY "Test 7  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1 +-")    NOT = 4
              DISPLAY "Test 8  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1 -+")    NOT = 4
              DISPLAY "Test 9  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("+ 1.1")   NOT = 0
              DISPLAY "Test 10 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("- 1.1")   NOT = 0
              DISPLAY "Test 11 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1.1 +")   NOT = 0
              DISPLAY "Test 12 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1.1 -")   NOT = 0
              DISPLAY "Test 13 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1.1 CR")  NOT = 0
              DISPLAY "Test 14 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1.1 DB")  NOT = 0
              DISPLAY "Test 15 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1.1 -CR") NOT = 6
              DISPLAY "Test 16 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1.1 +DB") NOT = 6
              DISPLAY "Test 17 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("1.1 CDB") NOT = 6
              DISPLAY "Test 18 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("+1.1 CR") NOT = 6
              DISPLAY "Test 19 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL ("+      ") NOT = 8
              DISPLAY "Test 20 fail"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3259: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3259"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3259"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3260: ./prog"
at_fn_check_prepare_trace "run_functions.at:3260"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3260"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_614
#AT_START_615
at_fn_group_banner 615 'run_functions.at:3265' \
  "FUNCTION TEST-NUMVAL-C" "                         " 4
at_xfail=no
(
  $as_echo "615. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           IF FUNCTION TEST-NUMVAL-C ("+ 1")     NOT = 0
              DISPLAY "Test 1  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C (" + 1")    NOT = 0
              DISPLAY "Test 2  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("- 1")     NOT = 0
              DISPLAY "Test 3  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C (" - 1")    NOT = 0
              DISPLAY "Test 4  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("+- 1")    NOT = 2
              DISPLAY "Test 5  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("1 +")     NOT = 0
              DISPLAY "Test 6  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("1 -")     NOT = 0
              DISPLAY "Test 7  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("1 +-")    NOT = 4
              DISPLAY "Test 8  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("1 -+")    NOT = 4
              DISPLAY "Test 9  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("+ 1.1")   NOT = 0
              DISPLAY "Test 10 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("- 1.1")   NOT = 0
              DISPLAY "Test 11 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("1.1 +")   NOT = 0
              DISPLAY "Test 12 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("1.1 -")   NOT = 0
              DISPLAY "Test 13 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("1.1 CR")  NOT = 0
              DISPLAY "Test 14 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("1.1 DB")  NOT = 0
              DISPLAY "Test 15 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("1.1 -CR") NOT = 6
              DISPLAY "Test 16 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("+ $1.1 ") NOT = 0
              DISPLAY "Test 17 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("- $1.1 ") NOT = 0
              DISPLAY "Test 18 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("+ X1.1 ", "X") NOT = 0
              DISPLAY "Test 19 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-C ("- X1.1 ", "X") NOT = 0
              DISPLAY "Test 20 fail"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3357: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3357"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3357"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3358: ./prog"
at_fn_check_prepare_trace "run_functions.at:3358"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3358"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_615
#AT_START_616
at_fn_group_banner 616 'run_functions.at:3363' \
  "FUNCTION TEST-NUMVAL-F" "                         " 4
at_xfail=no
(
  $as_echo "616. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           IF FUNCTION TEST-NUMVAL-F ("+ 1")     NOT = 0
              DISPLAY "Test 1  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F (" + 1")    NOT = 0
              DISPLAY "Test 2  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("- 1")     NOT = 0
              DISPLAY "Test 3  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F (" - 1")    NOT = 0
              DISPLAY "Test 4  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("+- 1")    NOT = 2
              DISPLAY "Test 5  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1 +")     NOT = 0
              DISPLAY "Test 6  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1 -")     NOT = 0
              DISPLAY "Test 7  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1 +-")    NOT = 4
              DISPLAY "Test 8  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1 -+")    NOT = 4
              DISPLAY "Test 9  fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("+ 1.1")   NOT = 0
              DISPLAY "Test 10 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("- 1.1")   NOT = 0
              DISPLAY "Test 11 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1.1 +")   NOT = 0
              DISPLAY "Test 12 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1.1 -")   NOT = 0
              DISPLAY "Test 13 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1.1   ")  NOT = 0
              DISPLAY "Test 14 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1.1   ")  NOT = 0
              DISPLAY "Test 15 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1.1 -CR") NOT = 6
              DISPLAY "Test 16 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1.1 E+1") NOT = 0
              DISPLAY "Test 17 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1.1 E -1") NOT = 0
              DISPLAY "Test 18 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("1.1 EE") NOT = 6
              DISPLAY "Test 19 fail"
              END-DISPLAY
           END-IF.
           IF FUNCTION TEST-NUMVAL-F ("+1.1 E001") NOT = 7
              DISPLAY "Test 20 fail"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3455: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3455"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3455"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3456: ./prog"
at_fn_check_prepare_trace "run_functions.at:3456"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3456"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_616
#AT_START_617
at_fn_group_banner 617 'run_functions.at:3461' \
  "FUNCTION TRIM" "                                  " 4
at_xfail=no
(
  $as_echo "617. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(12) VALUE " a#b.c%d+e$ ".
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION TRIM ( X )
           END-DISPLAY.
           DISPLAY FUNCTION TRIM ( X TRAILING )
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3478: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3478"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3478"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3479: ./prog"
at_fn_check_prepare_trace "run_functions.at:3479"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a#b.c%d+e\$
 a#b.c%d+e\$
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3479"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_617
#AT_START_618
at_fn_group_banner 618 'run_functions.at:3487' \
  "FUNCTION TRIM with reference modding" "           " 4
at_xfail=no
(
  $as_echo "618. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(12) VALUE " a#b.c%d+e$ ".
       PROCEDURE        DIVISION.
           DISPLAY FUNCTION TRIM ( X ) (2 : 3)
           END-DISPLAY.
           DISPLAY FUNCTION TRIM ( X TRAILING ) (2 : 3)
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3504: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3504"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3504"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3505: ./prog"
at_fn_check_prepare_trace "run_functions.at:3505"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "#b.
a#b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3505"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_618
#AT_START_619
at_fn_group_banner 619 'run_functions.at:3513' \
  "FUNCTION TRIM zero length" "                      " 4
at_xfail=no
(
  $as_echo "619. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(4) VALUE "NOOK".
       PROCEDURE        DIVISION.
           MOVE FUNCTION TRIM ( "  " ) TO X.
           DISPLAY ">" X "<"
           END-DISPLAY.
           DISPLAY ">" FUNCTION TRIM ( "   " ) "<"
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3531: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3531"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3531"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3532: ./prog"
at_fn_check_prepare_trace "run_functions.at:3532"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ">    <
><
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3532"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_619
#AT_START_620
at_fn_group_banner 620 'run_functions.at:3540' \
  "FUNCTION UPPER-CASE" "                            " 4
at_xfail=no
(
  $as_echo "620. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(10) VALUE "a#b.c%d+e$".
       01  Z   PIC   X(10).
       PROCEDURE        DIVISION.
           MOVE FUNCTION UPPER-CASE ( X ) TO Z.
           IF Z NOT = "A#B.C%D+E$"
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3559: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3559"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3559"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3560: ./prog"
at_fn_check_prepare_trace "run_functions.at:3560"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3560"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_620
#AT_START_621
at_fn_group_banner 621 'run_functions.at:3565' \
  "FUNCTION UPPER-CASE with reference modding" "     " 4
at_xfail=no
(
  $as_echo "621. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X   PIC   X(10) VALUE "a#b.c%d+e$".
       01  Z   PIC   X(4).
       PROCEDURE        DIVISION.
           MOVE FUNCTION UPPER-CASE ( X ) (1 : 3) TO Z.
           IF Z NOT = "A#B "
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3584: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3584"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3584"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3585: ./prog"
at_fn_check_prepare_trace "run_functions.at:3585"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3585"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_621
#AT_START_622
at_fn_group_banner 622 'run_functions.at:3590' \
  "FUNCTION VARIANCE" "                              " 4
at_xfail=no
(
  $as_echo "622. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            PIC S9(4)V9(4) COMP-5.
       PROCEDURE        DIVISION.
           MOVE FUNCTION VARIANCE ( 3 -14 0 8 -3 ) TO Z.
           IF Z NOT = 54.16
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3608: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3608"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3608"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3609: ./prog"
at_fn_check_prepare_trace "run_functions.at:3609"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3609"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_622
#AT_START_623
at_fn_group_banner 623 'run_functions.at:3614' \
  "FUNCTION WHEN-COMPILED" "                         " 4
at_xfail=no
(
  $as_echo "623. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  XYZ.
           03 X         PIC X.
           03 FILLER    PIC X(20).
       PROCEDURE        DIVISION.
           MOVE FUNCTION WHEN-COMPILED TO XYZ.
           IF X NOT = "2"
              DISPLAY "NOT OK"
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3634: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3634"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3634"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3635: ./prog"
at_fn_check_prepare_trace "run_functions.at:3635"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3635"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_623
#AT_START_624
at_fn_group_banner 624 'run_functions.at:3640' \
  "FUNCTION YEAR-TO-YYYY" "                          " 4
at_xfail=no
(
  $as_echo "624. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            USAGE BINARY-LONG.
       PROCEDURE        DIVISION.
           MOVE FUNCTION YEAR-TO-YYYY ( 50 ) TO Z.
           IF Z NOT = 2050
              DISPLAY Z
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3658: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3658"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3658"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3659: ./prog"
at_fn_check_prepare_trace "run_functions.at:3659"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3659"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_624
#AT_START_625
at_fn_group_banner 625 'run_functions.at:3664' \
  "Formatted funcs w/ invalid variable format" "     " 4
at_xfail=no
(
  $as_echo "625. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  invalid-date-format          PIC X(10) VALUE "yyyymmdd".
       01  invalid-datetime-format      PIC X(17)
                                        VALUE "yyyymmddtHHMMSS".
       01  invalid-time-format          PIC X(6) VALUE "HHMMSS".
       PROCEDURE        DIVISION.
           IF FUNCTION FORMATTED-CURRENT-DATE
                           (invalid-date-format) <> SPACES
                  OR FUNCTION EXCEPTION-STATUS <> "EC-ARGUMENT-FUNCTION"
                  OR FUNCTION EXCEPTION-LOCATION <> "prog; ; 11"
               DISPLAY "Test 1 failed" END-DISPLAY
           END-IF

           IF FUNCTION FORMATTED-DATE (invalid-date-format, 1) <> SPACES
                  OR FUNCTION EXCEPTION-STATUS <> "EC-ARGUMENT-FUNCTION"
                  OR FUNCTION EXCEPTION-LOCATION <> "prog; ; 18"
               DISPLAY "Test 2 failed" END-DISPLAY
           END-IF

           IF FUNCTION FORMATTED-DATETIME
                           (invalid-datetime-format, 1, 1) <> SPACES
                  OR FUNCTION EXCEPTION-STATUS <> "EC-ARGUMENT-FUNCTION"
                  OR FUNCTION EXCEPTION-LOCATION <> "prog; ; 24"
               DISPLAY "Test 3 failed" END-DISPLAY
           END-IF

           IF FUNCTION FORMATTED-TIME (invalid-time-format, 1) <> SPACES
                  OR FUNCTION EXCEPTION-STATUS <> "EC-ARGUMENT-FUNCTION"
                  OR FUNCTION EXCEPTION-LOCATION <> "prog; ; 31"
               DISPLAY "Test 4 failed" END-DISPLAY
           END-IF

           IF FUNCTION INTEGER-OF-FORMATTED-DATE
                           (invalid-date-format, 1) <> ZERO
                  OR FUNCTION EXCEPTION-STATUS <> "EC-ARGUMENT-FUNCTION"
                  OR FUNCTION EXCEPTION-LOCATION <> "prog; ; 37"
               DISPLAY "Test 5 failed" END-DISPLAY
           END-IF

           IF FUNCTION SECONDS-FROM-FORMATTED-TIME
                           (invalid-time-format, 1) <> ZERO
                  OR FUNCTION EXCEPTION-STATUS <> "EC-ARGUMENT-FUNCTION"
                  OR FUNCTION EXCEPTION-LOCATION <> "prog; ; 44"
               DISPLAY "Test 6 failed" END-DISPLAY
           END-IF

           IF FUNCTION TEST-FORMATTED-DATETIME
                           (invalid-datetime-format, 1) <> ZERO
                  OR FUNCTION EXCEPTION-STATUS <> "EC-ARGUMENT-FUNCTION"
                  OR FUNCTION EXCEPTION-LOCATION <> "prog; ; 51"
               DISPLAY "Test 7 failed" END-DISPLAY
           END-IF

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3727: echo \"\$COB_HAS_UTC_OFFSET\""
at_fn_check_prepare_dynamic "echo \"$COB_HAS_UTC_OFFSET\"" "run_functions.at:3727"
( $at_check_trace; echo "$COB_HAS_UTC_OFFSET"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "no
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3727"
if $at_failed; then :
  # Previous test "failed" --> UTC offset available

{ set +x
$as_echo "$at_srcdir/run_functions.at:3732: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3732"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: warning: FUNCTION 'FORMATTED-CURRENT-DATE' has format in variable
prog.cob: 18: warning: FUNCTION 'FORMATTED-DATE' has format in variable
prog.cob: 24: warning: FUNCTION 'FORMATTED-DATETIME' has format in variable
prog.cob: 31: warning: FUNCTION 'FORMATTED-TIME' has format in variable
prog.cob: 37: warning: FUNCTION 'INTEGER-OF-FORMATTED-DATE' has format in variable
prog.cob: 44: warning: FUNCTION 'SECONDS-FROM-FORMATTED-TIME' has format in variable
prog.cob: 51: warning: FUNCTION 'TEST-FORMATTED-DATETIME' has format in variable
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3732"
$at_failed && at_fn_log_failure
$at_traceon; }



else
  # Previous test "passed" --> UTC offset is not available

{ set +x
$as_echo "$at_srcdir/run_functions.at:3746: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3746"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 11: warning: FUNCTION 'FORMATTED-CURRENT-DATE' has format in variable
prog.cob: 11: warning: cannot find the UTC offset on this system
prog.cob: 18: warning: FUNCTION 'FORMATTED-DATE' has format in variable
prog.cob: 24: warning: FUNCTION 'FORMATTED-DATETIME' has format in variable
prog.cob: 31: warning: FUNCTION 'FORMATTED-TIME' has format in variable
prog.cob: 37: warning: FUNCTION 'INTEGER-OF-FORMATTED-DATE' has format in variable
prog.cob: 44: warning: FUNCTION 'SECONDS-FROM-FORMATTED-TIME' has format in variable
prog.cob: 51: warning: FUNCTION 'TEST-FORMATTED-DATETIME' has format in variable
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3746"
$at_failed && at_fn_log_failure
$at_traceon; }



fi
$at_failed && at_fn_log_failure
$at_traceon; }


# running the program
{ set +x
$as_echo "$at_srcdir/run_functions.at:3760: ./prog"
at_fn_check_prepare_trace "run_functions.at:3760"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3760"
$at_failed && at_fn_log_failure
$at_traceon; }



  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_625
#AT_START_626
at_fn_group_banner 626 'run_functions.at:3766' \
  "FORMATTED-(DATE)TIME with SYSTEM-OFFSET" "        " 4
at_xfail=no
(
  $as_echo "626. $at_setup_line: testing $at_desc ..."
  $at_traceon



$as_echo "run_functions.at:3769" >"$at_check_line_file"
(test "$COB_HAS_UTC_OFFSET" = "no") \
  && at_fn_check_skip 77 "$at_srcdir/run_functions.at:3769"

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION  DIVISION.
       PROGRAM-ID.     prog.
       DATA            DIVISION.
       WORKING-STORAGE SECTION.
       01  str         PIC X(30).
       77  val         pic 9(02).

       PROCEDURE DIVISION.
           MOVE FUNCTION FORMATTED-DATETIME
                    ("YYYYDDDThhmmss+hhmm", 1, 45296, SYSTEM-OFFSET)
               TO str
           MOVE FUNCTION TEST-FORMATTED-DATETIME
                   ("YYYYDDDThhmmss+hhmm", str) TO val
           IF val not = 0
               DISPLAY "Test 1 failed: " str ' - ' val END-DISPLAY
           END-IF

           MOVE FUNCTION FORMATTED-TIME
                    ("hhmmss.ssZ", 45296, SYSTEM-OFFSET)
               TO str
           MOVE FUNCTION TEST-FORMATTED-DATETIME
                   ("hhmmss.ssZ", str) TO val
           IF val not = 0
               DISPLAY "Test 2 failed: " str ' - ' val END-DISPLAY
           END-IF
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3800: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3800"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3800"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3801: ./prog"
at_fn_check_prepare_trace "run_functions.at:3801"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3801"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_626
#AT_START_627
at_fn_group_banner 627 'run_functions.at:3806' \
  "Intrinsics without FUNCTION keyword (1)" "        " 4
at_xfail=no
(
  $as_echo "627. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            PIC 99V99.
       PROCEDURE        DIVISION.
           MOVE PI TO Z.
           MOVE E TO Z.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3821: \$COMPILE -fintrinsics=all prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fintrinsics=all prog.cob" "run_functions.at:3821"
( $at_check_trace; $COMPILE -fintrinsics=all prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3821"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3822: ./prog"
at_fn_check_prepare_trace "run_functions.at:3822"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3822"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_627
#AT_START_628
at_fn_group_banner 628 'run_functions.at:3827' \
  "Intrinsics without FUNCTION keyword (2)" "        " 4
at_xfail=no
(
  $as_echo "628. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            PIC 99V99.
       PROCEDURE        DIVISION.
           MOVE PI TO Z.
           MOVE E TO Z.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3842: \$COMPILE -fintrinsics=pi,e prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fintrinsics=pi,e prog.cob" "run_functions.at:3842"
( $at_check_trace; $COMPILE -fintrinsics=pi,e prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3842"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3843: ./prog"
at_fn_check_prepare_trace "run_functions.at:3843"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3843"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_628
#AT_START_629
at_fn_group_banner 629 'run_functions.at:3850' \
  "User-Defined FUNCTION with/without parameter" "   " 4
at_xfail=no
(
  $as_echo "629. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     WITHPAR.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 PAR-IN        PIC 9.
       01 PAR-OUT       PIC 9.
       PROCEDURE DIVISION USING PAR-IN RETURNING PAR-OUT.
           ADD 1 TO PAR-IN GIVING PAR-OUT END-ADD.
           GOBACK.
       END FUNCTION WITHPAR.

       IDENTIFICATION   DIVISION.
       FUNCTION-ID.     WITHOUTPAR.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 PAR           PIC 9.
       PROCEDURE DIVISION RETURNING PAR.
           MOVE 1 TO PAR.
           GOBACK.
       END FUNCTION WITHOUTPAR.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       REPOSITORY.
           FUNCTION     WITHPAR
           FUNCTION     WITHOUTPAR.
       PROCEDURE        DIVISION.
           IF WITHPAR(1) NOT = 2
              DISPLAY WITHPAR(1)
              END-DISPLAY
           END-IF.
           IF WITHOUTPAR NOT = 1
              DISPLAY WITHOUTPAR
              END-DISPLAY
           END-IF.
           STOP RUN.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3895: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3895"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3895"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3896: ./prog"
at_fn_check_prepare_trace "run_functions.at:3896"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3896"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_629
#AT_START_630
at_fn_group_banner 630 'run_functions.at:3901' \
  "UDF in COMPUTE" "                                 " 4
at_xfail=no
(
  $as_echo "630. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       FUNCTION-ID. func.

       DATA DIVISION.
       LINKAGE SECTION.
       01  num PIC 999.

       PROCEDURE DIVISION RETURNING num.
           MOVE 100 TO num
           .
       END FUNCTION func.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION func.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  x PIC 999.

       PROCEDURE DIVISION.
           COMPUTE x = 101 + FUNCTION func
           DISPLAY x
           .
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3936: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_functions.at:3936"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3936"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3937: ./prog"
at_fn_check_prepare_trace "run_functions.at:3937"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "201
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3937"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_630
#AT_START_631
at_fn_group_banner 631 'run_functions.at:3944' \
  "UDF replacing intrinsic function" "               " 4
at_xfail=no
(
  $as_echo "631. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       FUNCTION-ID. SUBSTITUTE.

       DATA DIVISION.
       LINKAGE SECTION.
       01  func-in  PIC X(15).
       01  func-sub PIC X.
       01  func-out PIC X(15).

       PROCEDURE DIVISION USING func-in, func-sub RETURNING func-out.
           MOVE func-in TO func-out
           INSPECT func-out REPLACING ALL '%' BY func-sub
           .
       END FUNCTION SUBSTITUTE.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       REPOSITORY.
           FUNCTION SUBSTITUTE
           .
       PROCEDURE DIVISION.
           DISPLAY '"' FUNCTION SUBSTITUTE(" % C%O%B%O%L % ", "_") '"'
           DISPLAY '"' FUNCTION SUBSTITUTE(" % C%O%B%O%L % ", "-") '"'
           .
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_functions.at:3978: \$COMPILE -fnot-intrinsic=substitute prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fnot-intrinsic=substitute prog.cob" "run_functions.at:3978"
( $at_check_trace; $COMPILE -fnot-intrinsic=substitute prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3978"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_functions.at:3979: ./prog"
at_fn_check_prepare_trace "run_functions.at:3979"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\" _ C_O_B_O_L _ \"
\" - C-O-B-O-L - \"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_functions.at:3979"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_631
#AT_START_632
at_fn_group_banner 632 'run_extensions.at:24' \
  "CALL BY CONTENT binary and literal" "             " 4
at_xfail=no
(
  $as_echo "632. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *, int *);
int dump (unsigned char *data, int *p)
{
  int i;
  if ( *p == 1 ) {
     for (i = 0; i < 4; i++)
       printf ("%02x", data[i]);
  } else {
       printf ("%8.8d", *((int *)data));
  }
  puts ("");
  return 0;
}
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-1           PIC 9(9) VALUE 4660 COMP.
       01 X-2           PIC 9(9) VALUE 4660 COMP-5.
       PROCEDURE        DIVISION.
           CALL "dump" USING X-1 BY CONTENT 1
           END-CALL.
           CALL "dump" USING X-2 BY CONTENT 2
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:61: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "run_extensions.at:61"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:61"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:62: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:62"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:62"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:63: ./prog"
at_fn_check_prepare_trace "run_extensions.at:63"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00001234
00004660
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:63"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_632
#AT_START_633
at_fn_group_banner 633 'run_extensions.at:72' \
  "Numeric Boolean literal" "                        " 4
at_xfail=no
(
  $as_echo "633. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-1           PIC 9(2) VALUE B"010101".
       01 X-2           PIC 9(20) VALUE B"111111111111111111111111111111
      -                                  "111111111111111111111111111111
      -                                  "1111".
       PROCEDURE        DIVISION.
           DISPLAY X-1
           END-DISPLAY.
           DISPLAY X-2
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:92: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:92"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:93: ./prog"
at_fn_check_prepare_trace "run_extensions.at:93"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "21
18446744073709551615
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_633
#AT_START_634
at_fn_group_banner 634 'run_extensions.at:102' \
  "ACUCOBOL literal" "                               " 4
at_xfail=no
(
  $as_echo "634. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           DISPLAY B#101 UPON STDOUT
           DISPLAY O#17777777777 UPON STDOUT
           DISPLAY X#ffffffff UPON STDOUT
           DISPLAY H#ffffffff UPON STDOUT

           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:117: \$COMPILE -facu-literals=ok prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -facu-literals=ok prog.cob" "run_extensions.at:117"
( $at_check_trace; $COMPILE -facu-literals=ok prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:117"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:118: ./prog"
at_fn_check_prepare_trace "run_extensions.at:118"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "5
2147483647
4294967295
4294967295
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:118"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_634
#AT_START_635
at_fn_group_banner 635 'run_extensions.at:129' \
  "Hexadecimal numeric literal" "                    " 4
at_xfail=no
(
  $as_echo "635. $at_setup_line: testing $at_desc ..."
  $at_traceon
 # Shouldn't this be in run_fundamentals?


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-1           PIC 9(8) VALUE H"012345".
       01 X-2           PIC 9(8) VALUE H"FFFFFF".
       PROCEDURE        DIVISION.
           DISPLAY X-1
           END-DISPLAY.
           DISPLAY X-2
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:147: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:147"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:147"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:148: ./prog"
at_fn_check_prepare_trace "run_extensions.at:148"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00074565
16777215
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_635
#AT_START_636
at_fn_group_banner 636 'run_extensions.at:157' \
  "Semi-parenthesized condition" "                   " 4
at_xfail=no
(
  $as_echo "636. $at_setup_line: testing $at_desc ..."
  $at_traceon

 # Shouldn't this be in run_fundamentals?

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           IF 1 = (1 OR 2)
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:171: \$COMPILE -Wno-constant-expression prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -Wno-constant-expression prog.cob" "run_extensions.at:171"
( $at_check_trace; $COMPILE -Wno-constant-expression prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:171"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:172: ./prog"
at_fn_check_prepare_trace "run_extensions.at:172"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_636
#AT_START_637
at_fn_group_banner 637 'run_extensions.at:177' \
  "ADDRESS OF" "                                     " 4
at_xfail=no
(
  $as_echo "637. $at_setup_line: testing $at_desc ..."
  $at_traceon
 # Shouldn't this be in run_fundamentals?


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-1           PIC X(3) VALUE "X-1".
       01 X-2           PIC X(3) VALUE "X-2".
       01 G.
         02 PTR-1       USAGE POINTER VALUE NULL.
         02 PTR-2       USAGE POINTER VALUE NULL.
       LINKAGE          SECTION.
       01 Y             PIC X(3).
       PROCEDURE        DIVISION.
         SET ADDRESS OF Y TO ADDRESS OF X-1.
         IF Y NOT = "X-1"
            DISPLAY "Test 1 " Y
            END-DISPLAY
         END-IF.
         SET PTR-1 TO ADDRESS OF X-2.
         SET PTR-2 TO PTR-1
         SET ADDRESS OF Y TO PTR-2.
         IF Y NOT = "X-2"
            DISPLAY "Test 2 " Y
            END-DISPLAY
         END-IF
         INITIALIZE PTR-1.
         IF PTR-1 NOT = NULL
           DISPLAY "NG 1"
           END-DISPLAY
         END-IF.
         SET ADDRESS OF Y TO NULL.
         IF PTR-1 NOT = ADDRESS OF Y
           DISPLAY "NG 2"
           END-DISPLAY
         END-IF.
         IF ADDRESS OF Y NOT = PTR-1
           DISPLAY "NG 3"
           END-DISPLAY
         END-IF.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:221: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:221"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:222: ./prog"
at_fn_check_prepare_trace "run_extensions.at:222"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:222"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_637
#AT_START_638
at_fn_group_banner 638 'run_extensions.at:227' \
  "LENGTH OF" "                                      " 4
at_xfail=no
(
  $as_echo "638. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(2).
       01 G.
         02 Y           PIC X(2) OCCURS 10.
       01 L             PIC 9(4).
       01 I             PIC 9(2) VALUE 10.
       78 I-LEN         VALUE LENGTH OF I.
       01 TSTDISP.
         02 FILLER OCCURS 5000.
           10 T1        PIC X(11).
           10 T2        PIC X(22).
       PROCEDURE        DIVISION.
           MOVE LENGTH OF X TO L
           IF L NOT = 2
              DISPLAY "Length 1 " L
              END-DISPLAY
           END-IF
           MOVE LENGTH OF Y TO L
           IF L NOT = 2
              DISPLAY "Length 2 " L
              END-DISPLAY
           END-IF
           MOVE LENGTH OF Y(1) TO L
           IF L NOT = 2
              DISPLAY "Length 3 " L
              END-DISPLAY
           END-IF
           IF I-LEN NOT = 2
              DISPLAY "Length 4 " I-LEN
              END-DISPLAY
           END-IF
           IF LENGTH OF L + 2 NOT = 6
              ADD 2 TO LENGTH OF L GIVING L
              DISPLAY "Length 5 " L
              END-DISPLAY
           END-IF
           MOVE 0 TO L
           PERFORM LENGTH OF L TIMES
              ADD 1 TO L
           END-PERFORM
           IF L NOT = 4
              DISPLAY "Length 6 " L
              END-DISPLAY
           END-IF
           MOVE 0 TO L
           PERFORM VARME
                   VARYING I FROM LENGTH OF I
                             BY   LENGTH OF X
                   UNTIL   I > LENGTH OF L
           IF ((L NOT = 2) OR
               (I NOT = 6)    )
              DISPLAY "Length 7 " L " - " I
              END-DISPLAY
           END-IF
           *> one display test
           DISPLAY LENGTH OF TSTDISP WITH NO ADVANCING
           END-DISPLAY
           STOP RUN.
       VARME.
           ADD 1 TO L
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:297: \$COMPILE -Wno-constant-expression prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -Wno-constant-expression prog.cob" "run_extensions.at:297"
( $at_check_trace; $COMPILE -Wno-constant-expression prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:297"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:298: ./prog"
at_fn_check_prepare_trace "run_extensions.at:298"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "165000" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_638
#AT_START_639
at_fn_group_banner 639 'run_extensions.at:303' \
  "SET TO SIZE OF" "                                 " 4
at_xfail=no
(
  $as_echo "639. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       DATA  DIVISION.
       WORKING-STORAGE SECTION.
       01  TST    PIC X(10) VALUE "abcdefghij".
       01  TST2.
           05  FILLER OCCURS 5000.
               10 T2-1    PIC X(11).
               10 T2-2    PIC X(22).
       01  LN     PIC 9(06).

       PROCEDURE DIVISION.
           SET LN TO SIZE OF TST
           IF LN NOT = 10
              DISPLAY "SIZE OF TST is " LN UPON SYSERR
              END-DISPLAY
           END-IF
           SET LN TO SIZE OF TST2
           IF LN NOT = 165000
              DISPLAY "SIZE OF TST2 is " LN UPON SYSERR
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:334: \$COMPILE prog.cob "
at_fn_check_prepare_dynamic "$COMPILE prog.cob " "run_extensions.at:334"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:334"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:335: ./prog"
at_fn_check_prepare_trace "run_extensions.at:335"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:335"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_639
#AT_START_640
at_fn_group_banner 640 'run_extensions.at:340' \
  "WHEN-COMPILED" "                                  " 4
at_xfail=no
(
  $as_echo "640. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(20).
       PROCEDURE        DIVISION.
           MOVE WHEN-COMPILED TO X.
           INSPECT X CONVERTING "0123456789" TO "9999999999".
           IF X NOT = "99/99/9999.99.99    "
              CALL 'CBL_OC_DUMP' USING X
                 ON EXCEPTION
                    DISPLAY X NO ADVANCING
                    END-DISPLAY
              END-CALL
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:362: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:362"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:362"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:363: ./prog"
at_fn_check_prepare_trace "run_extensions.at:363"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:363"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_640
#AT_START_641
at_fn_group_banner 641 'run_extensions.at:369' \
  "Complex OCCURS DEPENDING ON (1)" "                " 4
at_xfail=no
(
  $as_echo "641. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 I PIC 9.
       01 G-1 VALUE "123456789".
         02 G-2.
           03 X   PIC X OCCURS 1 TO 3 DEPENDING ON I.
         02 G-3.
           03 G-4.
             04 X PIC X OCCURS 1 TO 3 DEPENDING ON I.
           03 G-5.
             04 X PIC X OCCURS 1 TO 3 DEPENDING ON I.
       PROCEDURE        DIVISION.
           MOVE 2 TO I.
           DISPLAY G-1 ":" G-4 ":" G-5 NO ADVANCING
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:392: \$COMPILE -std=mvs prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=mvs prog.cob" "run_extensions.at:392"
( $at_check_trace; $COMPILE -std=mvs prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:392"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:393: ./prog"
at_fn_check_prepare_trace "run_extensions.at:393"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "123456:34:56" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:393"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_641
#AT_START_642
at_fn_group_banner 642 'run_extensions.at:398' \
  "Complex OCCURS DEPENDING ON (2)" "                " 4
at_xfail=no
(
  $as_echo "642. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  I            PIC 99.
       01  J            PIC 99.
       01  K            PIC 99.
       01  VLEN         PIC 99.
       01  VTOP.
           03 VGROUP.
             05  VX     OCCURS 1 TO 5 DEPENDING ON I.
               10 VXX   PIC X(1).
             05  VY     OCCURS 1 TO 5 DEPENDING ON J.
               10 VYY   PIC X(2).
             05 ZZ      OCCURS 1 TO 5 DEPENDING ON K.
               10 VZZ   PIC X(3).
       PROCEDURE        DIVISION.
           MOVE    1      TO I.
           MOVE    1      TO J.
           MOVE    1      TO K.
           MOVE    '1'    TO VXX (1).
           MOVE    '22'   TO VYY (1).
           MOVE    '333'  TO VZZ (1).
           MOVE    LENGTH OF VGROUP         TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           MOVE    FUNCTION LENGTH (VGROUP) TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           DISPLAY VGROUP
           END-DISPLAY.
           INITIALIZE     VTOP.
           MOVE    3      TO I.
           MOVE    2      TO J.
           MOVE    1      TO K.
           MOVE    '3'    TO VXX (3).
           MOVE    '22'   TO VYY (2).
           MOVE    '111'  TO VZZ (1).
           MOVE    LENGTH OF VGROUP         TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           MOVE    FUNCTION LENGTH (VGROUP) TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           DISPLAY VGROUP
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:452: \$COMPILE -std=mf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_extensions.at:452"
( $at_check_trace; $COMPILE -std=mf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:452"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:453: ./prog"
at_fn_check_prepare_trace "run_extensions.at:453"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "18181    22        333
1818  3    22      111
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:453"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_642
#AT_START_643
at_fn_group_banner 643 'run_extensions.at:461' \
  "Complex OCCURS DEPENDING ON (3)" "                " 4
at_xfail=no
(
  $as_echo "643. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  I            PIC 99.
       01  J            PIC 99.
       01  K            PIC 99.
       01  VLEN         PIC 99.
       01  VTOP.
           03 VGROUP.
             05  VX     OCCURS 1 TO 5 DEPENDING ON I.
               10 VXX   PIC X(1).
             05  VY     OCCURS 1 TO 5 DEPENDING ON J.
               10 VYY   PIC X(2).
             05 ZZ      OCCURS 1 TO 5 DEPENDING ON K.
               10 VZZ   PIC X(3).
       PROCEDURE        DIVISION.
           MOVE    1      TO I.
           MOVE    1      TO J.
           MOVE    1      TO K.
           MOVE    '1'    TO VXX (1).
           MOVE    '22'   TO VYY (1).
           MOVE    '333'  TO VZZ (1).
           MOVE    LENGTH OF VGROUP         TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           MOVE    FUNCTION LENGTH (VGROUP) TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           DISPLAY VGROUP
           END-DISPLAY.
           INITIALIZE     VTOP.
           MOVE    3      TO I.
           MOVE    2      TO J.
           MOVE    1      TO K.
           MOVE    '3'    TO VXX (3).
           MOVE    '22'   TO VYY (2).
           MOVE    '111'  TO VZZ (1).
           MOVE    LENGTH OF VGROUP         TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           MOVE    FUNCTION LENGTH (VGROUP) TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           DISPLAY VGROUP
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:515: \$COMPILE -fcomplex-odo -fodoslide prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fcomplex-odo -fodoslide prog.cob" "run_extensions.at:515"
( $at_check_trace; $COMPILE -fcomplex-odo -fodoslide prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:516: ./prog"
at_fn_check_prepare_trace "run_extensions.at:516"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0606122333
1010  3  22111
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:516"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_643
#AT_START_644
at_fn_group_banner 644 'run_extensions.at:524' \
  "Complex OCCURS DEPENDING ON (4)" "                " 4
at_xfail=no
(
  $as_echo "644. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  I            PIC 99.
       01  J            PIC 99.
       01  K            PIC 99.
       01  VLEN         PIC 99.
       01  VTOP.
           03 VGROUP.
             05  VX     OCCURS 1 TO 5 DEPENDING ON I.
               10 VXX   PIC X(1).
             05  VY     OCCURS 1 TO 5 DEPENDING ON J.
               10 VYY   PIC X(2).
             05 ZZ      OCCURS 1 TO 5 DEPENDING ON K.
               10 VZZ   PIC X(3).
             05  VFIX   PIC X(3).
       PROCEDURE        DIVISION.
           MOVE    1      TO I.
           MOVE    1      TO J.
           MOVE    1      TO K.
           MOVE    '1'    TO VXX (1).
           MOVE    '22'   TO VYY (1).
           MOVE    '333'  TO VZZ (1).
           MOVE    '444'  TO VFIX.
           MOVE    LENGTH OF VGROUP         TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           MOVE    FUNCTION LENGTH (VGROUP) TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           DISPLAY VGROUP
           END-DISPLAY.
           INITIALIZE     VTOP.
           MOVE    3      TO I.
           MOVE    2      TO J.
           MOVE    1      TO K.
           MOVE    '3'    TO VXX (3).
           MOVE    '22'   TO VYY (2).
           MOVE    '111'  TO VZZ (1).
           MOVE    '000'  TO VFIX.
           MOVE    LENGTH OF VGROUP         TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           MOVE    FUNCTION LENGTH (VGROUP) TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           DISPLAY VGROUP
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:581: \$COMPILE -fcomplex-odo prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fcomplex-odo prog.cob" "run_extensions.at:581"
( $at_check_trace; $COMPILE -fcomplex-odo prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:581"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:582: ./prog"
at_fn_check_prepare_trace "run_extensions.at:582"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "33331    22        333            444
3333  3    22      111            000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:582"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_644
#AT_START_645
at_fn_group_banner 645 'run_extensions.at:590' \
  "Complex OCCURS DEPENDING ON (5)" "                " 4
at_xfail=no
(
  $as_echo "645. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  I            PIC 99.
       01  J            PIC 99.
       01  K            PIC 99.
       01  VLEN         PIC 99.
       01  VTOP.
           03 VGROUP.
             05  VX     OCCURS 1 TO 5 DEPENDING ON I.
               10 VXX   PIC X(1).
             05  VY     OCCURS 1 TO 5 DEPENDING ON J.
               10 VYY   PIC X(2).
             05 ZZ      OCCURS 1 TO 5 DEPENDING ON K.
               10 VZZ   PIC X(3).
             05  VFIX   PIC X(3).
       PROCEDURE        DIVISION.
           MOVE    1      TO I.
           MOVE    1      TO J.
           MOVE    1      TO K.
           MOVE    '1'    TO VXX (1).
           MOVE    '22'   TO VYY (1).
           MOVE    '333'  TO VZZ (1).
           MOVE    '444'  TO VFIX.
           MOVE    LENGTH OF VGROUP         TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           MOVE    FUNCTION LENGTH (VGROUP) TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           DISPLAY VGROUP
           END-DISPLAY.
           INITIALIZE     VTOP.
           MOVE    3      TO I.
           MOVE    2      TO J.
           MOVE    1      TO K.
           MOVE    '3'    TO VXX (3).
           MOVE    '22'   TO VYY (2).
           MOVE    '111'  TO VZZ (1).
           MOVE    '000'  TO VFIX.
           MOVE    LENGTH OF VGROUP         TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           MOVE    FUNCTION LENGTH (VGROUP) TO VLEN.
           DISPLAY VLEN   NO ADVANCING
           END-DISPLAY.
           DISPLAY VGROUP
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:647: \$COMPILE -fcomplex-odo -fodoslide prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fcomplex-odo -fodoslide prog.cob" "run_extensions.at:647"
( $at_check_trace; $COMPILE -fcomplex-odo -fodoslide prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:647"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:648: ./prog"
at_fn_check_prepare_trace "run_extensions.at:648"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0909122333444
1313  3  22111000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:648"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_645
#AT_START_646
at_fn_group_banner 646 'run_extensions.at:657' \
  "Complex OCCURS DEPENDING ON (6)" "                " 4
at_xfail=no
(
  $as_echo "646. $at_setup_line: testing $at_desc ..."
  $at_traceon



$as_echo "run_extensions.at:660" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/run_extensions.at:660" # fixme, see FR #99

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  n            PIC 9 VALUE 2.
       01  m            PIC 9 VALUE 3.

       01  a-table      VALUE "ABCDEFGHIJ".
           03  rows     OCCURS 0 TO 2 TIMES
                        DEPENDING ON n.
                05  chars OCCURS 0 TO 5 TIMES
                          DEPENDING ON m
                          PIC X.

       01  vals         PIC X(3).

       PROCEDURE DIVISION.
           MOVE chars (1, 2) TO vals (1:1)
           MOVE chars (2, 1) TO vals (2:1)
           MOVE chars (2, 3) TO vals (3:1)
           IF vals NOT = "BFH"
              DISPLAY "Vals (aligned) wrong: " vals
              END-DISPLAY
           END-IF
        *> currently not working (size is wrong and it needs a temporary field)
        *> IF a-table NOT = "ABCFGH"
        *>    DISPLAY "Table (aligned) wrong: " a-table
        *>    END-DISPLAY
        *> END-IF
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:695: \$COMPILE -fcomplex-odo prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fcomplex-odo prog.cob" "run_extensions.at:695"
( $at_check_trace; $COMPILE -fcomplex-odo prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:695"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:696: ./prog"
at_fn_check_prepare_trace "run_extensions.at:696"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:696"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_646
#AT_START_647
at_fn_group_banner 647 'run_extensions.at:701' \
  "Complex OCCURS DEPENDING ON (7)" "                " 4
at_xfail=no
(
  $as_echo "647. $at_setup_line: testing $at_desc ..."
  $at_traceon



$as_echo "run_extensions.at:704" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/run_extensions.at:704" # fixme, see FR #99

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  n            PIC 9 VALUE 2.
       01  m            PIC 9 VALUE 3.

       01  a-table      VALUE "ABCDEFGHIJ".
           03  rows     OCCURS 0 TO 2 TIMES
                        DEPENDING ON n.
                05  chars OCCURS 0 TO 5 TIMES
                          DEPENDING ON m
                          PIC X.

       01  vals         PIC X(3).

       PROCEDURE DIVISION.
           MOVE chars (1, 2) TO vals (1:1)
           MOVE chars (2, 1) TO vals (2:1)
           MOVE chars (2, 3) TO vals (3:1)
           IF vals NOT = "BDF"
              DISPLAY "Vals (slided) wrong: " vals
              END-DISPLAY
           END-IF
        *> FIXME - currently not working (size is wrong)
        *> IF a-table NOT = "ABCDEF"
        *>    DISPLAY "Table (slided) wrong: " a-table
        *>    END-DISPLAY
        *> END-IF
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:739: \$COMPILE -fcomplex-odo -fodoslide prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fcomplex-odo -fodoslide prog.cob" "run_extensions.at:739"
( $at_check_trace; $COMPILE -fcomplex-odo -fodoslide prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:739"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:740: ./prog"
at_fn_check_prepare_trace "run_extensions.at:740"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:740"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_647
#AT_START_648
at_fn_group_banner 648 'run_extensions.at:745' \
  "OCCURS UNBOUNDED" "                               " 4
at_xfail=no
(
  $as_echo "648. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  n            PIC 9(03)  VALUE 123.
       01  p            USAGE POINTER.

       LINKAGE SECTION.
       01  a-table.
           03  rows     OCCURS 0 TO UNBOUNDED TIMES
                        DEPENDING ON n.
               05 col1  PIC X.
               05 col2  PIC X(02).

       PROCEDURE DIVISION.
           IF FUNCTION LENGTH (a-table) NOT = 369
              DISPLAY 'WRONG LENGTH: ' FUNCTION LENGTH (a-table)
              END-DISPLAY
           END-IF
           ALLOCATE FUNCTION LENGTH (a-table) CHARACTERS
                    INITIALIZED TO ALL "ABCDE"
                    RETURNING p
           SET ADDRESS OF a-table TO p
           IF col2(1) NOT = "BC"
              DISPLAY "col2(1) wrong: " col2(1)
              END-DISPLAY
           END-IF
           IF rows(2) NOT = "DEA"
              DISPLAY "rows(2) wrong: " rows(2)
              END-DISPLAY
           END-IF
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:783: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:783"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:783"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:784: ./prog"
at_fn_check_prepare_trace "run_extensions.at:784"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:784"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_648
#AT_START_649
at_fn_group_banner 649 'run_extensions.at:789' \
  "INITIALIZE level 01" "                            " 4
at_xfail=no
(
  $as_echo "649. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 L1 OCCURS 1000 TIMES.
           05 L2 PIC S9(9) COMP-5 VALUE 5.
           05 L3 PIC S9(9)        VALUE 5.
       PROCEDURE DIVISION.
           IF L2(3) not = 5
              DISPLAY '0 VALUE(3) = ' L2(3)
              END-DISPLAY
           END-IF.
           INITIALIZE L1(1).
           IF L2(1) not = 0
              DISPLAY '1 VALUE(1) = ' L2(1)
              END-DISPLAY
           END-IF.
           IF L2(3) not = 5
              DISPLAY '1 VALUE(3) = ' L2(3)
              END-DISPLAY
           END-IF.
           INITIALIZE L1(1)  DEFAULT.
           IF L2(1) not = 0
              DISPLAY '2 VALUE(1) = ' L2(1)
              END-DISPLAY
           END-IF.
           IF L2(3) not = 5
              DISPLAY '2 VALUE(3) = ' L2(3)
              END-DISPLAY
           END-IF.
           INITIALIZE L1(1)  ALL VALUE.
           IF L2(1) not = 5
              DISPLAY '3 VALUE(1) = ' L2(1)
              END-DISPLAY
           END-IF.
           IF L2(3) not = 5
              DISPLAY '3 VALUE(3) = ' L2(3)
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:835: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:835"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:835"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:836: ./prog"
at_fn_check_prepare_trace "run_extensions.at:836"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:836"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_649
#AT_START_650
at_fn_group_banner 650 'run_extensions.at:841' \
  "MOVE of non-integer to alphanumeric" "            " 4
at_xfail=no
(
  $as_echo "650. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
        01 INTEGER             PIC 9(4)   VALUE 1289 .
        01 SIGNED-INTEGER      PIC S9(4)  VALUE -1289 .

        01 ALPHA-FIELD         PIC X(4).

        01 NON-INTEGER           PIC 9(2)V99   VALUE 12.89 .
        01 NON-INTEGER-2         PIC 9(2)V99
                                     USAGE BINARY VALUE 12.89 .
        01 NON-INTEGER-3         PIC 9(2)V99
                                      USAGE PACKED-DECIMAL VALUE 12.89 .
        01 SIGNED-NON-INTEGER    PIC S9(2)V99   VALUE -12.89 .
        01 SIGNED-NON-INTEGER-2  PIC S9(2)V99
                                     USAGE BINARY VALUE -12.89 .
        01 SIGNED-NON-INTEGER-3  PIC S9(2)V99
                                     USAGE PACKED-DECIMAL VALUE -12.89 .

       PROCEDURE        DIVISION.
*     *    MOVE NON-INTEGER TO ALPHA-NUMERIC --> ignore Decimal Point!
       S-01.
          MOVE SPACES TO ALPHA-FIELD.
          MOVE INTEGER TO ALPHA-FIELD.
          DISPLAY  ALPHA-FIELD NO ADVANCING
          END-DISPLAY.
       S-02.
          MOVE SPACES TO ALPHA-FIELD.
          MOVE SIGNED-INTEGER TO ALPHA-FIELD.
          DISPLAY  ALPHA-FIELD NO ADVANCING
          END-DISPLAY.
       S-03.
          MOVE SPACES TO ALPHA-FIELD.
          MOVE NON-INTEGER TO ALPHA-FIELD.
          DISPLAY  ALPHA-FIELD NO ADVANCING
          END-DISPLAY.
       S-10.
          MOVE SPACES TO ALPHA-FIELD.
          MOVE NON-INTEGER-2 TO ALPHA-FIELD.
          DISPLAY  ALPHA-FIELD NO ADVANCING
          END-DISPLAY.
       S-20.
          MOVE SPACES TO ALPHA-FIELD.
          MOVE NON-INTEGER-3 TO ALPHA-FIELD.
          DISPLAY  ALPHA-FIELD NO ADVANCING
          END-DISPLAY.
       S-30.
          MOVE SPACES TO ALPHA-FIELD.
          MOVE SIGNED-NON-INTEGER TO ALPHA-FIELD.
          DISPLAY  ALPHA-FIELD NO ADVANCING
          END-DISPLAY.
       S-40.
          MOVE SPACES TO ALPHA-FIELD.
          MOVE SIGNED-NON-INTEGER-2 TO ALPHA-FIELD.
          DISPLAY  ALPHA-FIELD NO ADVANCING
          END-DISPLAY.
       S-50.
          MOVE SPACES TO ALPHA-FIELD.
          MOVE SIGNED-NON-INTEGER-3 TO ALPHA-FIELD.
          DISPLAY  ALPHA-FIELD NO ADVANCING
          END-DISPLAY.

          STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:911: \$COMPILE -std=mf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=mf prog.cob" "run_extensions.at:911"
( $at_check_trace; $COMPILE -std=mf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: in paragraph 'S-03':
prog.cob: 36: warning: MOVE of non-integer to alphanumeric
prog.cob: in paragraph 'S-10':
prog.cob: 41: warning: MOVE of non-integer to alphanumeric
prog.cob: in paragraph 'S-20':
prog.cob: 46: warning: MOVE of non-integer to alphanumeric
prog.cob: in paragraph 'S-30':
prog.cob: 51: warning: MOVE of non-integer to alphanumeric
prog.cob: in paragraph 'S-40':
prog.cob: 56: warning: MOVE of non-integer to alphanumeric
prog.cob: in paragraph 'S-50':
prog.cob: 61: warning: MOVE of non-integer to alphanumeric
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:911"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:925: ./prog"
at_fn_check_prepare_trace "run_extensions.at:925"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "12891289128912891289128912891289" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:925"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_650
#AT_START_651
at_fn_group_banner 651 'run_extensions.at:931' \
  "CALL USING file-name" "                           " 4
at_xfail=no
(
  $as_echo "651. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >setfilename.c <<'_ATEOF'

#include <stdio.h>
#include <string.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int setfilename (cob_file *f, unsigned char *name)
{
  memcpy (f->assign->data, name, strlen ((char *)name));
  return 0;
}
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN FILENAME.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       WORKING-STORAGE  SECTION.
       01 FILENAME      PIC X(8).
       PROCEDURE        DIVISION.
           INITIALIZE FILENAME.
           CALL "setfilename" USING TEST-FILE "TESTFILE"
           END-CALL.
           OPEN OUTPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:968: \$COMPILE_MODULE setfilename.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE setfilename.c" "run_extensions.at:968"
( $at_check_trace; $COMPILE_MODULE setfilename.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:968"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:969: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:969"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:969"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:970: ./prog"
at_fn_check_prepare_trace "run_extensions.at:970"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:970"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:971: test -e TESTFILE"
at_fn_check_prepare_trace "run_extensions.at:971"
( $at_check_trace; test -e TESTFILE
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:971"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_651
#AT_START_652
at_fn_group_banner 652 'run_extensions.at:976' \
  "CALL unusual PROGRAM-ID." "                       " 4
at_xfail=no
(
  $as_echo "652. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >A@B.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      "A@B".
       PROCEDURE        DIVISION.
           DISPLAY "P1" NO ADVANCING
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


cat >A#B.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      "A#B".
       PROCEDURE        DIVISION.
           DISPLAY "P2" NO ADVANCING
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


cat >A-B.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      "A-B".
       PROCEDURE        DIVISION.
           DISPLAY "P3" NO ADVANCING
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


cat >A_B.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      "A_B".
       PROCEDURE        DIVISION.
           DISPLAY "P4" NO ADVANCING
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       PROCEDURE        DIVISION.
           CALL "A@B"
           END-CALL.
           CALL "A#B"
           END-CALL.
           CALL "A-B"
           END-CALL.
           CALL "A_B"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1030: \$COMPILE_MODULE A@B.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE A@B.cob" "run_extensions.at:1030"
( $at_check_trace; $COMPILE_MODULE A@B.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1030"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1031: \$COMPILE_MODULE A#B.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE A#B.cob" "run_extensions.at:1031"
( $at_check_trace; $COMPILE_MODULE A#B.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1031"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1032: \$COMPILE_MODULE A-B.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE A-B.cob" "run_extensions.at:1032"
( $at_check_trace; $COMPILE_MODULE A-B.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1032"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1033: \$COMPILE_MODULE A_B.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE A_B.cob" "run_extensions.at:1033"
( $at_check_trace; $COMPILE_MODULE A_B.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1033"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1034: \$COMPILE -o caller caller.cob"
at_fn_check_prepare_dynamic "$COMPILE -o caller caller.cob" "run_extensions.at:1034"
( $at_check_trace; $COMPILE -o caller caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1034"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1036: ./caller"
at_fn_check_prepare_trace "run_extensions.at:1036"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "P1P2P3P4" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1036"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_652
#AT_START_653
at_fn_group_banner 653 'run_extensions.at:1041' \
  "CALL / GOBACK with LOCAL-STORAGE" "               " 4
at_xfail=no
(
  $as_echo "653. $at_setup_line: testing $at_desc ..."
  $at_traceon



# Testcase introduced when Bug #91 occured.
# Will fail if memory is freed which was
# allocated by mpir/gmp.
cat >prog_a.cob <<'_ATEOF'

		IDENTIFICATION DIVISION.
		PROGRAM-ID. prog_a.
		DATA DIVISION.
		WORKING-STORAGE SECTION.
		77  WS-STRINGA   PIC X(10).
		PROCEDURE DIVISION.
		    MOVE  "hi there"   TO WS-STRINGA
		    CALL  "prog_b"  USING WS-STRINGA
		    DISPLAY "back in prog_a"
		    GOBACK.
_ATEOF


cat >prog_b.cob <<'_ATEOF'

		IDENTIFICATION DIVISION.
		PROGRAM-ID. prog_b.
		DATA DIVISION.
		WORKING-STORAGE SECTION.
		77  WS-STRINGB   PIC X(10).
		77  WS-CALLSB    PIC 9(03).
		LOCAL-STORAGE SECTION.
		77  LS-STRING  PIC X(10).
		LINKAGE SECTION.
		77  LK-STRING  PIC X(10).

		PROCEDURE DIVISION  USING  LK-STRING.
		    DISPLAY "entered prog_b"
		    ADD   1  TO  WS-CALLSB
		    MOVE  LK-STRING TO WS-STRINGB
		    MOVE  LK-STRING TO LS-STRING
		    DISPLAY "exiting prog_b"
		    GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1081: \$COMPILE prog_a.cob"
at_fn_check_prepare_dynamic "$COMPILE prog_a.cob" "run_extensions.at:1081"
( $at_check_trace; $COMPILE prog_a.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1081"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1082: \$COMPILE_MODULE prog_b.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog_b.cob" "run_extensions.at:1082"
( $at_check_trace; $COMPILE_MODULE prog_b.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1082"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1083: ./prog_a"
at_fn_check_prepare_trace "run_extensions.at:1083"
( $at_check_trace; ./prog_a
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "entered prog_b
exiting prog_b
back in prog_a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1083"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_653
#AT_START_654
at_fn_group_banner 654 'run_extensions.at:1091' \
  "CALL BY VALUE alphanumeric item" "                " 4
at_xfail=no
(
  $as_echo "654. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC XX VALUE "OK".
       PROCEDURE        DIVISION.
           CALL "prog2" USING BY VALUE X
           END-CALL.
           IF X NOT = "OK"
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
       PROGRAM-ID.      prog2.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01  X            PIC XX.
       PROCEDURE        DIVISION USING BY VALUE X.
           MOVE "KO" TO X.
           EXIT PROGRAM.
       END PROGRAM prog2.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1119: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1119"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 8: warning: BY CONTENT assumed for alphanumeric item
prog.cob: 19: warning: handling of parameters passed BY VALUE is unfinished; implementation is likely to be changed
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1119"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1123: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1123"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1123"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_654
#AT_START_655
at_fn_group_banner 655 'run_extensions.at:1128' \
  "CALL BY VALUE numeric literal WITH SIZE" "        " 4
at_xfail=no
(
  $as_echo "655. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           *> Test of auto size, identical to SIZE AUTO
           CALL "prog2" USING BY VALUE 4 0 0 1 0
           END-CALL

           *> Test of explicit SIZE syntax
           CALL "prog2" USING BY VALUE 1 SIZE 1 2 0 0 0
           END-CALL
           CALL "prog2" USING BY VALUE 2 0 SIZE 2 3 0 0
           END-CALL
           CALL "prog2" USING BY VALUE 4 0 0 SIZE 4 4 0
           END-CALL
           CALL "prog2" USING BY VALUE 8 0 0 0 SIZE 8 5
           END-CALL
           CALL "prog2" USING BY VALUE 4 0 0 SIZE DEFAULT 6 0
           END-CALL
           CALL "prog2" USING BY VALUE 4 0 0 SIZE AUTO    7 0
           END-CALL
           *> test for SIZE AUTO with VALUE > INT_MAX is non-portable

           *> Test of explicit UNSIGNED SIZE syntax
           CALL "prog2" USING BY VALUE 1 UNSIGNED SIZE 1 2 0 0 0
           END-CALL
           CALL "prog2" USING BY VALUE 2 0 UNSIGNED SIZE 2 3 0 0
           END-CALL
           CALL "prog2" USING BY VALUE 4 0 0 UNSIGNED SIZE 4 4 0
           END-CALL
           CALL "prog2" USING BY VALUE 8 0 0 0 UNSIGNED SIZE 8 5 0
           END-CALL
           CALL "prog2" USING BY VALUE 4 0 0 UNSIGNED SIZE AUTO 6 0
           END-CALL
           *> test for SIZE AUTO with VALUE > INT_MAX is non-portable

           *> Test of MF size syntax
           *>CALL "prog2" USING BY VALUE 2 SIZE 1
           *>END-CALL
           *>CALL "prog2" USING BY VALUE 3 SIZE 2
           *>END-CALL
           *>CALL "prog2" USING BY VALUE 4 SIZE 4
           *>END-CALL
           *>CALL "prog2" USING BY VALUE 5 SIZE 8
           *>END-CALL

           STOP RUN.
       PROGRAM-ID.      prog2.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01  LEN          USAGE BINARY-LONG.
       01  VAR-1        USAGE BINARY-CHAR.
       01  VAR-2        USAGE BINARY-SHORT.
       01  VAR-4        USAGE BINARY-LONG.
       01  VAR-8        USAGE BINARY-DOUBLE.
       PROCEDURE        DIVISION USING BY VALUE LEN
                                                SIZE 1 VAR-1
                                                SIZE 2 VAR-2
                                                SIZE 4 VAR-4
                                                SIZE 8 VAR-8.
           EVALUATE len
              WHEN 1
                 DISPLAY '1: ' VAR-1 END-DISPLAY
              WHEN 2
                 DISPLAY '2: ' VAR-2 END-DISPLAY
              WHEN 4
                 DISPLAY '4: ' VAR-4 END-DISPLAY
              WHEN 8
                 DISPLAY '8: ' VAR-8 END-DISPLAY
           END-EVALUATE
           EXIT PROGRAM.
       END PROGRAM prog2.
       END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1208: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1208"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1208"
$at_failed && at_fn_log_failure
$at_traceon; }

#AT_CHECK([$COMPILE prog.cob], [0], [],
# hack for now: ignore
#[prog.cob: 58: warning: handling of parameters passed BY VALUE is unfinished; implementation is likely to be changed
#])
{ set +x
$as_echo "$at_srcdir/run_extensions.at:1213: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1213"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "4: +0000000001
1: +002
2: +00003
4: +0000000004
8: +00000000000000000005
4: +0000000006
4: +0000000007
1: +002
2: +00003
4: +0000000004
8: +00000000000000000005
4: +0000000006
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1213"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_655
#AT_START_656
at_fn_group_banner 656 'run_extensions.at:1231' \
  "Case-sensitive PROGRAM-ID" "                      " 4
at_xfail=no
(
  $as_echo "656. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      PROG.
       PROCEDURE        DIVISION.
           CALL "prog"
           END-CALL.
           STOP RUN.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           EXIT PROGRAM.
       END PROGRAM prog.
       END PROGRAM PROG.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1248: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1248"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1248"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1249: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1249"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1249"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_656
#AT_START_657
at_fn_group_banner 657 'run_extensions.at:1254' \
  "PROGRAM-ID AS clause" "                           " 4
at_xfail=no
(
  $as_echo "657. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller AS "PROG".
       PROCEDURE        DIVISION.
           CALL "prog"
           END-CALL.
           STOP RUN.
       PROGRAM-ID.      callee AS "prog".
       PROCEDURE        DIVISION.
           EXIT PROGRAM.
       END PROGRAM callee.
       END PROGRAM caller.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1271: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1271"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1271"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1272: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1272"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1272"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_657
#AT_START_658
at_fn_group_banner 658 'run_extensions.at:1277' \
  "Quoted PROGRAM-ID" "                              " 4
at_xfail=no
(
  $as_echo "658. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      "caller".
       PROCEDURE        DIVISION.
           CALL "callee"
           END-CALL.
           STOP RUN.
       PROGRAM-ID.      "callee".
       PROCEDURE        DIVISION.
           EXIT PROGRAM.
       END PROGRAM callee.
       END PROGRAM caller.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1294: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1294"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1294"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1295: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1295"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1295"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_658
#AT_START_659
at_fn_group_banner 659 'run_extensions.at:1301' \
  "ASSIGN clause" "                                  " 4
at_xfail=no
(
  $as_echo "659. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN FILENAME.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           MOVE "TEST-FILE" TO FILENAME.
           OPEN OUTPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1322: \$COMPILE -fassign-clause=mf prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fassign-clause=mf prog.cob" "run_extensions.at:1322"
( $at_check_trace; $COMPILE -fassign-clause=mf prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: warning: 'FILENAME' will be implicitly defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1322"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1325: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1325"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1325"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_659
#AT_START_660
at_fn_group_banner 660 'run_extensions.at:1330' \
  "ASSIGN clause IBM" "                              " 4
at_xfail=no
(
  $as_echo "660. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN DA-S-FILENAME.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN OUTPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1350: \$COMPILE -fassign-clause=ibm prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fassign-clause=ibm prog.cob" "run_extensions.at:1350"
( $at_check_trace; $COMPILE -fassign-clause=ibm prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 7: warning: ASSIGN interpreted as FILENAME
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1350"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1353: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1353"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1353"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1354: test -f FILENAME"
at_fn_check_prepare_trace "run_extensions.at:1354"
( $at_check_trace; test -f FILENAME
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1354"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_660
#AT_START_661
at_fn_group_banner 661 'run_extensions.at:1359' \
  "ASSIGN mapping" "                                 " 4
at_xfail=no
(
  $as_echo "661. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN "FILENAME".
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN OUTPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN "FILENAME2".
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN OUTPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1396: \$COMPILE -fno-filename-mapping prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fno-filename-mapping prog.cob" "run_extensions.at:1396"
( $at_check_trace; $COMPILE -fno-filename-mapping prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1396"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1397: DD_FILENAME=\"x\" ./prog"
at_fn_check_prepare_trace "run_extensions.at:1397"
( $at_check_trace; DD_FILENAME="x" ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1397"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1398: test -f \"x\""
at_fn_check_prepare_trace "run_extensions.at:1398"
( $at_check_trace; test -f "x"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:1398"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1399: test -f \"FILENAME\""
at_fn_check_prepare_trace "run_extensions.at:1399"
( $at_check_trace; test -f "FILENAME"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1399"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1401: \$COMPILE -ffilename-mapping prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE -ffilename-mapping prog2.cob" "run_extensions.at:1401"
( $at_check_trace; $COMPILE -ffilename-mapping prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1401"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1402: DD_FILENAME2=\"x\" ./prog2"
at_fn_check_prepare_trace "run_extensions.at:1402"
( $at_check_trace; DD_FILENAME2="x" ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1402"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1403: test -f \"FILENAME2\""
at_fn_check_prepare_trace "run_extensions.at:1403"
( $at_check_trace; test -f "FILENAME2"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:1403"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1404: test -f \"x\""
at_fn_check_prepare_trace "run_extensions.at:1404"
( $at_check_trace; test -f "x"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1404"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1405: dd_FILENAME2=\"y\" ./prog2"
at_fn_check_prepare_trace "run_extensions.at:1405"
( $at_check_trace; dd_FILENAME2="y" ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1405"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1406: test -f \"y\""
at_fn_check_prepare_trace "run_extensions.at:1406"
( $at_check_trace; test -f "y"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1406"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1407: FILENAME2=\"z\" ./prog2"
at_fn_check_prepare_trace "run_extensions.at:1407"
( $at_check_trace; FILENAME2="z" ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1407"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1408: test -f \"z\""
at_fn_check_prepare_trace "run_extensions.at:1408"
( $at_check_trace; test -f "z"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1408"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1409: ./prog2"
at_fn_check_prepare_trace "run_extensions.at:1409"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1409"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1410: test -f \"FILENAME2\""
at_fn_check_prepare_trace "run_extensions.at:1410"
( $at_check_trace; test -f "FILENAME2"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1410"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_661
#AT_START_662
at_fn_group_banner 662 'run_extensions.at:1415' \
  "ASSIGN expansion" "                               " 4
at_xfail=no
(
  $as_echo "662. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN "$DIR/FILENAME".
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN OUTPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1435: \$COMPILE -ffilename-mapping prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -ffilename-mapping prog.cob" "run_extensions.at:1435"
( $at_check_trace; $COMPILE -ffilename-mapping prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1435"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1436: DIR=\".\" ./prog"
at_fn_check_prepare_trace "run_extensions.at:1436"
( $at_check_trace; DIR="." ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1436"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1437: test -f \"./FILENAME\" && rm -f \"./FILENAME\""
at_fn_check_prepare_trace "run_extensions.at:1437"
( $at_check_trace; test -f "./FILENAME" && rm -f "./FILENAME"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1437"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_662
#AT_START_663
at_fn_group_banner 663 'run_extensions.at:1442' \
  "ASSIGN with COB_FILE_PATH" "                      " 4
at_xfail=no
(
  $as_echo "663. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN "FILENAMEX".
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN OUTPUT TEST-FILE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1462: \$COMPILE -ffilename-mapping prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -ffilename-mapping prog.cob" "run_extensions.at:1462"
( $at_check_trace; $COMPILE -ffilename-mapping prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1462"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1463: COB_FILE_PATH=\"..\" ./prog"
at_fn_check_prepare_trace "run_extensions.at:1463"
( $at_check_trace; COB_FILE_PATH=".." ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1463"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1464: test -f \"../FILENAMEX\" && rm -f \"../FILENAMEX\""
at_fn_check_prepare_trace "run_extensions.at:1464"
( $at_check_trace; test -f "../FILENAMEX" && rm -f "../FILENAMEX"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1464"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_663
#AT_START_664
at_fn_group_banner 664 'run_extensions.at:1469' \
  "NUMBER-OF-CALL-PARAMETERS" "                      " 4
at_xfail=no
(
  $as_echo "664. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 W             PIC X.
       01 X             PIC X.
       01 Y             PIC X.
       01 Z             PIC X.
       PROCEDURE        DIVISION
           USING W X Y Z.
           DISPLAY NUMBER-OF-CALL-PARAMETERS
           END-DISPLAY.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 W             PIC X.
       01 X             PIC X.
       01 Y             PIC X.
       01 Z             PIC X.
       PROCEDURE        DIVISION.
           CALL "callee"
           END-CALL.
           CALL "callee" USING W
           END-CALL.
           CALL "callee" USING W X
           END-CALL.
           CALL "callee" USING W X Y
           END-CALL.
           CALL "callee" USING W X Y Z
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1511: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:1511"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1511"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1512: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:1512"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1512"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1513: ./caller"
at_fn_check_prepare_trace "run_extensions.at:1513"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+000000000
+000000001
+000000002
+000000003
+000000004
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1513"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_664
#AT_START_665
at_fn_group_banner 665 'run_extensions.at:1524' \
  "TALLY" "                                          " 4
at_xfail=no
(
  $as_echo "665. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       PROCEDURE        DIVISION.
           ADD 1 TO TALLY END-ADD
           CALL "nested" END-CALL
           STOP RUN.

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      nested.
       PROCEDURE        DIVISION.
           DISPLAY tally END-DISPLAY
           STOP RUN.
       END PROGRAM      nested.
_ATEOF


#FIXME: Should get a dialect check in syntax checks,
#       along with all other special registers
{ set +x
$as_echo "$at_srcdir/run_extensions.at:1545: \$COMPILE_ONLY -fnot-register=TALLY prog.cob"
at_fn_check_prepare_dynamic "$COMPILE_ONLY -fnot-register=TALLY prog.cob" "run_extensions.at:1545"
( $at_check_trace; $COMPILE_ONLY -fnot-register=TALLY prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 5: error: 'TALLY' is not defined
prog.cob: 12: error: 'tally' is not defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:1545"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1550: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1550"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1550"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1551: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1551"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00001
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1551"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_665
#AT_START_666
at_fn_group_banner 666 'run_extensions.at:1558' \
  "Redefining TALLY" "                               " 4
at_xfail=no
(
  $as_echo "666. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  tally PIC 999 VALUE 1.

       PROCEDURE DIVISION.
           ADD 1 TO tally
           DISPLAY tally UPON SYSOUT
           .
_ATEOF



#FIXME: Should get a dialect check in syntax checks,
#       along with all other special registers
{ set +x
$as_echo "$at_srcdir/run_extensions.at:1578: \$COMPILE -std=ibm-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=ibm-strict prog.cob" "run_extensions.at:1578"
( $at_check_trace; $COMPILE -std=ibm-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:1578"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1579: \$COMPILE -std=acu-strict prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=acu-strict prog.cob" "run_extensions.at:1579"
( $at_check_trace; $COMPILE -std=acu-strict prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1579"
$at_failed && at_fn_log_failure
$at_traceon; }

#AT_CHECK([$COMPILE -std=ibm prog.cob], [0], [], [])
#AT_CHECK([$COMPILE -std=ibm-strict prog.cob], [1], [],
#[prog.cob: 7: error: redefinition of register 'TALLY'
#])
#AT_CHECK([$COMPILE prog.cob], [0], [], [])
{ set +x
$as_echo "$at_srcdir/run_extensions.at:1585: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1585"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "002
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1585"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_666
#AT_START_667
at_fn_group_banner 667 'run_extensions.at:1593' \
  "PROCEDURE DIVISION USING BY ..." "                " 4
at_xfail=no
(
  $as_echo "667. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       LINKAGE          SECTION.
       01 X             PIC X.
       01 Y             PIC 99.
       01 Z             PIC 99 USAGE COMP.
       PROCEDURE        DIVISION
           USING BY VALUE X BY REFERENCE Y Z.
           MOVE "Z" TO X.
           MOVE 56 TO Y.
           MOVE 78 TO Z.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X.
       01 Y             PIC 99.
       01 Z             PIC 99 USAGE COMP.
       PROCEDURE        DIVISION.
           MOVE "X" TO X.
           MOVE 12 TO Y.
           MOVE 34 TO Z.
           CALL "callee" USING BY CONTENT X
                               BY REFERENCE Y
                               BY CONTENT Z
           END-CALL.
           IF X NOT = "X" OR
              Y NOT = 56  OR
              Z NOT = 34
                DISPLAY "X = " X " Y = " Y " Z = " Z
                END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1637: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:1637"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1637"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1638: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:1638"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "callee.cob: 10: warning: handling of parameters passed BY VALUE is unfinished; implementation is likely to be changed
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1638"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1641: ./caller"
at_fn_check_prepare_trace "run_extensions.at:1641"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1641"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_667
#AT_START_668
at_fn_group_banner 668 'run_extensions.at:1645' \
  "PROCEDURE DIVISION CHAINING" "                    " 4
at_xfail=no
(
  $as_echo "668. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X.
       01  ABCD         PIC X(4).
       01  NUM          PIC 9 VALUE 7.
       PROCEDURE        DIVISION
                        CHAINING X ABCD NUM.
           IF X    NOT = "X"    OR
              ABCD NOT = "ABCD"
              DISPLAY "X = " X " ABCD = " ABCD
              END-DISPLAY
           END-IF
           IF NUM  NOT = 7
              DISPLAY "NUM not INITIALIZED: " NUM
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  VAR.
           03  X            PIC X VALUE 'a'.
           03  ABCD         PIC X(4).
           03  NUM          PIC 9 VALUE 7.
       PROCEDURE        DIVISION
                        CHAINING VAR.
           DISPLAY '-' VAR '-' WITH NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X.
       01  ABCD         PIC X(4).
       01  NUM          PIC 9 VALUE 7.
       PROCEDURE        DIVISION
                        CHAINING X ABCD NUM.
           IF X    NOT = "X"    OR
              ABCD NOT = "ABCD"
              DISPLAY "X = " X " ABCD = " ABCD
              END-DISPLAY
           END-IF
           IF NUM  NOT = 7
              DISPLAY "NUM not INITIALIZED: " NUM
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       PROCEDURE        DIVISION.
           CALL "prog3" USING "X ABCD" END-CALL
           STOP RUN.
_ATEOF


cat >init.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      init.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  VAR.
           03  X            PIC X VALUE 'a'.
           03  ABCD         PIC X(4).
           03  NUM          PIC 9  VALUE 7.
       77  NUM2             PIC 99 VALUE 2.
       PROCEDURE        DIVISION
                        CHAINING VAR.
           DISPLAY '-' VAR NUM2 '-' WITH NO ADVANCING
           END-DISPLAY
           INITIALIZE  VAR NUM2
           DISPLAY '-' VAR NUM2 '-' WITH NO ADVANCING
           MOVE 'XXXX' TO ABCD
           INITIALIZE  VAR NUM2 ALL TO VALUE
           DISPLAY '-' VAR NUM2 '-' WITH NO ADVANCING
           MOVE ALL 'b' TO ABCD
           INITIALIZE  VAR NUM2 ALL TO VALUE THEN TO DEFAULT
           DISPLAY '-' VAR NUM2 '-' WITH NO ADVANCING
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1742: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1742"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1742"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1743: ./prog X ABCD"
at_fn_check_prepare_trace "run_extensions.at:1743"
( $at_check_trace; ./prog X ABCD
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1743"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1745: \$COMPILE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_extensions.at:1745"
( $at_check_trace; $COMPILE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1745"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1746: ./prog2 X"
at_fn_check_prepare_trace "run_extensions.at:1746"
( $at_check_trace; ./prog2 X
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-X     -" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1746"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1747: ./prog2"
at_fn_check_prepare_trace "run_extensions.at:1747"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-a    7-" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1747"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1749: \$COMPILE_MODULE prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog3.cob" "run_extensions.at:1749"
( $at_check_trace; $COMPILE_MODULE prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1749"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1750: \$COBCRUN prog3 X ABCD"
at_fn_check_prepare_dynamic "$COBCRUN prog3 X ABCD" "run_extensions.at:1750"
( $at_check_trace; $COBCRUN prog3 X ABCD
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1750"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1752: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:1752"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1752"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1753: ./caller X ABCD"
at_fn_check_prepare_trace "run_extensions.at:1753"
( $at_check_trace; ./caller X ABCD
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: caller.cob: 6: CALL of program with CHAINING clause
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:1753"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1757: \$COMPILE init.cob"
at_fn_check_prepare_dynamic "$COMPILE init.cob" "run_extensions.at:1757"
( $at_check_trace; $COMPILE init.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1757"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1758: ./init X"
at_fn_check_prepare_trace "run_extensions.at:1758"
( $at_check_trace; ./init X
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-X     02--     000--aXXXX702--a    702-" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1758"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_668
#AT_START_669
at_fn_group_banner 669 'run_extensions.at:1762' \
  "STOP RUN RETURNING/GIVING" "                      " 4
at_xfail=no
(
  $as_echo "669. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog1.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog1.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77  RET          PIC 99 USAGE DISPLAY.
       PROCEDURE        DIVISION.
           MOVE 11 TO RET
           STOP RUN RETURNING RET.
_ATEOF


cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77  RET          PIC 99 USAGE PACKED-DECIMAL.
       PROCEDURE        DIVISION.
           MOVE 22 TO RET
           STOP RUN GIVING RET.
_ATEOF


cat >prog3.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog3.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           STOP RUN 33.
_ATEOF


cat >prog4.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog4.
       PROCEDURE        DIVISION.
           STOP RUN RETURNING 44.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1803: \$COMPILE prog1.cob"
at_fn_check_prepare_dynamic "$COMPILE prog1.cob" "run_extensions.at:1803"
( $at_check_trace; $COMPILE prog1.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1803"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1804: ./prog1"
at_fn_check_prepare_trace "run_extensions.at:1804"
( $at_check_trace; ./prog1
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 11 $at_status "$at_srcdir/run_extensions.at:1804"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1806: \$COMPILE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog2.cob" "run_extensions.at:1806"
( $at_check_trace; $COMPILE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1806"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1807: ./prog2"
at_fn_check_prepare_trace "run_extensions.at:1807"
( $at_check_trace; ./prog2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 22 $at_status "$at_srcdir/run_extensions.at:1807"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1809: \$COMPILE prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE prog3.cob" "run_extensions.at:1809"
( $at_check_trace; $COMPILE prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1809"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1810: ./prog3"
at_fn_check_prepare_trace "run_extensions.at:1810"
( $at_check_trace; ./prog3
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 33 $at_status "$at_srcdir/run_extensions.at:1810"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1812: \$COMPILE prog4.cob"
at_fn_check_prepare_dynamic "$COMPILE prog4.cob" "run_extensions.at:1812"
( $at_check_trace; $COMPILE prog4.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1812"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1813: ./prog4"
at_fn_check_prepare_trace "run_extensions.at:1813"
( $at_check_trace; ./prog4
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 44 $at_status "$at_srcdir/run_extensions.at:1813"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_669
#AT_START_670
at_fn_group_banner 670 'run_extensions.at:1818' \
  "GOBACK/EXIT PROGRAM RETURNING/GIVING" "           " 4
at_xfail=no
(
  $as_echo "670. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77  RETURN-DISP  PIC S9(08).
       PROCEDURE        DIVISION.
           CALL 'prog1' END-CALL
           IF RETURN-CODE NOT = -1
              MOVE RETURN-CODE TO RETURN-DISP
              DISPLAY 'RETURN-CODE ' RETURN-DISP
                      ' INSTEAD OF -1'
              END-DISPLAY
           END-IF
           CALL 'prog2' END-CALL
           IF RETURN-CODE NOT = 2
              MOVE RETURN-CODE TO RETURN-DISP
              DISPLAY 'RETURN-CODE ' RETURN-DISP
                      ' INSTEAD OF 2'
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


cat >prog1.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog1.
       PROCEDURE        DIVISION.
           EXIT PROGRAM RETURNING -1.
_ATEOF



cat >prog2.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog2.
       PROCEDURE        DIVISION.
           GOBACK GIVING 2.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1860: \$COMPILE prog.cob prog1.cob prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob prog1.cob prog2.cob" "run_extensions.at:1860"
( $at_check_trace; $COMPILE prog.cob prog1.cob prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1860"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1861: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1861"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/run_extensions.at:1861"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_670
#AT_START_671
at_fn_group_banner 671 'run_extensions.at:1868' \
  "ENTRY" "                                          " 4
at_xfail=no
(
  $as_echo "671. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       PROCEDURE        DIVISION.
           CALL "hello" USING "COBOL"
           END-CALL.
           CALL "bye" USING "COBOL"
           END-CALL.
           STOP RUN.
_ATEOF


cat >hello.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      hello.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 MSG-HELLO     PIC X(7) VALUE "Hello, ".
       01 MSG-BYE       PIC X(5) VALUE "Bye, ".
       LINKAGE          SECTION.
       01 X             PIC X(5).
       01 Y             PIC X(5).
       PROCEDURE        DIVISION USING X.
           DISPLAY MSG-HELLO X "!".
           EXIT PROGRAM.

       ENTRY "bye" USING Y.
           DISPLAY MSG-BYE Y "!".
           EXIT PROGRAM.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1901: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:1901"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1901"
$at_failed && at_fn_log_failure
$at_traceon; }

# TODO: Doesn't work without sticky-linkage which is likely a bug!
{ set +x
$as_echo "$at_srcdir/run_extensions.at:1903: \$COMPILE_MODULE -fentry-statement=ok -fsticky-linkage hello.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE -fentry-statement=ok -fsticky-linkage hello.cob" "run_extensions.at:1903"
( $at_check_trace; $COMPILE_MODULE -fentry-statement=ok -fsticky-linkage hello.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1903"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1904: ./caller"
at_fn_check_prepare_trace "run_extensions.at:1904"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Hello, COBOL!
Bye, COBOL!
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1904"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_671
#AT_START_672
at_fn_group_banner 672 'run_extensions.at:1914' \
  "LINE SEQUENTIAL write" "                          " 4
at_xfail=no
(
  $as_echo "672. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       "./TEST-FILE"
                        ORGANIZATION IS LINE SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN OUTPUT TEST-FILE.
           MOVE "a"    TO TEST-REC.
           WRITE TEST-REC
           END-WRITE.
           MOVE "ab"   TO TEST-REC.
           WRITE TEST-REC AFTER 1 LINES
           END-WRITE.
           MOVE "abc"  TO TEST-REC.
           WRITE TEST-REC BEFORE 2 LINES
           END-WRITE.
           MOVE "abcd" TO TEST-REC.
           WRITE TEST-REC
           END-WRITE.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:1947: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:1947"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1947"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1948: ./prog"
at_fn_check_prepare_trace "run_extensions.at:1948"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1948"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:1949: cat TEST-FILE"
at_fn_check_prepare_trace "run_extensions.at:1949"
( $at_check_trace; cat TEST-FILE
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a

ababc

abcd
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:1949"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_672
#AT_START_673
at_fn_group_banner 673 'run_extensions.at:1960' \
  "LINE SEQUENTIAL read" "                           " 4
at_xfail=no
(
  $as_echo "673. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >TEST-FILE <<'_ATEOF'
a
ab
abc
abcd
abcde
abcdef
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN       "./TEST-FILE"
                        ORGANIZATION IS LINE SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(4).
       PROCEDURE        DIVISION.
           OPEN INPUT TEST-FILE.
           READ TEST-FILE
           END-READ.
           DISPLAY "(" TEST-REC ")"
           END-DISPLAY.
           READ TEST-FILE
           END-READ.
           DISPLAY "(" TEST-REC ")"
           END-DISPLAY.
           READ TEST-FILE
           END-READ.
           DISPLAY "(" TEST-REC ")"
           END-DISPLAY.
           READ TEST-FILE
           END-READ.
           DISPLAY "(" TEST-REC ")"
           END-DISPLAY.
           READ TEST-FILE
           END-READ.
           DISPLAY "(" TEST-REC ")"
           END-DISPLAY.
           READ TEST-FILE
           END-READ.
           DISPLAY "(" TEST-REC ")"
           END-DISPLAY.
           CLOSE TEST-FILE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2014: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2014"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2014"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2015: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2015"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "(a   )
(ab  )
(abc )
(abcd)
(abcd)
(abcd)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2015"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_673
#AT_START_674
at_fn_group_banner 674 'run_extensions.at:2027' \
  "ASSIGN to KEYBOARD/DISPLAY" "                     " 4
at_xfail=no
(
  $as_echo "674. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >TEST-FILE <<'_ATEOF'
a
ab
abc
abcd
abcde
abcdef
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN  KEYBOARD
                        ORGANIZATION IS LINE SEQUENTIAL.
       SELECT TEST-OUT  ASSIGN  DISPLAY
                        ORGANIZATION IS LINE SEQUENTIAL.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(80).
       FD TEST-OUT.
       01 TEST-REC-OUT  PIC X(80).
       PROCEDURE        DIVISION.
       A00.
           OPEN INPUT  TEST-FILE.
           OPEN OUTPUT TEST-OUT.
       A01.
           READ TEST-FILE AT END
                GO TO Z99
           END-READ.
           WRITE TEST-REC-OUT FROM TEST-REC
           END-WRITE.
           GO TO A01.
       Z99.
           CLOSE TEST-FILE.
           CLOSE TEST-OUT.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2072: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2072"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2072"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2073: cat TEST-FILE | ./prog"
at_fn_check_prepare_notrace 'a shell pipeline' "run_extensions.at:2073"
( $at_check_trace; cat TEST-FILE | ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
ab
abc
abcd
abcde
abcdef
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2073"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_674
#AT_START_675
at_fn_group_banner 675 'run_extensions.at:2085' \
  "SORT ASSIGN KEYBOARD to ASSIGN DISPLAY" "         " 4
at_xfail=yes
(
  $as_echo "675. $at_setup_line: testing $at_desc ..."
  $at_traceon



# GC has an extension "SORT FILES always in memory" and therefore didn't
# used the ASSIGN clause (which should be mandatory) for SORT files at all.
# We should add an according test and change the test here after cleanup,
# officially documenting the "ASSIGN clause not necessary for SORT FILES"
# extension and enable it only with a conf entry (set only in default.conf).


cat >TEST-FILE <<'_ATEOF'
9
22
11
0
00
8
77
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.
       SELECT TEST-FILE ASSIGN  KEYBOARD
                        ORGANIZATION IS LINE SEQUENTIAL.
       SELECT TEST-OUT  ASSIGN  DISPLAY
                        ORGANIZATION IS LINE SEQUENTIAL.
       SELECT SORT-FILE.
       DATA             DIVISION.
       FILE             SECTION.
       FD TEST-FILE.
       01 TEST-REC      PIC X(80).
       FD TEST-OUT.
       01 TEST-REC-OUT  PIC X(80).
       SD SORT-FILE.
       01 SORT-REC      PIC X(80).
       PROCEDURE        DIVISION.
       A00.
           SORT SORT-FILE
                ON ASCENDING SORT-REC
                USING        TEST-FILE
                GIVING       TEST-OUT.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2133: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2133"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2133"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2134: cat TEST-FILE | ./prog"
at_fn_check_prepare_notrace 'a shell pipeline' "run_extensions.at:2134"
( $at_check_trace; cat TEST-FILE | ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
00
11
22
77
8
9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2134"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_675
#AT_START_676
at_fn_group_banner 676 'run_extensions.at:2147' \
  "Environment/Argument variable" "                  " 4
at_xfail=no
(
  $as_echo "676. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC X(4).
       01 Y             PIC X(8).
       01 Z             PIC 9(4).
       PROCEDURE        DIVISION.
           DISPLAY "TEST_ENV" UPON ENVIRONMENT-NAME
           END-DISPLAY.
           ACCEPT X FROM ENVIRONMENT-VALUE
           END-ACCEPT.
           DISPLAY "(" X ")"
           END-DISPLAY.
           DISPLAY "RXW" UPON ENVIRONMENT-VALUE
           END-DISPLAY.
           ACCEPT X FROM ENVIRONMENT-VALUE
           END-ACCEPT.
           DISPLAY "(" X ")"
           END-DISPLAY.
           ACCEPT Y FROM ARGUMENT-VALUE
           END-ACCEPT.
           DISPLAY "(" Y ")"
           END-DISPLAY.
           ACCEPT Z FROM ARGUMENT-NUMBER
           END-ACCEPT.
           DISPLAY "(" Z ")"
           END-DISPLAY.
           STOP RUN.
_ATEOF


export TEST_ENV=OK
{ set +x
$as_echo "$at_srcdir/run_extensions.at:2183: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2183"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2183"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2184: ./prog CHECKPAR"
at_fn_check_prepare_trace "run_extensions.at:2184"
( $at_check_trace; ./prog CHECKPAR
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "(OK  )
(RXW )
(CHECKPAR)
(0001)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2184"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_676
#AT_START_677
at_fn_group_banner 677 'run_extensions.at:2194' \
  "DECIMAL-POINT is COMMA (1)" "                     " 4
at_xfail=no
(
  $as_echo "677. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT    IS COMMA.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC 99V99.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MIN (3,,,,,,5) TO X.
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2214: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2214"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2214"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2215: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2215"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00,50
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2215"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_677
#AT_START_678
at_fn_group_banner 678 'run_extensions.at:2222' \
  "DECIMAL-POINT is COMMA (2)" "                     " 4
at_xfail=no
(
  $as_echo "678. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT    IS COMMA.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC 99V99.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MIN (3,,,,,, 5) TO X.
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2242: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2242"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2242"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2243: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2243"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "03,00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2243"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_678
#AT_START_679
at_fn_group_banner 679 'run_extensions.at:2250' \
  "DECIMAL-POINT is COMMA (3)" "                     " 4
at_xfail=no
(
  $as_echo "679. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT    IS COMMA.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC 99V99.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MIN (3,,,,,, 1,5) TO X.
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2270: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2270"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2270"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2271: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2271"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "01,50
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2271"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_679
#AT_START_680
at_fn_group_banner 680 'run_extensions.at:2278' \
  "DECIMAL-POINT is COMMA (4)" "                     " 4
at_xfail=no
(
  $as_echo "680. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT    IS COMMA.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC 99V99.
       PROCEDURE        DIVISION.
           MOVE FUNCTION MIN (3,,,,,,1,5) TO X.
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2298: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2298"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2298"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2299: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2299"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00,10
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2299"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_680
#AT_START_681
at_fn_group_banner 681 'run_extensions.at:2306' \
  "DECIMAL-POINT is COMMA (5)" "                     " 4
at_xfail=no
(
  $as_echo "681. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT    IS COMMA.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC 99V99.
       PROCEDURE        DIVISION.
           COMPUTE X=1 + ,1
           END-COMPUTE
           DISPLAY X
           END-DISPLAY.
           COMPUTE X=1*,1
           END-COMPUTE
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2331: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2331"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2331"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2332: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2332"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "01,10
00,10
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2332"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_681
#AT_START_682
at_fn_group_banner 682 'run_extensions.at:2340' \
  "78 Level (1)" "                                   " 4
at_xfail=no
(
  $as_echo "682. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       78  X            VALUE "OK".
       PROCEDURE        DIVISION.
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2355: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2355"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2355"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2356: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2356"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2356"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_682
#AT_START_683
at_fn_group_banner 683 'run_extensions.at:2363' \
  "78 Level (2)" "                                   " 4
at_xfail=no
(
  $as_echo "683. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z.
       78  X            VALUE "OK".
       78  Y            VALUE "OK".
           03  FILLER   PIC XX VALUE "OK".
       PROCEDURE        DIVISION.
           DISPLAY X Z Y
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2381: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2381"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2381"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2382: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2382"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOKOK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2382"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_683
#AT_START_684
at_fn_group_banner 684 'run_extensions.at:2389' \
  "78 Level (3)" "                                   " 4
at_xfail=no
(
  $as_echo "684. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       78  X            VALUE "OK".
       01  Z            PIC XX VALUE "OK".
       PROCEDURE        DIVISION.
           DISPLAY Z X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2405: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2405"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2405"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2406: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2406"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2406"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_684
#AT_START_685
at_fn_group_banner 685 'run_extensions.at:2413' \
  "DEBUG (not active)" "                             " 4
at_xfail=no
(
  $as_echo "685. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY.
      D    DISPLAY "KO" NO ADVANCING
      D    END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2429: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2429"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2429"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2430: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2430"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2430"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_685
#AT_START_686
at_fn_group_banner 686 'run_extensions.at:2436' \
  "DEBUG (fdebugging-line)" "                        " 4
at_xfail=no
(
  $as_echo "686. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY.
      D    DISPLAY "KO" NO ADVANCING
      D    END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2452: \$COMPILE -fdebugging-line prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fdebugging-line prog.cob" "run_extensions.at:2452"
( $at_check_trace; $COMPILE -fdebugging-line prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2452"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2453: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2453"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKKO" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2453"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_686
#AT_START_687
at_fn_group_banner 687 'run_extensions.at:2459' \
  "DEBUG (obsolete WITH DEBUGGING MODE)" "           " 4
at_xfail=no
(
  $as_echo "687. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
           SOURCE-COMPUTER. mine WITH DEBUGGING MODE.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
      D    DISPLAY "KO" NO ADVANCING UPON STDOUT
      D    END-DISPLAY.
           DISPLAY "OK" NO ADVANCING UPON STDOUT
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2478: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2478"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2478"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2479: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2479"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "KOOK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2479"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_687
#AT_START_688
at_fn_group_banner 688 'run_extensions.at:2485' \
  "DEBUG free format (not active)" "                 " 4
at_xfail=no
(
  $as_echo "688. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY.
      >>D    DISPLAY "KO" NO ADVANCING
      >>D    END-DISPLAY.
             STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2501: \$COMPILE -free prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -free prog.cob" "run_extensions.at:2501"
( $at_check_trace; $COMPILE -free prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2501"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2502: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2502"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2502"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_688
#AT_START_689
at_fn_group_banner 689 'run_extensions.at:2508' \
  "DEBUG free format (fdebugging-line)" "            " 4
at_xfail=no
(
  $as_echo "689. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
             DISPLAY "OK" NO ADVANCING
             END-DISPLAY.
      >>D    DISPLAY "KO" NO ADVANCING
      >>D    END-DISPLAY.
             STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2524: \$COMPILE -free -fdebugging-line prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -free -fdebugging-line prog.cob" "run_extensions.at:2524"
( $at_check_trace; $COMPILE -free -fdebugging-line prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2524"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2525: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2525"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKKO" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2525"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_689
#AT_START_690
at_fn_group_banner 690 'run_extensions.at:2531' \
  "SWITCHES with non-standard names" "               " 4
at_xfail=no
(
  $as_echo "690. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           SW1
             ON  IS SWIT1-ON
             OFF IS SWIT1-OFF
           .
           SWITCH B IS SWITCH-B
             ON  IS SWIT2-ON
             OFF IS SWIT2-OFF
           .
           SWITCH 25
             ON  IS SWIT25-ON
             OFF IS SWIT25-OFF
           .
           SWITCH Z
             ON  IS SWIT26-ON
             OFF IS SWIT26-OFF
           .
           SWITCH-32
             ON  IS SWIT32-ON
             OFF IS SWIT32-OFF
           .
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  SWITCH       PIC 99 VALUE 12.
	   78  Z            VALUE 11.
       PROCEDURE        DIVISION.
           ADD SWITCH 1 GIVING SWITCH
           END-ADD.
           IF SWITCH NOT = 13
              DISPLAY "SWITCH (variable) + 1 WRONG: "
                      SWITCH
              END-DISPLAY
           END-IF.
           ADD SWITCH Z GIVING SWITCH
           END-ADD.
           IF SWITCH NOT = 24
              DISPLAY "SWITCH (variable) + Z WRONG: "
                      SWITCH
              END-DISPLAY
           END-IF.
           IF SWIT1-ON
              DISPLAY "ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY "OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           IF SWIT2-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           SET SWITCH-B TO OFF
           IF SWIT2-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           IF SWIT25-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           IF SWIT26-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           IF SWIT32-ON
              DISPLAY " ON" NO ADVANCING
              END-DISPLAY
           ELSE
              DISPLAY " OFF" NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2625: \$COMPILE -fsystem-name=\"sw1, SwItCh\\ b, SWITCH\\ 25\" \\
-fsystem-name=SWITCH-32 -fsystem-name=\"SWITCH\\ Z\" prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "run_extensions.at:2625"
( $at_check_trace; $COMPILE -fsystem-name="sw1, SwItCh\ b, SWITCH\ 25" \
-fsystem-name=SWITCH-32 -fsystem-name="SWITCH\ Z" prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2625"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2627: COB_SWITCH_2=1 COB_SWITCH_26=1 COB_SWITCH_32=1 ./prog"
at_fn_check_prepare_trace "run_extensions.at:2627"
( $at_check_trace; COB_SWITCH_2=1 COB_SWITCH_26=1 COB_SWITCH_32=1 ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFF ON OFF OFF ON ON" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2627"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_690
#AT_START_691
at_fn_group_banner 691 'run_extensions.at:2633' \
  "Larger REDEFINES lengths" "                       " 4
at_xfail=no
(
  $as_echo "691. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  Z            PIC 99.
       01  XMAIN        PIC X(8).
       01  XMAINRED REDEFINES XMAIN.
           03  FILLER         PIC X(4).
           03  XMAIN03.
               05  XMAIN0501  PIC X(4).
               05  XMAIN0502 REDEFINES XMAIN0501 PIC X(5).
       01 USE-VARS.
          05 USE-VALUE                PIC 9
                                      VALUE ZERO.
             88 USE-ACTIVE-FIRST      VALUE 1.
             88 USE-ACTIVE-SECOND     VALUE 2.
          05 USE-FIRST.
             10 FIRST-DATA.
                20 FIRST-DATA-VAR     PIC X(033).
             10 FIRST-VARIANT-A REDEFINES FIRST-DATA.
                20 PART-A-FIRST       PIC X(33211).
             10 FIRST-VARIANT-B REDEFINES FIRST-DATA.
                20 PART-B-FIRST       PIC X(24561).
             10 FIRST-VARIANT-C REDEFINES FIRST-DATA.
                20 PART-C-FIRST       PIC X(3421).
         05 USE-SECOND REDEFINES USE-FIRST.
            10 SECOND-HEADER.
               20 SECOND-DATA         PIC 9(015).
               20 SECOND-CONTROL-SUM  PIC 9(015)V9(003).
            10 SECOND-VARIANT-A REDEFINES SECOND-HEADER.
               20 PART-A-SECOND       PIC X(27241).
            10 SECOND-VARIANT-B REDEFINES SECOND-HEADER.
               20 PART-B-SECOND       PIC X(3879).
       PROCEDURE        DIVISION.
           MOVE    LENGTH OF XMAIN       TO Z.
           IF Z NOT = 8
              DISPLAY "Test 1 " Z
              END-DISPLAY
           END-IF.
           MOVE    LENGTH OF XMAINRED    TO Z.
           IF Z NOT = 9
              DISPLAY "Test 2 " Z
              END-DISPLAY
           END-IF.
           MOVE    LENGTH OF XMAIN03     TO Z.
           IF Z NOT = 5
              DISPLAY "Test 3 " Z
              END-DISPLAY
           END-IF.
           MOVE    LENGTH OF XMAIN0501   TO Z.
           IF Z NOT = 4
              DISPLAY "Test 4 " Z
              END-DISPLAY
           END-IF.
           MOVE    LENGTH OF XMAIN0502   TO Z.
           IF Z NOT = 5
              DISPLAY "Test 5 " Z
              END-DISPLAY
           END-IF.
           IF LENGTH OF USE-FIRST  NOT = 33211
              DISPLAY LENGTH OF USE-FIRST   END-DISPLAY
           END-IF.
           IF LENGTH OF USE-SECOND NOT = 27241
              DISPLAY LENGTH OF USE-SECOND  END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2705: \$COMPILE -flarger-redefines-ok -Wno-constant-expression prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -flarger-redefines-ok -Wno-constant-expression prog.cob" "run_extensions.at:2705"
( $at_check_trace; $COMPILE -flarger-redefines-ok -Wno-constant-expression prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 12: warning: size of 'XMAIN0502' larger than size of 'XMAIN0501'
prog.cob: 21: warning: size of 'FIRST-VARIANT-A' larger than size of 'FIRST-DATA'
prog.cob: 23: warning: size of 'FIRST-VARIANT-B' larger than size of 'FIRST-DATA'
prog.cob: 25: warning: size of 'FIRST-VARIANT-C' larger than size of 'FIRST-DATA'
prog.cob: 31: warning: size of 'SECOND-VARIANT-A' larger than size of 'SECOND-HEADER'
prog.cob: 33: warning: size of 'SECOND-VARIANT-B' larger than size of 'SECOND-HEADER'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2705"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2713: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2713"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2713"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_691
#AT_START_692
at_fn_group_banner 692 'run_extensions.at:2718' \
  "Obsolete 2002 keywords with COBOL2014" "          " 4
at_xfail=no
(
  $as_echo "692. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  TERMINAL     PIC XX VALUE "OK".
       01  SEND         PIC XX VALUE "OK".
       PROCEDURE        DIVISION.
           DISPLAY TERMINAL SEND.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2733: \$COMPILE -std=cobol2002 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=cobol2002 prog.cob" "run_extensions.at:2733"
( $at_check_trace; $COMPILE -std=cobol2002 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 6: error: syntax error, unexpected TERMINAL
prog.cob: 7: error: syntax error, unexpected SEND
prog.cob: 9: error: syntax error, unexpected TERMINAL
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:2733"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2738: \$COMPILE -std=cobol2014 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=cobol2014 prog.cob" "run_extensions.at:2738"
( $at_check_trace; $COMPILE -std=cobol2014 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2738"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2739: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2739"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2739"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_692
#AT_START_693
at_fn_group_banner 693 'run_extensions.at:2748' \
  "System routine with wrong number of parameters" " " 4
at_xfail=no
(
  $as_echo "693. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  N            PIC 9 USAGE BINARY.
       77  X            PIC X.
       PROCEDURE        DIVISION.
           CALL "C$NARG" USING N X
           END-CALL
           IF N NOT = 2
              DISPLAY "NOTOK " N
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


cat >wrong.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      wrong.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       77  X            PIC X.
       PROCEDURE        DIVISION.
           CALL "CBL_OR" USING X
           END-CALL
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2780: \$COMPILE wrong.cob"
at_fn_check_prepare_dynamic "$COMPILE wrong.cob" "run_extensions.at:2780"
( $at_check_trace; $COMPILE wrong.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "wrong.cob: 8: error: wrong number of CALL parameters for 'CBL_OR', 1 given, 3 expected
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:2780"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2783: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2783"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog.cob: 9: warning: wrong number of CALL parameters for 'C\$NARG', 2 given, 1 expected
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2783"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2786: ./prog 1 2"
at_fn_check_prepare_trace "run_extensions.at:2786"
( $at_check_trace; ./prog 1 2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2786"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_693
#AT_START_694
at_fn_group_banner 694 'run_extensions.at:2791' \
  "System routine C\$NARG" "                          " 4
at_xfail=no
(
  $as_echo "694. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            USAGE BINARY-LONG.
       LINKAGE SECTION.
       01  Y            PIC   X.
       PROCEDURE        DIVISION USING Y.
           CALL "C$NARG" USING X
           END-CALL
           IF X NOT = 1
              DISPLAY "NOTOK callee " X
              END-DISPLAY
           END-IF
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X VALUE "X".
       01  N            PIC 9 USAGE BINARY.
       LINKAGE SECTION.
       77  Y            PIC X.
       77  Z            PIC X.
       PROCEDURE        DIVISION.
           CALL "C$NARG" USING N
           END-CALL
           IF N NOT = 2
              DISPLAY "NOTOK caller (1) " N
              END-DISPLAY
           END-IF
           CALL "callee" USING X
           END-CALL
           CALL "C$NARG" USING N
           END-CALL
           IF N NOT = 2
              DISPLAY "NOTOK caller (2) " N
              END-DISPLAY
           END-IF
           STOP RUN.
_ATEOF


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  N            PIC 9 USAGE BINARY.
       LINKAGE SECTION.
       77  X            PIC X.
       77  Y            PIC X.
       77  Z            PIC X.
       PROCEDURE        DIVISION.
           CALL "C$NARG" USING N
           END-CALL
           DISPLAY N WITH NO ADVANCING
           END-DISPLAY
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2858: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:2858"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2858"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2859: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:2859"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2859"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2860: ./caller 1 2"
at_fn_check_prepare_trace "run_extensions.at:2860"
( $at_check_trace; ./caller 1 2
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2860"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2861: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2861"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2861"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2862: ./prog \"1 2\""
at_fn_check_prepare_trace "run_extensions.at:2862"
( $at_check_trace; ./prog "1 2"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2862"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2863: ./prog 1 2 3"
at_fn_check_prepare_trace "run_extensions.at:2863"
( $at_check_trace; ./prog 1 2 3
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "3" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2863"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_694
#AT_START_695
at_fn_group_banner 695 'run_extensions.at:2868' \
  "System routine C\$PARAMSIZE" "                     " 4
at_xfail=no
(
  $as_echo "695. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            USAGE BINARY-LONG.
       LINKAGE SECTION.
       01  Y            PIC   X ANY LENGTH.
       PROCEDURE        DIVISION USING Y.
           MOVE 1 TO X.
           CALL "C$PARAMSIZE" USING X
           END-CALL.
           IF RETURN-CODE NOT = 2
              DISPLAY "NOTOK "  RETURN-CODE
              END-DISPLAY
           END-IF.
           MOVE 0 TO RETURN-CODE.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC XX VALUE "XY".
       PROCEDURE        DIVISION.
           CALL "callee" USING X
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2903: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:2903"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2903"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2904: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:2904"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2904"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2905: ./caller"
at_fn_check_prepare_trace "run_extensions.at:2905"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2905"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_695
#AT_START_696
at_fn_group_banner 696 'run_extensions.at:2910' \
  "System routine C\$CALLEDBY" "                      " 4
at_xfail=no
(
  $as_echo "696. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >callee.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      callee.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(6) VALUE "X".
       PROCEDURE        DIVISION.
           CALL "C$CALLEDBY" USING X
           END-CALL.
           IF RETURN-CODE = 1 AND
              X = "caller"
              DISPLAY "OK" NO ADVANCING
              END-DISPLAY
           END-IF.
           EXIT PROGRAM.
_ATEOF


cat >caller.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      caller.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(6) VALUE "X".
       PROCEDURE        DIVISION.
           CALL "C$CALLEDBY" USING X
           END-CALL.
           IF RETURN-CODE = 0 AND
              X = SPACES
              DISPLAY "OK" NO ADVANCING
              END-DISPLAY
           END-IF.
           CALL "callee"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2949: \$COMPILE caller.cob"
at_fn_check_prepare_dynamic "$COMPILE caller.cob" "run_extensions.at:2949"
( $at_check_trace; $COMPILE caller.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2949"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2950: \$COMPILE_MODULE callee.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE callee.cob" "run_extensions.at:2950"
( $at_check_trace; $COMPILE_MODULE callee.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2950"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2951: ./caller"
at_fn_check_prepare_trace "run_extensions.at:2951"
( $at_check_trace; ./caller
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OKOK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:2951"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_696
#AT_START_697
at_fn_group_banner 697 'run_extensions.at:2956' \
  "System routine C\$JUSTIFY" "                       " 4
at_xfail=no
(
  $as_echo "697. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4) VALUE " OK ".
       PROCEDURE        DIVISION.
           CALL "C$JUSTIFY" USING X "L"
           END-CALL.
           IF X NOT = "OK  "
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:2975: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:2975"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2975"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:2976: ./prog"
at_fn_check_prepare_trace "run_extensions.at:2976"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:2976"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_697
#AT_START_698
at_fn_group_banner 698 'run_extensions.at:2981' \
  "System routine C\$PRINTABLE" "                     " 4
at_xfail=no
(
  $as_echo "698. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X.
           03  X1       PIC X.
           03  X234     PIC XXX.
       PROCEDURE        DIVISION.
           MOVE LOW-VALUE TO X1.
           MOVE "BCD"     TO X234.
           CALL "C$PRINTABLE" USING X
           END-CALL.
           IF X NOT = ".BCD"
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3004: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3004"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3004"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3005: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3005"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3005"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_698
#AT_START_699
at_fn_group_banner 699 'run_extensions.at:3010' \
  "System routine C\$MAKEDIR" "                       " 4
at_xfail=no
(
  $as_echo "699. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           CALL "C$MAKEDIR" USING "TMP"
           END-CALL.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3024: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3024"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3024"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3025: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3025"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3025"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3026: test -d \"TMP\" && rmdir \"TMP\""
at_fn_check_prepare_trace "run_extensions.at:3026"
( $at_check_trace; test -d "TMP" && rmdir "TMP"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3026"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_699
#AT_START_700
at_fn_group_banner 700 'run_extensions.at:3031' \
  "System routine C\$GETPID" "                        " 4
at_xfail=no
(
  $as_echo "700. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
           CALL "C$GETPID"
           END-CALL.
           IF RETURN-CODE = 0
              DISPLAY RETURN-CODE
              END-DISPLAY
           END-IF.
           MOVE 0 TO RETURN-CODE.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3050: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3050"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3050"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3051: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3051"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3051"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_700
#AT_START_701
at_fn_group_banner 701 'run_extensions.at:3056' \
  "System routine C\$TOUPPER" "                       " 4
at_xfail=no
(
  $as_echo "701. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(2) VALUE "ok".
       PROCEDURE        DIVISION.
           CALL "C$TOUPPER" USING X BY VALUE 2
           END-CALL.
           IF X NOT = "OK"
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3075: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3075"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3075"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3076: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3076"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3076"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_701
#AT_START_702
at_fn_group_banner 702 'run_extensions.at:3081' \
  "System routine C\$TOLOWER" "                       " 4
at_xfail=no
(
  $as_echo "702. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(2) VALUE "OK".
       PROCEDURE        DIVISION.
           CALL "C$TOLOWER" USING X BY VALUE 2
           END-CALL.
           IF X NOT = "ok"
              DISPLAY X NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3100: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3100"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3100"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3101: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3101"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3101"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_702
#AT_START_703
at_fn_group_banner 703 'run_extensions.at:3106' \
  "System routine CBL_OR" "                          " 4
at_xfail=no
(
  $as_echo "703. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4) VALUE "0000".
       01  Z            PIC X(4) VALUE X"01010101".
       PROCEDURE        DIVISION.
           CALL "CBL_OR" USING X Z
                BY VALUE LENGTH OF Z
           END-CALL.
           IF Z NOT = "1111"
              DISPLAY Z NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3127: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3127"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3127"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3128: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3128"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3128"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_703
#AT_START_704
at_fn_group_banner 704 'run_extensions.at:3133' \
  "System routine CBL_NOR" "                         " 4
at_xfail=no
(
  $as_echo "704. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4) VALUE X"03030303".
       01  Z            PIC X(4) VALUE X"05050505".
       PROCEDURE        DIVISION.
           CALL "CBL_NOR" USING X Z
                BY VALUE LENGTH OF Z
           END-CALL.
           IF Z NOT = X"F8F8F8F8"
              DISPLAY "NG" NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3154: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3154"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3154"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3155: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3155"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3155"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_704
#AT_START_705
at_fn_group_banner 705 'run_extensions.at:3160' \
  "System routine CBL_AND" "                         " 4
at_xfail=no
(
  $as_echo "705. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4) VALUE "3333".
       01  Z            PIC X(4) VALUE "5555".
       PROCEDURE        DIVISION.
           CALL "CBL_AND" USING X Z
                BY VALUE LENGTH OF Z
           END-CALL.
           IF Z NOT = "1111"
              DISPLAY Z NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3181: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3181"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3181"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3182: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3182"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3182"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_705
#AT_START_706
at_fn_group_banner 706 'run_extensions.at:3187' \
  "System routine CBL_XOR" "                         " 4
at_xfail=no
(
  $as_echo "706. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4) VALUE "3333".
       01  Z            PIC X(4) VALUE X"02020202".
       PROCEDURE        DIVISION.
           CALL "CBL_XOR" USING X Z
                BY VALUE LENGTH OF Z
           END-CALL.
           IF Z NOT = "1111"
              DISPLAY Z NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3208: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3208"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3208"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3209: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3209"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3209"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_706
#AT_START_707
at_fn_group_banner 707 'run_extensions.at:3214' \
  "System routine CBL_IMP" "                         " 4
at_xfail=no
(
  $as_echo "707. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4) VALUE HIGH-VALUE.
       01  Z            PIC X(4) VALUE "1111".
       PROCEDURE        DIVISION.
           CALL "CBL_IMP" USING X Z
                BY VALUE LENGTH OF Z
           END-CALL.
           IF Z NOT = "1111"
              DISPLAY Z NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3235: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3235"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3235"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3236: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3236"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3236"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_707
#AT_START_708
at_fn_group_banner 708 'run_extensions.at:3241' \
  "System routine CBL_NIMP" "                        " 4
at_xfail=no
(
  $as_echo "708. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4) VALUE "1111".
       01  Z            PIC X(4) VALUE LOW-VALUE.
       PROCEDURE        DIVISION.
           CALL "CBL_NIMP" USING X Z
                BY VALUE LENGTH OF Z
           END-CALL.
           IF Z NOT = "1111"
              DISPLAY Z NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3262: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3262"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3262"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3263: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3263"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3263"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_708
#AT_START_709
at_fn_group_banner 709 'run_extensions.at:3268' \
  "System routine CBL_NOT" "                         " 4
at_xfail=no
(
  $as_echo "709. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4) VALUE HIGH-VALUE.
       PROCEDURE        DIVISION.
           CALL "CBL_NOT" USING X
                BY VALUE LENGTH OF X
           END-CALL.
           IF X NOT = LOW-VALUE
              DISPLAY "NG" NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3288: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3288"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3288"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3289: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3289"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3289"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_709
#AT_START_710
at_fn_group_banner 710 'run_extensions.at:3294' \
  "System routine CBL_EQ" "                          " 4
at_xfail=no
(
  $as_echo "710. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01  X            PIC X(4) VALUE HIGH-VALUE.
       01  Z            PIC X(4) VALUE "1111".
       PROCEDURE        DIVISION.
           CALL "CBL_EQ" USING X Z
                BY VALUE LENGTH OF Z
           END-CALL.
           IF Z NOT = "1111"
              DISPLAY Z NO ADVANCING
              END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3315: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3315"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3315"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3316: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3316"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3316"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_710
#AT_START_711
at_fn_group_banner 711 'run_extensions.at:3321' \
  "System routine CBL_GC_GETOPT" "                   " 4
at_xfail=no
(
  $as_echo "711. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog.
      *> check combination of long and short options
        DATA DIVISION.
        WORKING-STORAGE SECTION.
           01 LO.
                05 OPTIONRECORD OCCURS 2 TIMES.
                    10 ONAME        PIC X(25).
                    10 HAS-VALUE    PIC 9.
                    10 VALPOINT     POINTER     VALUE NULL.
                    10 VAL          PIC X(4).

            01 SO PIC X(256).
            01 LONGIND PIC 99.
            01 LONG-ONLY PIC 9 VALUE 1.
            01 RETURN-CHAR PIC X(4).
            01 OPT-VAL PIC X(10).
            01 RET-DISP PIC S9 VALUE 0.

            01 COUNTER PIC 9 VALUE 0.
        PROCEDURE DIVISION.
            MOVE "jkl"     TO SO.

            MOVE "version" TO ONAME     (1).
            MOVE 0         TO HAS-VALUE (1).
            MOVE "v"       TO VAL       (1).

            MOVE "verbose" TO ONAME     (2).
            MOVE 0         TO HAS-VALUE (2).
            MOVE "V"       TO VAL       (2).

            PERFORM WITH TEST AFTER
                    VARYING COUNTER FROM 0 BY 1
                    UNTIL RETURN-CODE = -1
               CALL 'CBL_GC_GETOPT' USING
                  BY REFERENCE SO LO LONGIND
                  BY VALUE     LONG-ONLY
                  BY REFERENCE RETURN-CHAR OPT-VAL
               END-CALL

               EVALUATE COUNTER
                  WHEN 0
                     IF RETURN-CHAR NOT = 'v' THEN
                        DISPLAY '0-ERROR: ' RETURN-CHAR END-DISPLAY
                     END-IF
                  WHEN 1
                     IF RETURN-CHAR NOT = 'V' THEN
                        DISPLAY '1-ERROR: ' RETURN-CHAR END-DISPLAY
                     END-IF
                  WHEN 2
                     IF RETURN-CHAR NOT = 'j' THEN
                        DISPLAY '2-ERROR: ' RETURN-CHAR END-DISPLAY
                     END-IF
                  WHEN 3
                     IF RETURN-CHAR NOT = 'k' THEN
                        DISPLAY '3-ERROR: ' RETURN-CHAR END-DISPLAY
                     END-IF
                  WHEN 4
                     IF RETURN-CHAR NOT = 'l' THEN
                        DISPLAY '4-ERROR: ' RETURN-CHAR END-DISPLAY
                     END-IF
                  WHEN 5
                     IF RETURN-CODE NOT = -1 THEN
                        MOVE RETURN-CODE TO RET-DISP
                        DISPLAY 'last RETURN-CODE wrong: ' RET-DISP
                        END-DISPLAY
                     END-IF
                     EXIT PERFORM
               END-EVALUATE
            END-PERFORM.

            MOVE 0 TO RETURN-CODE.

            IF COUNTER NOT = 5 THEN
               MOVE RETURN-CODE TO RET-DISP
               DISPLAY 'CBL_GC_GETOPT returned -1 too early: ' COUNTER
               END-DISPLAY
            END-IF.

            STOP RUN.
_ATEOF


cat >prog2.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog2.
      *> check if partial options work correct
        DATA DIVISION.
        WORKING-STORAGE SECTION.
      *> Check with wrong record count


            01 LO.
                05 OPTIONRECORD OCCURS 3 TIMES.
                    10 ONAME        PIC X(25).
                    10 HAS-VALUE    PIC 9.
                    10 VALPOINT     POINTER     VALUE NULL.
                    10 VAL          PIC X(4).

            78 SO VALUE "jkl".
            01 LONGIND PIC 99.
            01 LONG-ONLY PIC 9 VALUE 1.
            01 RETURN-CHAR PIC X(4).
            01 OPT-VAL PIC X(10).
            01 RET-DISP PIC S9 VALUE 0.

            01 COUNTER PIC 9 VALUE 0.
        PROCEDURE DIVISION.
            MOVE "version" TO ONAME     (1).
            MOVE 0         TO HAS-VALUE (1).
            MOVE "v"       TO VAL       (1).

            MOVE "verbose" TO ONAME     (2).
            MOVE 0         TO HAS-VALUE (2).
            MOVE "V"       TO VAL       (2).

            PERFORM WITH TEST AFTER
                    VARYING COUNTER FROM 0 BY 1
                    UNTIL RETURN-CODE = -1
               CALL 'CBL_GC_GETOPT' USING
                  BY REFERENCE SO LO LONGIND
                  BY VALUE     LONG-ONLY
                  BY REFERENCE RETURN-CHAR OPT-VAL
               END-CALL

               EVALUATE COUNTER
                  WHEN 0
                     IF RETURN-CHAR NOT = '?' THEN
                        DISPLAY '0-ERROR: ' RETURN-CHAR END-DISPLAY
                     END-IF
                  WHEN 1
                     IF RETURN-CHAR NOT = 'v' THEN
                        DISPLAY '1-ERROR: ' RETURN-CHAR END-DISPLAY
                     END-IF
                  WHEN 2
                     IF RETURN-CODE NOT = -1 THEN
                        MOVE RETURN-CODE TO RET-DISP
                        DISPLAY 'last RETURN-CODE wrong: ' RET-DISP
                        END-DISPLAY
                     END-IF
                     EXIT PERFORM
               END-EVALUATE
            END-PERFORM.

            MOVE 0 TO RETURN-CODE.

            IF COUNTER NOT = 2 THEN
               MOVE RETURN-CODE TO RET-DISP
               DISPLAY 'CBL_GC_GETOPT returned -1 too early: ' COUNTER
               END-DISPLAY
            END-IF.

            STOP RUN.
_ATEOF


cat >prog3.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog3.
      *> check for optional and mandatory parameters
        DATA DIVISION.
        WORKING-STORAGE SECTION.
            01 SO PIC X(128).
            01 LO.
                05 OPTIONRECORD OCCURS 3 TIMES.
                    10 ONAME        PIC X(25).
                    10 HAS-VALUE    PIC 9.
                    10 VALPOINT     POINTER     VALUE NULL.
                    10 VAL          PIC X(4).
            01 LONGIND PIC 99.
            01 LONG-ONLY PIC 9 VALUE 0.
            01 RETURN-CHAR PIC X(4).
            01 OPT-VAL PIC X(10).
            01 RET-DISP PIC S9 VALUE 0.

            01 COUNTER PIC 9 VALUE 0.
        PROCEDURE DIVISION.
            MOVE "j:k::l"  TO SO.

            MOVE "version" TO ONAME     (1).
            MOVE 1         TO HAS-VALUE (1).
            MOVE "v"       TO VAL       (1).

            MOVE "verbose" TO ONAME     (2).
            MOVE 2         TO HAS-VALUE (2).
            MOVE "V"       TO VAL       (2).

            MOVE "usage"   TO ONAME     (3).
            MOVE 0         TO HAS-VALUE (3).
            MOVE "u"       TO VAL       (3).

            PERFORM WITH TEST AFTER
                    VARYING COUNTER FROM 0 BY 1
                    UNTIL RETURN-CODE = -1
               CALL 'CBL_GC_GETOPT' USING
                  BY REFERENCE SO LO LONGIND
                  BY VALUE     LONG-ONLY
                  BY REFERENCE RETURN-CHAR OPT-VAL
               END-CALL

               EVALUATE COUNTER
                  WHEN 0
                     IF OPT-VAL(1:4) NOT = 'lang' THEN
                        DISPLAY '0-ERROR: ' OPT-VAL END-DISPLAY
                     END-IF
                  WHEN 1
                     IF (OPT-VAL(1:1) NOT = 'k' OR
                         RETURN-CHAR  NOT = 'V' OR
                         OPT-VAL(1:4)     = 'kang')  THEN
                        DISPLAY '1-ERROR: ' OPT-VAL ' ' RETURN-CHAR
                        END-DISPLAY
                     END-IF
                  WHEN 2
                     IF RETURN-CHAR NOT = 'u' THEN
                        DISPLAY '2-ERROR: ' RETURN-CHAR END-DISPLAY
                     END-IF
                  WHEN 3
                     IF OPT-VAL(1:1) NOT = '5' OR
                        RETURN-CHAR  NOT = 'j' THEN
                        DISPLAY '3-ERROR: ' OPT-VAL ' ' RETURN-CHAR
                        END-DISPLAY
                     END-IF
                  WHEN 4
                     IF OPT-VAL(1:1) NOT = '6' OR
                        RETURN-CHAR  NOT = 'k' THEN
                        DISPLAY '4-ERROR: ' OPT-VAL ' ' RETURN-CHAR
                        END-DISPLAY
                     END-IF
                  WHEN 5
                     IF RETURN-CHAR NOT = 'l' THEN
                        DISPLAY '5-ERROR: ' RETURN-CHAR END-DISPLAY
                     END-IF
                  WHEN 6
                     IF RETURN-CODE NOT = -1 THEN
                        MOVE RETURN-CODE TO RET-DISP
                        DISPLAY 'last RETURN-CODE wrong: ' RET-DISP
                        END-DISPLAY
                     END-IF
                     EXIT PERFORM
               END-EVALUATE
            END-PERFORM.

            MOVE 0 TO RETURN-CODE.

            IF COUNTER NOT = 6 THEN
               MOVE RETURN-CODE TO RET-DISP
               DISPLAY 'CBL_GC_GETOPT returned -1 too early: ' COUNTER
               END-DISPLAY
            END-IF.

            STOP RUN.
_ATEOF


cat >prog4.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog4.
      *> check use of value pointer and trimming of opt-val
        DATA DIVISION.
        WORKING-STORAGE SECTION.
            01 SO PIC X(12).
            01 LO.
                05 OPTIONRECORD OCCURS 3 TIMES.
                    10 ONAME        PIC X(25).
                    10 HAS-VALUE    PIC 9.
                    10 VALPOINT     POINTER     VALUE NULL.
                    10 VAL          PIC X(4).
            01 LONGIND PIC 99.
            01 LONG-ONLY PIC 9 VALUE 1.
            01 RETURN-CHAR PIC X(4).
            01 OPT-VAL PIC X(10).
            01 RET-DISP PIC S999 VALUE 0.

            01 COUNTER PIC 9 VALUE 0.

            01 FLAG-VAL PIC X(4).
        procedure division.
            MOVE "jkl"       TO SO.

            MOVE "static"    TO ONAME     (1).
            MOVE 0           TO HAS-VALUE (1).
            SET  VALPOINT(1) TO ADDRESS OF FLAG-VAL.
            MOVE '1'         TO VAL       (1).

            MOVE "dynamic"   TO ONAME     (2).
            MOVE 0           TO HAS-VALUE (2).
            SET  VALPOINT(2) TO ADDRESS OF FLAG-VAL.
            MOVE '0'         TO VAL       (2).

            MOVE "usage"     TO ONAME     (3).
            MOVE 1           TO HAS-VALUE (3).
            MOVE 'u'         TO VAL       (3).

            PERFORM WITH TEST AFTER
                    VARYING COUNTER FROM 0 BY 1
                    UNTIL RETURN-CODE = -1
               CALL 'CBL_GC_GETOPT' USING
                  BY REFERENCE SO LO LONGIND
                  BY VALUE     LONG-ONLY
                  BY REFERENCE RETURN-CHAR OPT-VAL
               END-CALL

               EVALUATE COUNTER
                  WHEN 0
                     IF RETURN-CODE NOT = 0 OR
                        FLAG-VAL    NOT = '1' THEN
                        DISPLAY '0-ERROR: ' RET-DISP ' ' FLAG-VAL
                        END-DISPLAY
                     END-IF
                  WHEN 1
                     IF RETURN-CODE NOT = 0 OR
                        FLAG-VAL    NOT = '0' THEN
                        DISPLAY '1-ERROR: ' RET-DISP ' ' FLAG-VAL
                        END-DISPLAY
                     END-IF
                  WHEN 2
                     IF RETURN-CHAR NOT = 'u' OR
                        RETURN-CODE NOT = 2 THEN
                        DISPLAY '2-ERROR: ' RET-DISP ' ' FLAG-VAL
                        END-DISPLAY
                     END-IF
                  WHEN 3
                     IF RETURN-CODE NOT = -1 THEN
                        MOVE RETURN-CODE TO RET-DISP
                        DISPLAY 'last RETURN-CODE wrong: ' RET-DISP
                        END-DISPLAY
                     END-IF
                     EXIT PERFORM
               END-EVALUATE
            END-PERFORM.

            MOVE 0 TO RETURN-CODE.

            IF COUNTER NOT = 3 THEN
               MOVE RETURN-CODE TO RET-DISP
               DISPLAY 'CBL_GC_GETOPT returned -1 too early: ' COUNTER
               END-DISPLAY
            END-IF.

            STOP RUN.
_ATEOF


cat >prog5.cob <<'_ATEOF'

        IDENTIFICATION DIVISION.
        PROGRAM-ID. prog5.
      *> check for wrong longopotion structure
        DATA DIVISION.
        WORKING-STORAGE SECTION.
            01 SO PIC X.
            01 LO.
                05 OPTIONRECORD OCCURS 2 TIMES.
                    10 ONAME        PIC X(45).
                    10 HAS-VALUE    PIC 9.
                    10 VALPOINT     POINTER     VALUE NULL.
                    10 VAL          PIC X(4).
            01 LONGIND PIC 99.
            01 LONG-ONLY PIC 9 VALUE 1.
            01 RETURN-CHAR PIC X(4).
            01 OPT-VAL PIC X(10).
            01 RET-DISP PIC S999 VALUE 0.

            01 COUNTER PIC 9 VALUE 0.

            01 FLAG-VAL PIC 9.
        PROCEDURE DIVISION.
            MOVE "super-long-option-with-more-than-25-bytes"
              TO ONAME(1).
            MOVE 0   TO HAS-VALUE(1).
            MOVE '1' TO VAL(1).

            MOVE "stupid-long-option-with-more-than-25-bytes"
              TO ONAME(2).
            MOVE 0   TO HAS-VALUE(2).
            MOVE '0' TO VAL(2).

            PERFORM WITH TEST AFTER
                    VARYING COUNTER FROM 0 BY 1
                    UNTIL RETURN-CODE = -1
               CALL 'CBL_GC_GETOPT' USING
                  BY REFERENCE SO LO LONGIND
                  BY VALUE     LONG-ONLY
                  BY REFERENCE RETURN-CHAR OPT-VAL
               END-CALL

               EVALUATE COUNTER
                  WHEN 0
                  WHEN 1
                  WHEN 2
                     CONTINUE

      *>       MOVE RETURN-CODE TO RET-DISP

      *>       IF COUNTER = 0 AND RETURN-CODE NOT = 1 THEN
      *>          DISPLAY 'RETURN VALUE: ' RET-DISP ' ' FLAG-VAL
      *>       END-IF
                  WHEN 3
                     IF RETURN-CODE NOT = -1 THEN
                        MOVE RETURN-CODE TO RET-DISP
                        DISPLAY 'last RETURN-CODE wrong: ' RET-DISP
                        END-DISPLAY
                     END-IF
                     EXIT PERFORM
               END-EVALUATE
            END-PERFORM.

            MOVE 0 TO RETURN-CODE.

            IF COUNTER NOT = 3 THEN
               MOVE RETURN-CODE TO RET-DISP
               DISPLAY 'CBL_GC_GETOPT returned -1 too early: ' COUNTER
               END-DISPLAY
            END-IF.

            STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3738: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3738"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3738"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3739: ./prog --version --verbose -jkl"
at_fn_check_prepare_trace "run_extensions.at:3739"
( $at_check_trace; ./prog --version --verbose -jkl
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3739"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3740: \$COMPILE_MODULE prog2.cob"
at_fn_check_prepare_dynamic "$COMPILE_MODULE prog2.cob" "run_extensions.at:3740"
( $at_check_trace; $COMPILE_MODULE prog2.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3740"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3741: \$COBCRUN prog2 --ver --vers"
at_fn_check_prepare_dynamic "$COBCRUN prog2 --ver --vers" "run_extensions.at:3741"
( $at_check_trace; $COBCRUN prog2 --ver --vers
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "prog2: option '--ver' is ambiguous; possibilities: '--version' '--verbose'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3741"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3744: \$COMPILE prog3.cob"
at_fn_check_prepare_dynamic "$COMPILE prog3.cob" "run_extensions.at:3744"
( $at_check_trace; $COMPILE prog3.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3744"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3745: ./prog3 --version=lang --verbose=k --usage -j 5 -k6 -l"
at_fn_check_prepare_trace "run_extensions.at:3745"
( $at_check_trace; ./prog3 --version=lang --verbose=k --usage -j 5 -k6 -l
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3745"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3746: \$COMPILE prog4.cob --free"
at_fn_check_prepare_dynamic "$COMPILE prog4.cob --free" "run_extensions.at:3746"
( $at_check_trace; $COMPILE prog4.cob --free
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3746"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3747: ./prog4 --static --dynamic --usage=boringandtoolongtext"
at_fn_check_prepare_trace "run_extensions.at:3747"
( $at_check_trace; ./prog4 --static --dynamic --usage=boringandtoolongtext
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3747"
$at_failed && at_fn_log_failure
$at_traceon; }

# Again a long and system specific error message which we ignore.
# Return code 1 is sufficient as proof of hard return (as wanted).
{ set +x
$as_echo "$at_srcdir/run_extensions.at:3750: \$COMPILE prog5.cob"
at_fn_check_prepare_dynamic "$COMPILE prog5.cob" "run_extensions.at:3750"
( $at_check_trace; $COMPILE prog5.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3750"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3751: ./prog5 --static"
at_fn_check_prepare_trace "run_extensions.at:3751"
( $at_check_trace; ./prog5 --static
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "libcob: prog5.cob: 37: Call to CBL_GC_GETOPT with wrong longoption size.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/run_extensions.at:3751"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_711
#AT_START_712
at_fn_group_banner 712 'run_extensions.at:3758' \
  "System routine CBL_GC_FORK" "                     " 4
at_xfail=no
(
  $as_echo "712. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       PROCEDURE DIVISION.

           CALL "CBL_GC_FORK" END-CALL
           EVALUATE RETURN-CODE
              WHEN ZERO
                 PERFORM CHILD-CODE
              WHEN -1
                 STOP RUN RETURNING 77 *> skip test
              WHEN OTHER
                 PERFORM PARENT-CODE
           END-EVALUATE

           STOP RUN.

       CHILD-CODE.
           CALL "C$SLEEP"  USING 1.
           DISPLAY "Hello, I am the child".

       PARENT-CODE.
           DISPLAY "Hello, I am the parent".
           CALL "C$SLEEP"  USING 2.
           DISPLAY "Parent again".
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3788: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3788"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3788"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3790: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3790"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Hello, I am the parent
Hello, I am the child
Parent again
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3790"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_712
#AT_START_713
at_fn_group_banner 713 'run_extensions.at:3801' \
  "System routine CBL_GC_WAITPID" "                  " 4
at_xfail=no
(
  $as_echo "713. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 CHILD-PID   PIC S9(9) BINARY.
       01 WAIT-STS    PIC S9(9) BINARY VALUE -3.
       PROCEDURE DIVISION.

           CALL "CBL_GC_FORK" RETURNING CHILD-PID.
           EVALUATE CHILD-PID
              WHEN ZERO
                 PERFORM CHILD-CODE
              WHEN -1
                 STOP RUN RETURNING 77 *> skip test
              WHEN OTHER
                 PERFORM PARENT-CODE
           END-EVALUATE.

           STOP RUN.

       CHILD-CODE.
           CALL "C$SLEEP" USING 1.
           DISPLAY "Hello, I am the child".
           MOVE 2 TO RETURN-CODE.

       PARENT-CODE.
           DISPLAY "Hello, I am the parent".
           CALL "CBL_GC_WAITPID" USING CHILD-PID
              RETURNING WAIT-STS
           END-CALL
           MOVE 0 TO RETURN-CODE
           IF WAIT-STS = -1
              STOP RUN RETURNING 77 *> skip test
           END-IF
           DISPLAY "Child ended status " WAIT-STS
           END-DISPLAY.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3843: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3843"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3843"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3845: ./prog"
at_fn_check_prepare_trace "run_extensions.at:3845"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Hello, I am the parent
Hello, I am the child
Child ended status +000000002
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3845"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_713
#AT_START_714
at_fn_group_banner 714 'run_extensions.at:3853' \
  "System routine CBL_GC_HOSTED" "                   " 4
at_xfail=no
(
  $as_echo "714. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >test_errno.c <<'_ATEOF'

#include <errno.h>
#include <stdio.h>

#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int test_errno(void);

int
test_errno(void)
{
    FILE *fail;
    fail = fopen("file-not-found", "r");
    if (errno != 2) {
        printf("BAD ERRNO %d", errno);
    } else {
        if (fail) fclose(fail);
    }
    return 0;
}
_ATEOF


cat >test_stdio.c <<'_ATEOF'

#include <stdio.h>

#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int test_stdio(FILE *, FILE *, FILE *);

int
test_stdio(FILE *si, FILE *so, FILE *se)
{
    if (feof(si)) {
        fprintf(se, "BAD STDIN EOF\n");
    }
    fprintf(so, "OUT");
    return fprintf(se, "ERR");
}
_ATEOF

cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID. prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 STDIN    USAGE POINTER.
       01 STDOUT   USAGE POINTER.
       01 STDERR   USAGE POINTER.
       01 CELL     USAGE BINARY-LONG.
       01 ARGC     USAGE BINARY-LONG.
       01 ARGV     USAGE POINTER.
       01 ERRPTR   USAGE POINTER.
       01 ERRNO    USAGE BINARY-LONG BASED.
       01 TZNAME   USAGE POINTER.
       01 TZNAMES  USAGE POINTER BASED.
          05 TZS      USAGE POINTER OCCURS 2 TIMES.
       01 TIMEZONE USAGE BINARY-C-LONG.
       01 DAYLIGHT USAGE BINARY-LONG.

       PROCEDURE DIVISION.
       CALL "CBL_GC_HOSTED" USING STDIN "stdin" END-CALL
       CALL "CBL_GC_HOSTED" USING STDOUT "stdout" END-CALL
       CALL "CBL_GC_HOSTED" USING STDERR "stderr" END-CALL
       CALL "CBL_GC_HOSTED" USING ARGC "argc" END-CALL
       CALL "CBL_GC_HOSTED" USING ARGV "argv" END-CALL
       CALL "CBL_GC_HOSTED" USING CELL "cell" END-CALL
       CALL "CBL_GC_HOSTED" USING ERRPTR "errno" END-CALL
       CALL "CBL_GC_HOSTED" USING ARGC "arg" END-CALL
       CALL "CBL_GC_HOSTED" USING NULL "argc" END-CALL
       SET ADDRESS OF ERRNO TO ERRPTR
       CALL "CBL_GC_HOSTED" USING TZNAME "tzname" END-CALL
       CALL "CBL_GC_HOSTED" USING TIMEZONE "timezone" END-CALL
       CALL "CBL_GC_HOSTED" USING DAYLIGHT "daylight" END-CALL

       CALL "test_errno"
       END-CALL
       IF ERRNO NOT EQUAL 2 THEN
           DISPLAY "BAD ERRNO " ERRNO END-DISPLAY
       END-IF

       IF ARGC NOT EQUAL 2 THEN
           DISPLAY "BAD ARGC " ARGC END-DISPLAY
       END-IF
       IF ARGV EQUAL NULL THEN
           DISPLAY "BAD ARGV" END-DISPLAY
       END-IF

       IF CELL LESS THAN 0 OR GREATER THAN 8 THEN
           DISPLAY "UNK CELL " CELL END-DISPLAY
       END-IF

       SET ENVIRONMENT "TZ" TO "PST8PDT"
       CALL "tzset" RETURNING OMITTED
           ON EXCEPTION CONTINUE
       END-CALL
       IF TZNAME NOT EQUAL NULL THEN
           SET ADDRESS OF TZNAMES TO TZNAME
           IF TZS(1) EQUAL NULL THEN
               DISPLAY "BAD TZNAME" END-DISPLAY
           END-IF
       END-IF

       *> Test assumes return-code will be 3, chars output by last fprintf
       CALL "test_stdio" USING BY VALUE STDIN STDOUT STDERR
       END-CALL

       STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3964: \$COMPILE_MODULE test_errno.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE test_errno.c" "run_extensions.at:3964"
( $at_check_trace; $COMPILE_MODULE test_errno.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3964"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3965: \$COMPILE_MODULE test_stdio.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE test_stdio.c" "run_extensions.at:3965"
( $at_check_trace; $COMPILE_MODULE test_stdio.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3965"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3966: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3966"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3966"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:3967: ./prog 1ARG"
at_fn_check_prepare_trace "run_extensions.at:3967"
( $at_check_trace; ./prog 1ARG
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ERR" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OUT" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 3 $at_status "$at_srcdir/run_extensions.at:3967"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_714
#AT_START_715
at_fn_group_banner 715 'run_extensions.at:3972' \
  "DISPLAY DIRECTIVE and \$DISPLAY" "                 " 4
at_xfail=no
(
  $as_echo "715. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
       >> DISPLAY some text
       >> DISPLAY   other  text #2  *> comment
       >> DISPLAY  "literal text  *> no comment"
       $DISPLAY  MF compile time text  *> without comment
           GOBACK.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:3988: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:3988"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "some text
other  text #2
literal text  *> no comment
MF compile time text
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:3988"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_715
#AT_START_716
at_fn_group_banner 716 'run_extensions.at:3997' \
  "Conditional/define directives (1)" "              " 4
at_xfail=no
(
  $as_echo "716. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
       >>IF ACTIVATE NOT DEFINED
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
       >>ELSE
           DISPLAY "NOTOK" NO ADVANCING
           END-DISPLAY
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:4016: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4016"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4016"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:4017: ./prog"
at_fn_check_prepare_trace "run_extensions.at:4017"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4017"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_716
#AT_START_717
at_fn_group_banner 717 'run_extensions.at:4022' \
  "Conditional/define directives (2)" "              " 4
at_xfail=no
(
  $as_echo "717. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
       >>IF ACTIVATE DEFINED
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
       >>ELSE
           DISPLAY "NOTOK" NO ADVANCING
           END-DISPLAY
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:4041: \$COMPILE -DACTIVATE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -DACTIVATE prog.cob" "run_extensions.at:4041"
( $at_check_trace; $COMPILE -DACTIVATE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4041"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:4042: ./prog"
at_fn_check_prepare_trace "run_extensions.at:4042"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4042"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_717
#AT_START_718
at_fn_group_banner 718 'run_extensions.at:4047' \
  "Conditional/define directives (3)" "              " 4
at_xfail=no
(
  $as_echo "718. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
       >>IF ACTIVATE DEFINED
           DISPLAY "NOTOK" NO ADVANCING
           END-DISPLAY
       >>ELIF ACTIVATE2 DEFINED
           DISPLAY "OK" NO ADVANCING
           END-DISPLAY
       >>ELSE
           DISPLAY "NOTOK" NO ADVANCING
           END-DISPLAY
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:4069: \$COMPILE -DACTIVATE2 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -DACTIVATE2 prog.cob" "run_extensions.at:4069"
( $at_check_trace; $COMPILE -DACTIVATE2 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4069"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:4070: ./prog"
at_fn_check_prepare_trace "run_extensions.at:4070"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4070"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_718
#AT_START_719
at_fn_group_banner 719 'run_extensions.at:4075' \
  "Conditional/define directives (4)" "              " 4
at_xfail=no
(
  $as_echo "719. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
       >>IF ACTIVATE DEFINED
           DISPLAY "NOTOK" NO ADVANCING
           END-DISPLAY
       >>ELIF ACTIVATE2 DEFINED
       >>ELSE
           DISPLAY "NOTOK" NO ADVANCING
           END-DISPLAY
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:4095: \$COMPILE -DACTIVATE2 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -DACTIVATE2 prog.cob" "run_extensions.at:4095"
( $at_check_trace; $COMPILE -DACTIVATE2 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4095"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:4096: ./prog"
at_fn_check_prepare_trace "run_extensions.at:4096"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4096"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_719
#AT_START_720
at_fn_group_banner 720 'run_extensions.at:4101' \
  "Conditional/define directives (5)" "              " 4
at_xfail=no
(
  $as_echo "720. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
       >>IF ACTIVATE DEFINED
       >>DISPLAY NOTOK
       >>ELIF ACTIVATE2 DEFINED
       >>DISPLAY OK
       >>ELSE
       >>DISPLAY NOTOK
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:4120: \$COMPILE -DACTIVATE2 prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -DACTIVATE2 prog.cob" "run_extensions.at:4120"
( $at_check_trace; $COMPILE -DACTIVATE2 prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4120"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_720
#AT_START_721
at_fn_group_banner 721 'run_extensions.at:4126' \
  "Conditional/define directives (6)" "              " 4
at_xfail=no
(
  $as_echo "721. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.
       PROCEDURE      DIVISION.
       >>IF X DEFINED
         >>DISPLAY X defined
       >>ELSE
         >>DISPLAY X not defined
         >>DEFINE X 1
       >>END-IF
           CONTINUE
           .
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:4143: \$COMPILE -D X prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -D X prog.cob" "run_extensions.at:4143"
( $at_check_trace; $COMPILE -D X prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "X defined
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4143"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:4146: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4146"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "X not defined
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4146"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_721
#AT_START_722
at_fn_group_banner 722 'run_extensions.at:4152' \
  "Conditional/define directives (7)" "              " 4
at_xfail=no
(
  $as_echo "722. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION DIVISION.
       PROGRAM-ID.    prog.
       PROCEDURE      DIVISION.
       >>IF A IS DEFINED
       >>IF B IS DEFINED
           CONTINUE
           .
       >>ELSE
           CONTINUE
           .
       >>END-IF
       >>END-IF
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:4170: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4170"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4170"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_722
#AT_START_723
at_fn_group_banner 723 'run_extensions.at:4174' \
  "Variable format" "                                " 4
at_xfail=no
(
  $as_echo "723. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       >>SOURCE FORMAT VARIABLE
000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. prog.
000030* blah blah blah
000040 PROCEDURE DIVISION.
000050                                                                  DISPLAY "Hello!"
000060     .
000070 END PROGRAM prog.
_ATEOF


{ set +x
$as_echo "$at_srcdir/run_extensions.at:4188: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_extensions.at:4188"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4188"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/run_extensions.at:4189: ./prog"
at_fn_check_prepare_trace "run_extensions.at:4189"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Hello!
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/run_extensions.at:4189"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_723
#AT_START_724
at_fn_group_banner 724 'data_binary.at:23' \
  "BINARY: 2-4-8 big-endian" "                       " 5
at_xfail=no
(
  $as_echo "724. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *);
int dump (unsigned char *data)
{
  int i;
  for (i = 0; i < 8; i++)
    printf ("%02x", data[i]);
  puts ("");
  return 0;
}
_ATEOF


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:43: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "data_binary.at:43"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:43"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:44: \$COMPILE -fbinary-size=2-4-8 \\
                   -fbinary-byteorder=big-endian prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:44"
( $at_check_trace; $COMPILE -fbinary-size=2-4-8 \
                   -fbinary-byteorder=big-endian prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:44"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:46: ./prog"
at_fn_check_prepare_trace "data_binary.at:46"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0001202020202020
000c202020202020
007b202020202020
04d2202020202020
0000303920202020
0001e24020202020
0012d68720202020
00bc614e20202020
075bcd1520202020
00000000499602d2
00000002dfdc1c35
0000001cbe991a14
0000011f71fb04cb
00000b3a73ce2ff2
00007048860ddf79
000462d53c8abac0
002bdc545d6b4b87
01b69b4ba630f34e
ffff202020202020
fff4202020202020
ff85202020202020
fb2e202020202020
ffffcfc720202020
fffe1dc020202020
ffed297920202020
ff439eb220202020
f8a432eb20202020
ffffffffb669fd2e
fffffffd2023e3cb
ffffffe34166e5ec
fffffee08e04fb35
fffff4c58c31d00e
ffff8fb779f22087
fffb9d2ac3754540
ffd423aba294b479
fe4964b459cf0cb2
0000202020202020
0000202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000202020202020
0000202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000202020202020
0000202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000202020202020
0000202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:159: \$COMPILE -fbinary-size=2-4-8 \\
                   -fbinary-byteorder=big-endian prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:159"
( $at_check_trace; $COMPILE -fbinary-size=2-4-8 \
                   -fbinary-byteorder=big-endian prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:159"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:161: ./prog"
at_fn_check_prepare_trace "data_binary.at:161"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901
123456789012
1234567890123
12345678901234
123456789012345
1234567890123456
12345678901234567
123456789012345678
-1
-12
-123
-1234
-12345
-123456
-1234567
-12345678
-123456789
-1234567890
-12345678901
-123456789012
-1234567890123
-12345678901234
-123456789012345
-1234567890123456
-12345678901234567
-123456789012345678
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_724
#AT_START_725
at_fn_group_banner 725 'data_binary.at:205' \
  "BINARY: 2-4-8 native" "                           " 5
at_xfail=no
(
  $as_echo "725. $at_setup_line: testing $at_desc ..."
  $at_traceon



if test "x$COB_BIGENDIAN" = "xyes"; then
{ set +x
$as_echo "$at_srcdir/data_binary.at:209: true"
at_fn_check_prepare_trace "data_binary.at:209"
( $at_check_trace; true
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:209"
$at_failed && at_fn_log_failure
$at_traceon; }

else


cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *);
int dump (unsigned char *data)
{
  int i;
  for (i = 0; i < 8; i++)
    printf ("%02x", data[i]);
  puts ("");
  return 0;
}
_ATEOF


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:230: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "data_binary.at:230"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:230"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:231: \$COMPILE -fbinary-size=2-4-8 \\
                   -fbinary-byteorder=native  prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:231"
( $at_check_trace; $COMPILE -fbinary-size=2-4-8 \
                   -fbinary-byteorder=native  prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:231"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:233: ./prog"
at_fn_check_prepare_trace "data_binary.at:233"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0100202020202020
0c00202020202020
7b00202020202020
d204202020202020
3930000020202020
40e2010020202020
87d6120020202020
4e61bc0020202020
15cd5b0720202020
d202964900000000
351cdcdf02000000
141a99be1c000000
cb04fb711f010000
f22fce733a0b0000
79df0d8648700000
c0ba8a3cd5620400
874b6b5d54dc2b00
4ef330a64b9bb601
ffff202020202020
f4ff202020202020
85ff202020202020
2efb202020202020
c7cfffff20202020
c01dfeff20202020
7929edff20202020
b29e43ff20202020
eb32a4f820202020
2efd69b6ffffffff
cbe32320fdffffff
ece56641e3ffffff
35fb048ee0feffff
0ed0318cc5f4ffff
8720f279b78fffff
404575c32a9dfbff
79b494a2ab23d4ff
b20ccf59b46449fe
0000202020202020
0000202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000202020202020
0000202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000202020202020
0000202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000202020202020
0000202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:233"
$at_failed && at_fn_log_failure
$at_traceon; }


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:346: \$COMPILE -fbinary-size=2-4-8 \\
                   -fbinary-byteorder=native prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:346"
( $at_check_trace; $COMPILE -fbinary-size=2-4-8 \
                   -fbinary-byteorder=native prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:346"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:348: ./prog"
at_fn_check_prepare_trace "data_binary.at:348"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901
123456789012
1234567890123
12345678901234
123456789012345
1234567890123456
12345678901234567
123456789012345678
-1
-12
-123
-1234
-12345
-123456
-1234567
-12345678
-123456789
-1234567890
-12345678901
-123456789012
-1234567890123
-12345678901234
-123456789012345
-1234567890123456
-12345678901234567
-123456789012345678
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:348"
$at_failed && at_fn_log_failure
$at_traceon; }

fi

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_725
#AT_START_726
at_fn_group_banner 726 'data_binary.at:393' \
  "BINARY: 1-2-4-8 big-endian" "                     " 5
at_xfail=no
(
  $as_echo "726. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *);
int dump (unsigned char *data)
{
  int i;
  for (i = 0; i < 8; i++)
    printf ("%02x", data[i]);
  puts ("");
  return 0;
}
_ATEOF


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:413: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "data_binary.at:413"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:413"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:414: \$COMPILE -fbinary-size=1-2-4-8 \\
                   -fbinary-byteorder=big-endian prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:414"
( $at_check_trace; $COMPILE -fbinary-size=1-2-4-8 \
                   -fbinary-byteorder=big-endian prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:414"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:416: ./prog"
at_fn_check_prepare_trace "data_binary.at:416"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0120202020202020
0c20202020202020
007b202020202020
04d2202020202020
0000303920202020
0001e24020202020
0012d68720202020
00bc614e20202020
075bcd1520202020
00000000499602d2
00000002dfdc1c35
0000001cbe991a14
0000011f71fb04cb
00000b3a73ce2ff2
00007048860ddf79
000462d53c8abac0
002bdc545d6b4b87
01b69b4ba630f34e
ff20202020202020
f420202020202020
ff85202020202020
fb2e202020202020
ffffcfc720202020
fffe1dc020202020
ffed297920202020
ff439eb220202020
f8a432eb20202020
ffffffffb669fd2e
fffffffd2023e3cb
ffffffe34166e5ec
fffffee08e04fb35
fffff4c58c31d00e
ffff8fb779f22087
fffb9d2ac3754540
ffd423aba294b479
fe4964b459cf0cb2
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:416"
$at_failed && at_fn_log_failure
$at_traceon; }


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:529: \$COMPILE -fbinary-size=1-2-4-8 \\
                   -fbinary-byteorder=big-endian prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:529"
( $at_check_trace; $COMPILE -fbinary-size=1-2-4-8 \
                   -fbinary-byteorder=big-endian prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:529"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:531: ./prog"
at_fn_check_prepare_trace "data_binary.at:531"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901
123456789012
1234567890123
12345678901234
123456789012345
1234567890123456
12345678901234567
123456789012345678
-1
-12
-123
-1234
-12345
-123456
-1234567
-12345678
-123456789
-1234567890
-12345678901
-123456789012
-1234567890123
-12345678901234
-123456789012345
-1234567890123456
-12345678901234567
-123456789012345678
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:531"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_726
#AT_START_727
at_fn_group_banner 727 'data_binary.at:575' \
  "BINARY: 1-2-4-8 native" "                         " 5
at_xfail=no
(
  $as_echo "727. $at_setup_line: testing $at_desc ..."
  $at_traceon



if test "x$COB_BIGENDIAN" = "xyes"; then
{ set +x
$as_echo "$at_srcdir/data_binary.at:579: true"
at_fn_check_prepare_trace "data_binary.at:579"
( $at_check_trace; true
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:579"
$at_failed && at_fn_log_failure
$at_traceon; }

else

cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *);
int dump (unsigned char *data)
{
  int i;
  for (i = 0; i < 8; i++)
    printf ("%02x", data[i]);
  puts ("");
  return 0;
}
_ATEOF


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:599: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "data_binary.at:599"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:599"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:600: \$COMPILE -fbinary-size=1-2-4-8 \\
                   -fbinary-byteorder=native prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:600"
( $at_check_trace; $COMPILE -fbinary-size=1-2-4-8 \
                   -fbinary-byteorder=native prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:600"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:602: ./prog"
at_fn_check_prepare_trace "data_binary.at:602"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0120202020202020
0c20202020202020
7b00202020202020
d204202020202020
3930000020202020
40e2010020202020
87d6120020202020
4e61bc0020202020
15cd5b0720202020
d202964900000000
351cdcdf02000000
141a99be1c000000
cb04fb711f010000
f22fce733a0b0000
79df0d8648700000
c0ba8a3cd5620400
874b6b5d54dc2b00
4ef330a64b9bb601
ff20202020202020
f420202020202020
85ff202020202020
2efb202020202020
c7cfffff20202020
c01dfeff20202020
7929edff20202020
b29e43ff20202020
eb32a4f820202020
2efd69b6ffffffff
cbe32320fdffffff
ece56641e3ffffff
35fb048ee0feffff
0ed0318cc5f4ffff
8720f279b78fffff
404575c32a9dfbff
79b494a2ab23d4ff
b20ccf59b46449fe
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000020202020
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:602"
$at_failed && at_fn_log_failure
$at_traceon; }


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:715: \$COMPILE -fbinary-size=1-2-4-8 \\
                   -fbinary-byteorder=native prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:715"
( $at_check_trace; $COMPILE -fbinary-size=1-2-4-8 \
                   -fbinary-byteorder=native prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:715"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:717: ./prog"
at_fn_check_prepare_trace "data_binary.at:717"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901
123456789012
1234567890123
12345678901234
123456789012345
1234567890123456
12345678901234567
123456789012345678
-1
-12
-123
-1234
-12345
-123456
-1234567
-12345678
-123456789
-1234567890
-12345678901
-123456789012
-1234567890123
-12345678901234
-123456789012345
-1234567890123456
-12345678901234567
-123456789012345678
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:717"
$at_failed && at_fn_log_failure
$at_traceon; }


fi

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_727
#AT_START_728
at_fn_group_banner 728 'data_binary.at:763' \
  "BINARY: 1--8 big-endian" "                        " 5
at_xfail=no
(
  $as_echo "728. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *);
int dump (unsigned char *data)
{
  int i;
  for (i = 0; i < 8; i++)
    printf ("%02x", data[i]);
  puts ("");
  return 0;
}
_ATEOF


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:783: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "data_binary.at:783"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:783"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:784: \$COMPILE -fbinary-size=1--8 \\
                   -fbinary-byteorder=big-endian prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:784"
( $at_check_trace; $COMPILE -fbinary-size=1--8 \
                   -fbinary-byteorder=big-endian prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:784"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:786: ./prog"
at_fn_check_prepare_trace "data_binary.at:786"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0120202020202020
0c20202020202020
007b202020202020
04d2202020202020
0030392020202020
01e2402020202020
12d6872020202020
00bc614e20202020
075bcd1520202020
00499602d2202020
02dfdc1c35202020
1cbe991a14202020
011f71fb04cb2020
0b3a73ce2ff22020
007048860ddf7920
0462d53c8abac020
002bdc545d6b4b87
01b69b4ba630f34e
ff20202020202020
f420202020202020
ff85202020202020
fb2e202020202020
ffcfc72020202020
fe1dc02020202020
ffed297920202020
ff439eb220202020
f8a432eb20202020
ffb669fd2e202020
fd2023e3cb202020
ffe34166e5ec2020
fee08e04fb352020
f4c58c31d00e2020
ff8fb779f2208720
fb9d2ac375454020
ffd423aba294b479
fe4964b459cf0cb2
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000002020202020
0000002020202020
0000002020202020
0000000020202020
0000000020202020
0000000000202020
0000000000202020
0000000000202020
0000000000002020
0000000000002020
0000000000000020
0000000000000020
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000002020202020
0000002020202020
0000000020202020
0000000020202020
0000000020202020
0000000000202020
0000000000202020
0000000000002020
0000000000002020
0000000000002020
0000000000000020
0000000000000020
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000002020202020
0000002020202020
0000002020202020
0000000020202020
0000000020202020
0000000000202020
0000000000202020
0000000000202020
0000000000002020
0000000000002020
0000000000000020
0000000000000020
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000002020202020
0000002020202020
0000000020202020
0000000020202020
0000000020202020
0000000000202020
0000000000202020
0000000000002020
0000000000002020
0000000000002020
0000000000000020
0000000000000020
0000000000000000
0000000000000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:786"
$at_failed && at_fn_log_failure
$at_traceon; }


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:899: \$COMPILE -fbinary-size=1--8 \\
                   -fbinary-byteorder=big-endian prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:899"
( $at_check_trace; $COMPILE -fbinary-size=1--8 \
                   -fbinary-byteorder=big-endian prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:899"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:901: ./prog"
at_fn_check_prepare_trace "data_binary.at:901"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901
123456789012
1234567890123
12345678901234
123456789012345
1234567890123456
12345678901234567
123456789012345678
-1
-12
-123
-1234
-12345
-123456
-1234567
-12345678
-123456789
-1234567890
-12345678901
-123456789012
-1234567890123
-12345678901234
-123456789012345
-1234567890123456
-12345678901234567
-123456789012345678
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:901"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_728
#AT_START_729
at_fn_group_banner 729 'data_binary.at:945' \
  "BINARY: 1--8 native" "                            " 5
at_xfail=no
(
  $as_echo "729. $at_setup_line: testing $at_desc ..."
  $at_traceon



if test "x$COB_BIGENDIAN" = "xyes"; then
{ set +x
$as_echo "$at_srcdir/data_binary.at:949: true"
at_fn_check_prepare_trace "data_binary.at:949"
( $at_check_trace; true
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:949"
$at_failed && at_fn_log_failure
$at_traceon; }

else

cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *);
int dump (unsigned char *data)
{
  int i;
  for (i = 0; i < 8; i++)
    printf ("%02x", data[i]);
  puts ("");
  return 0;
}
_ATEOF


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-dump.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:969: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "data_binary.at:969"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:969"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:970: \$COMPILE -fbinary-size=1--8 \\
                   -fbinary-byteorder=native prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:970"
( $at_check_trace; $COMPILE -fbinary-size=1--8 \
                   -fbinary-byteorder=native prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:970"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:972: ./prog"
at_fn_check_prepare_trace "data_binary.at:972"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0120202020202020
0c20202020202020
7b00202020202020
d204202020202020
3930002020202020
40e2012020202020
87d6122020202020
4e61bc0020202020
15cd5b0720202020
d202964900202020
351cdcdf02202020
141a99be1c202020
cb04fb711f012020
f22fce733a0b2020
79df0d8648700020
c0ba8a3cd5620420
874b6b5d54dc2b00
4ef330a64b9bb601
ff20202020202020
f420202020202020
85ff202020202020
2efb202020202020
c7cfff2020202020
c01dfe2020202020
7929edff20202020
b29e43ff20202020
eb32a4f820202020
2efd69b6ff202020
cbe32320fd202020
ece56641e3ff2020
35fb048ee0fe2020
0ed0318cc5f42020
8720f279b78fff20
404575c32a9dfb20
79b494a2ab23d4ff
b20ccf59b46449fe
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000002020202020
0000002020202020
0000002020202020
0000000020202020
0000000020202020
0000000000202020
0000000000202020
0000000000202020
0000000000002020
0000000000002020
0000000000000020
0000000000000020
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000002020202020
0000002020202020
0000000020202020
0000000020202020
0000000020202020
0000000000202020
0000000000202020
0000000000002020
0000000000002020
0000000000002020
0000000000000020
0000000000000020
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000002020202020
0000002020202020
0000002020202020
0000000020202020
0000000020202020
0000000000202020
0000000000202020
0000000000202020
0000000000002020
0000000000002020
0000000000000020
0000000000000020
0000000000000000
0000000000000000
0020202020202020
0020202020202020
0000202020202020
0000202020202020
0000002020202020
0000002020202020
0000000020202020
0000000020202020
0000000020202020
0000000000202020
0000000000202020
0000000000002020
0000000000002020
0000000000002020
0000000000000020
0000000000000020
0000000000000000
0000000000000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:972"
$at_failed && at_fn_log_failure
$at_traceon; }


sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:1085: \$COMPILE -fbinary-size=1--8 \\
                   -fbinary-byteorder=native prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:1085"
( $at_check_trace; $COMPILE -fbinary-size=1--8 \
                   -fbinary-byteorder=native prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1085"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:1087: ./prog"
at_fn_check_prepare_trace "data_binary.at:1087"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
12
123
1234
12345
123456
1234567
12345678
123456789
1234567890
12345678901
123456789012
1234567890123
12345678901234
123456789012345
1234567890123456
12345678901234567
123456789012345678
-1
-12
-123
-1234
-12345
-123456
-1234567
-12345678
-123456789
-1234567890
-12345678901
-123456789012
-1234567890123
-12345678901234
-123456789012345
-1234567890123456
-12345678901234567
-123456789012345678
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1087"
$at_failed && at_fn_log_failure
$at_traceon; }


fi

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_729
#AT_START_730
at_fn_group_banner 730 'data_binary.at:1133' \
  "BINARY: full-print" "                             " 5
at_xfail=no
(
  $as_echo "730. $at_setup_line: testing $at_desc ..."
  $at_traceon




sed -e 's/@USAGE@/BINARY/' "${TEMPLATE}/numeric-display.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_binary.at:1139: \$COMPILE -fbinary-size=1--8 \\
                   -fno-pretty-display prog.cob"
at_fn_check_prepare_notrace 'an embedded newline' "data_binary.at:1139"
( $at_check_trace; $COMPILE -fbinary-size=1--8 \
                   -fno-pretty-display prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1139"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:1141: ./prog"
at_fn_check_prepare_trace "data_binary.at:1141"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "001
012
00123
01234
00012345
00123456
01234567
0012345678
0123456789
0001234567890
0012345678901
0123456789012
001234567890123
012345678901234
00123456789012345
01234567890123456
00012345678901234567
00123456789012345678
-001
-012
-00123
-01234
-00012345
-00123456
-0001234567
-0012345678
-0123456789
-0001234567890
-0012345678901
-000123456789012
-001234567890123
-012345678901234
-00123456789012345
-01234567890123456
-00012345678901234567
-00123456789012345678
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1141"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_730
#AT_START_731
at_fn_group_banner 731 'data_binary.at:1185' \
  "BINARY: 64bit unsigned compare" "                 " 5
at_xfail=no
(
  $as_echo "731. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 BDU-1         USAGE BINARY-DOUBLE UNSIGNED.
       01 BDU-2         USAGE BINARY-DOUBLE UNSIGNED.
       PROCEDURE        DIVISION.
           MOVE 18446744073709551615 TO BDU-1 BDU-2
           IF BDU-1 NOT EQUAL BDU-2 THEN
           DISPLAY "FAIL"
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_binary.at:1203: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_binary.at:1203"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1203"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:1204: ./prog"
at_fn_check_prepare_trace "data_binary.at:1204"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1204"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_731
#AT_START_732
at_fn_group_banner 732 'data_binary.at:1210' \
  "BINARY: 64bit unsigned arthimetic notrunc" "      " 5
at_xfail=no
(
  $as_echo "732. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WORK-UDWORD-1 PIC 9(18) COMP.
       PROCEDURE        DIVISION.
           MOVE 18446744073709551615 TO WORK-UDWORD-1.
           DISPLAY WORK-UDWORD-1
           END-DISPLAY.
           COMPUTE  WORK-UDWORD-1 = WORK-UDWORD-1 / 2
           END-COMPUTE.
           DISPLAY WORK-UDWORD-1
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_binary.at:1230: \$COMPILE -fnotrunc prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "data_binary.at:1230"
( $at_check_trace; $COMPILE -fnotrunc prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1230"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:1231: ./prog"
at_fn_check_prepare_trace "data_binary.at:1231"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "18446744073709551615
09223372036854775807
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1231"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_732
#AT_START_733
at_fn_group_banner 733 'data_binary.at:1239' \
  "BINARY: 64bit signed negative constant range" "   " 5
at_xfail=no
(
  $as_echo "733. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WORK-DWORD-1  PIC S9(18) COMP-5 VALUE -9223372036854775808.
       PROCEDURE        DIVISION.
           DISPLAY WORK-DWORD-1 WITH NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_binary.at:1254: \$COMPILE -fnotrunc prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fnotrunc prog.cob" "data_binary.at:1254"
( $at_check_trace; $COMPILE -fnotrunc prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1254"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_binary.at:1255: ./prog"
at_fn_check_prepare_trace "data_binary.at:1255"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-09223372036854775808" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_binary.at:1255"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_733
#AT_START_734
at_fn_group_banner 734 'data_display.at:21' \
  "DISPLAY: Sign ASCII" "                            " 5
at_xfail=no
(
  $as_echo "734. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X(5).
         02 X-9         REDEFINES X PIC 9(4).
         02 X-S9        REDEFINES X PIC S9(4).
         02 X-S9-L      REDEFINES X PIC S9(4) LEADING.
         02 X-S9-LS     REDEFINES X PIC S9(4) LEADING SEPARATE.
         02 X-S9-T      REDEFINES X PIC S9(4) TRAILING.
         02 X-S9-TS     REDEFINES X PIC S9(4) TRAILING SEPARATE.
       PROCEDURE        DIVISION.
           MOVE ZERO TO X. MOVE  1234 TO X-9.     DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE  1234 TO X-S9.    DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE -1234 TO X-S9.    DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE  1234 TO X-S9-L.  DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE -1234 TO X-S9-L.  DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE  1234 TO X-S9-LS. DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE -1234 TO X-S9-LS. DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE  1234 TO X-S9-T.  DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE -1234 TO X-S9-T.  DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE  1234 TO X-S9-TS. DISPLAY X
           END-DISPLAY.
           MOVE ZERO TO X. MOVE -1234 TO X-S9-TS. DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_display.at:63: \$COMPILE -fsign=ascii prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fsign=ascii prog.cob" "data_display.at:63"
( $at_check_trace; $COMPILE -fsign=ascii prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:63"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_display.at:64: ./prog"
at_fn_check_prepare_trace "data_display.at:64"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "12340
12340
123t0
12340
q2340
+1234
-1234
12340
123t0
1234+
1234-
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:64"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_734
#AT_START_735
at_fn_group_banner 735 'data_display.at:80' \
  "DISPLAY: Sign ASCII (2)" "                        " 5
at_xfail=no
(
  $as_echo "735. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X(10).
         02 X-S99       REDEFINES X PIC S99.
         02 X-S9        REDEFINES X PIC S9 OCCURS 10.
       PROCEDURE        DIVISION.
           MOVE 0 TO X-S9(1).
           MOVE 1 TO X-S9(2).
           MOVE 2 TO X-S9(3).
           MOVE 3 TO X-S9(4).
           MOVE 4 TO X-S9(5).
           MOVE 5 TO X-S9(6).
           MOVE 6 TO X-S9(7).
           MOVE 7 TO X-S9(8).
           MOVE 8 TO X-S9(9).
           MOVE 9 TO X-S9(10).
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           MOVE -10 TO X-S99. MOVE X(2:1) TO X(1:1).
           MOVE -1 TO X-S9(2).
           MOVE -2 TO X-S9(3).
           MOVE -3 TO X-S9(4).
           MOVE -4 TO X-S9(5).
           MOVE -5 TO X-S9(6).
           MOVE -6 TO X-S9(7).
           MOVE -7 TO X-S9(8).
           MOVE -8 TO X-S9(9).
           MOVE -9 TO X-S9(10).
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_display.at:120: \$COMPILE -fsign=ascii prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fsign=ascii prog.cob" "data_display.at:120"
( $at_check_trace; $COMPILE -fsign=ascii prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:120"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_display.at:121: ./prog"
at_fn_check_prepare_trace "data_display.at:121"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0123456789pqrstuvwxy" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:121"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_735
#AT_START_736
at_fn_group_banner 736 'data_display.at:126' \
  "DISPLAY: Sign EBCDIC" "                           " 5
at_xfail=no
(
  $as_echo "736. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X           PIC X(10).
         02 X-S99       REDEFINES X PIC S99.
         02 X-S9        REDEFINES X PIC S9 OCCURS 10.
       PROCEDURE        DIVISION.
           MOVE 0 TO X-S9(1).
           MOVE 1 TO X-S9(2).
           MOVE 2 TO X-S9(3).
           MOVE 3 TO X-S9(4).
           MOVE 4 TO X-S9(5).
           MOVE 5 TO X-S9(6).
           MOVE 6 TO X-S9(7).
           MOVE 7 TO X-S9(8).
           MOVE 8 TO X-S9(9).
           MOVE 9 TO X-S9(10).
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           MOVE -10 TO X-S99. MOVE X(2:1) TO X(1:1).
           MOVE -1 TO X-S9(2).
           MOVE -2 TO X-S9(3).
           MOVE -3 TO X-S9(4).
           MOVE -4 TO X-S9(5).
           MOVE -5 TO X-S9(6).
           MOVE -6 TO X-S9(7).
           MOVE -7 TO X-S9(8).
           MOVE -8 TO X-S9(9).
           MOVE -9 TO X-S9(10).
           DISPLAY X NO ADVANCING
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_display.at:166: \$COMPILE -fsign=ebcdic prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -fsign=ebcdic prog.cob" "data_display.at:166"
( $at_check_trace; $COMPILE -fsign=ebcdic prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_display.at:167: ./prog"
at_fn_check_prepare_trace "data_display.at:167"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{ABCDEFGHI}JKLMNOPQR" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:167"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_736
#AT_START_737
at_fn_group_banner 737 'data_display.at:171' \
  "DISPLAY: unsigned" "                              " 5
at_xfail=no
(
  $as_echo "737. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-BCU         BINARY-CHAR   UNSIGNED.
       01 X-BSU         BINARY-SHORT  UNSIGNED.
       01 X-BIU         BINARY-INT    UNSIGNED.
       01 X-BLU         BINARY-LONG   UNSIGNED.
       01 X-BDU         BINARY-DOUBLE UNSIGNED.
       01 X-US          UNSIGNED-SHORT.
       01 X-UI          UNSIGNED-INT.
       PROCEDURE        DIVISION.
           MOVE 127 TO X-BCU.               DISPLAY X-BCU END-DISPLAY.
           ADD 1 TO X-BCU END-ADD.          DISPLAY X-BCU END-DISPLAY.
           MOVE 32767 TO X-BSU.             DISPLAY X-BSU END-DISPLAY.
           ADD 1 TO X-BSU END-ADD.          DISPLAY X-BSU END-DISPLAY.
           MOVE 2147483647 TO X-BIU.        DISPLAY X-BIU END-DISPLAY.
           ADD 1 TO X-BIU END-ADD.          DISPLAY X-BIU END-DISPLAY.
           MOVE 2147483647 TO X-BLU.        DISPLAY X-BLU END-DISPLAY.
           ADD 1 TO X-BLU END-ADD.          DISPLAY X-BLU END-DISPLAY.
           MOVE 9223372036854775807 TO X-BDU. DISPLAY X-BDU END-DISPLAY.
           ADD 1 TO X-BDU END-ADD.          DISPLAY X-BDU END-DISPLAY.
           MOVE 32767 TO X-US.              DISPLAY X-US  END-DISPLAY.
           ADD 1 TO X-US END-ADD.           DISPLAY X-US  END-DISPLAY.
           MOVE 2147483647 TO X-UI.         DISPLAY X-UI  END-DISPLAY.
           ADD 1 TO X-UI END-ADD.           DISPLAY X-UI  END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_display.at:204: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_display.at:204"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:204"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_display.at:205: ./prog"
at_fn_check_prepare_trace "data_display.at:205"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "127
128
32767
32768
2147483647
2147483648
2147483647
2147483648
09223372036854775807
09223372036854775808
32767
32768
2147483647
2147483648
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_display.at:205"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_737
#AT_START_738
at_fn_group_banner 738 'data_packed.at:25' \
  "PACKED-DECIMAL dump" "                            " 5
at_xfail=no
(
  $as_echo "738. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >dump.c <<'_ATEOF'

#include <stdio.h>
#define COB_LIB_EXPIMP
#include <libcob.h>
COB_EXPIMP int dump (unsigned char *);
int dump (unsigned char *data)
{
  int i;
  for (i = 0; i < 10; i++)
    printf ("%02x", data[i]);
  puts ("");
  return 0;
}
_ATEOF


sed -e 's/@USAGE@/PACKED-DECIMAL/' "${TEMPLATE}/numeric-dump.cob" > prog.cob

{ set +x
$as_echo "$at_srcdir/data_packed.at:45: \$COMPILE_MODULE dump.c"
at_fn_check_prepare_dynamic "$COMPILE_MODULE dump.c" "data_packed.at:45"
( $at_check_trace; $COMPILE_MODULE dump.c
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:46: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:46"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:47: ./prog"
at_fn_check_prepare_trace "data_packed.at:47"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1f202020202020202020
012f2020202020202020
123f2020202020202020
01234f20202020202020
12345f20202020202020
0123456f202020202020
1234567f202020202020
012345678f2020202020
123456789f2020202020
01234567890f20202020
12345678901f20202020
0123456789012f202020
1234567890123f202020
012345678901234f2020
123456789012345f2020
01234567890123456f20
12345678901234567f20
0123456789012345678f
1d202020202020202020
012d2020202020202020
123d2020202020202020
01234d20202020202020
12345d20202020202020
0123456d202020202020
1234567d202020202020
012345678d2020202020
123456789d2020202020
01234567890d20202020
12345678901d20202020
0123456789012d202020
1234567890123d202020
012345678901234d2020
123456789012345d2020
01234567890123456d20
12345678901234567d20
0123456789012345678d
0f202020202020202020
000f2020202020202020
000f2020202020202020
00000f20202020202020
00000f20202020202020
0000000f202020202020
0000000f202020202020
000000000f2020202020
000000000f2020202020
00000000000f20202020
00000000000f20202020
0000000000000f202020
0000000000000f202020
000000000000000f2020
000000000000000f2020
00000000000000000f20
00000000000000000f20
0000000000000000000f
0c202020202020202020
000c2020202020202020
000c2020202020202020
00000c20202020202020
00000c20202020202020
0000000c202020202020
0000000c202020202020
000000000c2020202020
000000000c2020202020
00000000000c20202020
00000000000c20202020
0000000000000c202020
0000000000000c202020
000000000000000c2020
000000000000000c2020
00000000000000000c20
00000000000000000c20
0000000000000000000c
0f202020202020202020
000f2020202020202020
000f2020202020202020
00000f20202020202020
00000f20202020202020
0000000f202020202020
0000000f202020202020
000000000f2020202020
000000000f2020202020
00000000000f20202020
00000000000f20202020
0000000000000f202020
0000000000000f202020
000000000000000f2020
000000000000000f2020
00000000000000000f20
00000000000000000f20
0000000000000000000f
0c202020202020202020
000c2020202020202020
000c2020202020202020
00000c20202020202020
00000c20202020202020
0000000c202020202020
0000000c202020202020
000000000c2020202020
000000000c2020202020
00000000000c20202020
00000000000c20202020
0000000000000c202020
0000000000000c202020
000000000000000c2020
000000000000000c2020
00000000000000000c20
00000000000000000c20
0000000000000000000c
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:47"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_738
#AT_START_739
at_fn_group_banner 739 'data_packed.at:162' \
  "PACKED-DECIMAL display" "                         " 5
at_xfail=no
(
  $as_echo "739. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-99          PIC 99   USAGE PACKED-DECIMAL.
       01 X-S99         PIC S99  USAGE PACKED-DECIMAL.
       01 X-999         PIC 999  USAGE PACKED-DECIMAL.
       01 X-S999        PIC S999 USAGE PACKED-DECIMAL.
       PROCEDURE        DIVISION.
           MOVE    0 TO X-99.
           DISPLAY X-99
           END-DISPLAY.
           MOVE   99 TO X-99.
           DISPLAY X-99
           END-DISPLAY.
           MOVE    0 TO X-S99.
           DISPLAY X-S99
           END-DISPLAY.
           MOVE   -1 TO X-S99.
           DISPLAY X-S99
           END-DISPLAY.
           MOVE    0 TO X-999.
           DISPLAY X-999
           END-DISPLAY.
           MOVE  123 TO X-999.
           DISPLAY X-999
           END-DISPLAY.
           MOVE    0 TO X-S999.
           DISPLAY X-S999
           END-DISPLAY.
           MOVE -123 TO X-S999.
           DISPLAY X-S999
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_packed.at:202: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:202"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:202"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:203: ./prog"
at_fn_check_prepare_trace "data_packed.at:203"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00
99
+00
-01
000
123
+000
-123
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:203"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_739
#AT_START_740
at_fn_group_banner 740 'data_packed.at:218' \
  "PACKED-DECIMAL move" "                            " 5
at_xfail=no
(
  $as_echo "740. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-99          PIC 99   USAGE PACKED-DECIMAL.
       01 X-S99         PIC S99  USAGE PACKED-DECIMAL.
       01 X-999         PIC 999  USAGE PACKED-DECIMAL.
       01 X-S999        PIC S999 USAGE PACKED-DECIMAL.
       01 C-P1234       PIC 9999  VALUE 1234.
       01 C-N1234       PIC S9999 VALUE -1234.
       PROCEDURE        DIVISION.
           MOVE C-P1234 TO X-99.
           DISPLAY X-99
           END-DISPLAY.
           MOVE C-P1234 TO X-S99.
           DISPLAY X-S99
           END-DISPLAY.
           MOVE C-P1234 TO X-999.
           DISPLAY X-999
           END-DISPLAY.
           MOVE C-P1234 TO X-S999.
           DISPLAY X-S999
           END-DISPLAY.
           MOVE C-N1234 TO X-99.
           DISPLAY X-99
           END-DISPLAY.
           MOVE C-N1234 TO X-S99.
           DISPLAY X-S99
           END-DISPLAY.
           MOVE C-N1234 TO X-999.
           DISPLAY X-999
           END-DISPLAY.
           MOVE C-N1234 TO X-S999.
           DISPLAY X-S999
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_packed.at:260: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:260"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:260"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:261: ./prog"
at_fn_check_prepare_trace "data_packed.at:261"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "34
+34
234
+234
34
-34
234
-234
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:261"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_740
#AT_START_741
at_fn_group_banner 741 'data_packed.at:276' \
  "PACKED-DECIMAL arithmetic (1)" "                  " 5
at_xfail=no
(
  $as_echo "741. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-99          PIC 99   USAGE PACKED-DECIMAL.
       01 X-S99         PIC S99  USAGE PACKED-DECIMAL.
       01 X-999         PIC 999  USAGE PACKED-DECIMAL.
       01 X-S999        PIC S999 USAGE PACKED-DECIMAL.
       PROCEDURE        DIVISION.
           INITIALIZE X-99.
           DISPLAY X-99
           END-DISPLAY.
           INITIALIZE X-S99.
           DISPLAY X-S99
           END-DISPLAY.
           INITIALIZE X-999.
           DISPLAY X-999
           END-DISPLAY.
           INITIALIZE X-S999.
           DISPLAY X-S999
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_packed.at:304: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:304"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:304"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:305: ./prog"
at_fn_check_prepare_trace "data_packed.at:305"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00
+00
000
+000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:305"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_741
#AT_START_742
at_fn_group_banner 742 'data_packed.at:316' \
  "PACKED-DECIMAL arithmetic (2)" "                  " 5
at_xfail=no
(
  $as_echo "742. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X             PIC 99 USAGE PACKED-DECIMAL VALUE 0.
       01 Y             PIC 99 USAGE PACKED-DECIMAL VALUE 9.
       PROCEDURE        DIVISION.
           COMPUTE X = 1
           END-COMPUTE.
           DISPLAY X
           END-DISPLAY.
           COMPUTE X = Y
           END-COMPUTE.
           DISPLAY X
           END-DISPLAY.
           COMPUTE X = X + Y
           END-COMPUTE.
           DISPLAY X
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_packed.at:342: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:342"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:343: ./prog"
at_fn_check_prepare_trace "data_packed.at:343"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "01
09
18
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:343"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_742
#AT_START_743
at_fn_group_banner 743 'data_packed.at:353' \
  "PACKED-DECIMAL numeric test (1)" "                " 5
at_xfail=no
(
  $as_echo "743. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X-2         PIC X(2).
         02 N-2         REDEFINES X-2 PIC 999  USAGE PACKED-DECIMAL.
         02 N-S2        REDEFINES X-2 PIC S999 USAGE PACKED-DECIMAL.
       PROCEDURE        DIVISION.
           MOVE X"0000" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           MOVE X"000c" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "OK"
            END-DISPLAY
           ELSE
            DISPLAY "NG"
            END-DISPLAY
           END-IF.
           MOVE X"000d" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "OK"
            END-DISPLAY
           ELSE
            DISPLAY "NG"
            END-DISPLAY
           END-IF.
           MOVE X"000f" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "OK"
            END-DISPLAY
           ELSE
            DISPLAY "NG"
            END-DISPLAY
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           MOVE X"1234" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           MOVE X"999f" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "OK"
            END-DISPLAY
           ELSE
            DISPLAY "NG"
            END-DISPLAY
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           MOVE X"ffff" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_packed.at:474: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:474"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:474"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:475: ./prog"
at_fn_check_prepare_trace "data_packed.at:475"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:475"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_743
#AT_START_744
at_fn_group_banner 744 'data_packed.at:494' \
  "PACKED-DECIMAL numeric test (2)" "                " 5
at_xfail=no
(
  $as_echo "744. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
         02 X-2         PIC X(2).
         02 N-2         REDEFINES X-2 PIC 999  USAGE PACKED-DECIMAL.
         02 N-S2        REDEFINES X-2 PIC S999 USAGE PACKED-DECIMAL.
       PROCEDURE        DIVISION.
           MOVE X"0000" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
           ELSE
            DISPLAY "OK"
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "NG"
           ELSE
            DISPLAY "OK"
           END-IF.
           MOVE X"000c" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
           ELSE
            DISPLAY "OK"
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "OK"
           ELSE
            DISPLAY "NG"
           END-IF.
           MOVE X"000d" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
           ELSE
            DISPLAY "OK"
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "OK"
           ELSE
            DISPLAY "NG"
           END-IF.
           MOVE X"000f" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "OK"
           ELSE
            DISPLAY "NG"
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "OK"
           ELSE
            DISPLAY "NG"
           END-IF.
           MOVE X"1234" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
           ELSE
            DISPLAY "OK"
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "NG"
           ELSE
            DISPLAY "OK"
           END-IF.
           MOVE X"999f" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "OK"
           ELSE
            DISPLAY "NG"
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "OK"
           ELSE
            DISPLAY "NG"
           END-IF.
           MOVE X"ffff" TO X-2.
           IF N-2  IS NUMERIC
            DISPLAY "NG"
           ELSE
            DISPLAY "OK"
           END-IF.
           IF N-S2 IS NUMERIC
            DISPLAY "NG"
           ELSE
            DISPLAY "OK"
           END-IF.
           STOP RUN.
_ATEOF


# TODO: Check what actual option is tested here and directly use it
{ set +x
$as_echo "$at_srcdir/data_packed.at:588: \$COMPILE -std=ibm prog.cob"
at_fn_check_prepare_dynamic "$COMPILE -std=ibm prog.cob" "data_packed.at:588"
( $at_check_trace; $COMPILE -std=ibm prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:588"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:589: ./prog"
at_fn_check_prepare_trace "data_packed.at:589"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:589"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_744
#AT_START_745
at_fn_group_banner 745 'data_packed.at:608' \
  "COMP-6 display" "                                 " 5
at_xfail=no
(
  $as_echo "745. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-99          PIC 99   USAGE COMP-6.
       01 X-999         PIC 999  USAGE COMP-6.
       PROCEDURE        DIVISION.
           MOVE    0 TO X-99.
           DISPLAY X-99
           END-DISPLAY.
           MOVE   99 TO X-99.
           DISPLAY X-99
           END-DISPLAY.
           MOVE    0 TO X-999.
           DISPLAY X-999
           END-DISPLAY.
           MOVE  123 TO X-999.
           DISPLAY X-999
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_packed.at:634: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:634"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:634"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:635: ./prog"
at_fn_check_prepare_trace "data_packed.at:635"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00
99
000
123
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:635"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_745
#AT_START_746
at_fn_group_banner 746 'data_packed.at:644' \
  "COMP-6 move" "                                    " 5
at_xfail=no
(
  $as_echo "746. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-99          PIC 99   USAGE COMP-6.
       01 X-999         PIC 999  USAGE COMP-6.
       01 B-99          USAGE BINARY-LONG.
       01 B-999         USAGE BINARY-LONG.
       PROCEDURE        DIVISION.
           MOVE    0 TO B-99.
           MOVE B-99 TO X-99.
           DISPLAY X-99
           END-DISPLAY.
           MOVE   99 TO B-99.
           MOVE B-99 TO X-99.
           DISPLAY X-99
           END-DISPLAY.
           MOVE    0  TO B-999.
           MOVE B-999 TO X-999.
           DISPLAY X-999
           END-DISPLAY.
           MOVE  123  TO B-999.
           MOVE B-999 TO X-999.
           DISPLAY X-999
           END-DISPLAY.
           MOVE B-999 TO X-99.
           DISPLAY X-99
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_packed.at:679: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:679"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:679"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:680: ./prog"
at_fn_check_prepare_trace "data_packed.at:680"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00
99
000
123
23
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:680"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_746
#AT_START_747
at_fn_group_banner 747 'data_packed.at:690' \
  "COMP-6 arithmetic" "                              " 5
at_xfail=no
(
  $as_echo "747. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 X-99          PIC 99   USAGE COMP-6.
       01 X-999         PIC 999  USAGE COMP-6.
       01 B-99          USAGE BINARY-LONG UNSIGNED.
       01 B-999         USAGE BINARY-LONG UNSIGNED.
       PROCEDURE        DIVISION.
           MOVE   99 TO B-99.
           MOVE B-99 TO X-99.
           MOVE  123  TO B-999.
           MOVE B-999 TO X-999.
           ADD  X-99  X-999 GIVING B-99
           END-ADD.
           DISPLAY B-99
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_packed.at:714: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:714"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:714"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:715: ./prog"
at_fn_check_prepare_trace "data_packed.at:715"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0000000222
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:715"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_747
#AT_START_748
at_fn_group_banner 748 'data_packed.at:721' \
  "COMP-6 numeric test " "                           " 5
at_xfail=no
(
  $as_echo "748. $at_setup_line: testing $at_desc ..."
  $at_traceon



cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 G.
          02 X-2         PIC X(2).
          02 N-3         REDEFINES X-2 PIC 999  USAGE COMP-6.
          02 N-4         REDEFINES X-2 PIC 9999 USAGE COMP-6.
       PROCEDURE        DIVISION.
           MOVE X"0000" TO X-2.
           IF N-3  IS NUMERIC
            DISPLAY "OK"
            END-DISPLAY
           ELSE
            DISPLAY "NG"
            END-DISPLAY
           END-IF.
           IF N-4  IS NUMERIC
            DISPLAY "OK"
            END-DISPLAY
           ELSE
            DISPLAY "NG"
            END-DISPLAY
           END-IF.
           MOVE X"000c" TO X-2.
           IF N-3  IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           IF N-4  IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           MOVE X"1234" TO X-2.
           IF N-3  IS NUMERIC
            DISPLAY "OK"
            END-DISPLAY
           ELSE
            DISPLAY "NG"
            END-DISPLAY
           END-IF.
           IF N-4  IS NUMERIC
            DISPLAY "OK"
            END-DISPLAY
           ELSE
            DISPLAY "NG"
            END-DISPLAY
           END-IF.
           MOVE X"ffff" TO X-2.
           IF N-3  IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           IF N-4  IS NUMERIC
            DISPLAY "NG"
            END-DISPLAY
           ELSE
            DISPLAY "OK"
            END-DISPLAY
           END-IF.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_packed.at:797: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_packed.at:797"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:797"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/data_packed.at:798: ./prog"
at_fn_check_prepare_trace "data_packed.at:798"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
OK
OK
OK
OK
OK
OK
OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_packed.at:798"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_748
#AT_START_749
at_fn_group_banner 749 'data_pointer.at:21' \
  "POINTER: display" "                               " 5
at_xfail=no
(
  $as_echo "749. $at_setup_line: testing $at_desc ..."
  $at_traceon



# Check for 32/64bit first
cat >P64.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      P64.
       DATA             DIVISION.
       PROCEDURE        DIVISION.
       >>IF P64 SET
           DISPLAY '64' WITH NO ADVANCING
           END-DISPLAY.
       >>END-IF
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_pointer.at:37: \$COMPILE P64.cob"
at_fn_check_prepare_dynamic "$COMPILE P64.cob" "data_pointer.at:37"
( $at_check_trace; $COMPILE P64.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_pointer.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }


cat >prog.cob <<'_ATEOF'

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      prog.
       DATA             DIVISION.
       WORKING-STORAGE  SECTION.
       01 PTR           USAGE POINTER VALUE NULL.
       PROCEDURE        DIVISION.
           DISPLAY PTR
           END-DISPLAY.
           SET PTR UP BY 1
           DISPLAY PTR
           SET PTR DOWN BY 1
           DISPLAY PTR
           END-DISPLAY.
           STOP RUN.
_ATEOF


{ set +x
$as_echo "$at_srcdir/data_pointer.at:56: \$COMPILE prog.cob"
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "data_pointer.at:56"
( $at_check_trace; $COMPILE prog.cob
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_pointer.at:56"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/data_pointer.at:58: ./P64"
at_fn_check_prepare_trace "data_pointer.at:58"
( $at_check_trace; ./P64
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "64" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_pointer.at:58"
if $at_failed; then :
  # Previous test "failed" --> P64 did not show '64' --> 32 bit

{ set +x
$as_echo "$at_srcdir/data_pointer.at:58: ./prog"
at_fn_check_prepare_trace "data_pointer.at:58"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0x00000000
0x00000001
0x00000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_pointer.at:58"
$at_failed && at_fn_log_failure
$at_traceon; }



else
  # Previous test "passed" --> P64 showed '64' --> 64 bit

{ set +x
$as_echo "$at_srcdir/data_pointer.at:58: ./prog"
at_fn_check_prepare_trace "data_pointer.at:58"
( $at_check_trace; ./prog
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0x0000000000000000
0x0000000000000001
0x0000000000000000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/data_pointer.at:58"
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_749
